Unmanned ship electronic chart path planning method based on jump point search method
By applying the jump search method, least squares method and Braisenham algorithm in the unmanned boat path planning, the problem of long and low efficiency of unmanned boat path planning in the existing technology is solved, efficient and optimized path planning is achieved, and the efficiency of unmanned boats is improved.
Patent Information
- Application Number
- CN202411201610.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-29
- Publication Date
- 2025-04-18
AI Technical Summary
In actual application, the existing unmanned boat target arrival path planning methods have problems such as too long planning time, low efficiency, and unoptimized path trajectory, especially in an electronic chart-based environment.
The unmanned boat electronic chart path planning method based on the point-hop search method is adopted. By obtaining electronic chart information, a grid map is established, the initial navigation path is generated using the point-hop search algorithm, the least squares method is used to optimize the path, and finally the optimal path optimization is performed through the Bresenham algorithm.
It significantly shortens the unmanned boat path planning time, improves the efficiency of maritime operations, optimizes the path trajectory, reduces the number of turns and kinetic energy losses of the unmanned boat, and generates the optimal navigation path.
Smart Images

Figure FT_1 
Figure FT_2 
Figure FT_3
Abstract
Description
Technical Field
[0001] The invention relates to the field of shipbuilding and marine engineering, and in particular to an electronic chart path planning method for an unmanned boat based on a jumping point search method. Background Art
[0002] The ocean affects the global climate, trade and human life, and provides economic, environmental and social value to countries around the world. Unmanned boats have become an indispensable tool for ocean exploration and development due to their miniaturization, autonomy and intelligence. Unmanned boat path planning is divided into unmanned boat target arrival path planning and unmanned boat coverage path planning. In the unmanned boat target arrival path planning task, there may be multiple obstacles on the path, which makes the unmanned boat target arrival path planning complicated and the planning time too long; at the same time, most studies do not plan the target arrival path of the unmanned boat based on electronic nautical chart information, and there are path optimization problems in the actual navigation of the unmanned boat. Therefore, it is of great significance to study the unmanned boat target arrival path planning and path optimization problems based on electronic nautical charts.
[0003] Scholars at home and abroad have conducted a lot of relevant research on target arrival path planning, and proposed path planning methods such as A* algorithm, Dijkstra algorithm and fast expansion random tree algorithm. From the existing unmanned boat target arrival path planning methods, the existing target arrival path planning methods still have the following shortcomings: First, the existing unmanned boat target arrival path planning algorithms are mostly concentrated in the development of non-electronic charts. In practical applications, the path planning of unmanned boat target arrival based on electronic charts will greatly improve the efficiency of unmanned boat operations at sea. Therefore, it is necessary to study the unmanned boat target arrival path planning based on electronic charts. Second, the overall planning time of the existing unmanned boat target arrival path planning algorithm is long and the planning efficiency is low. Shortening the unmanned boat path planning time is also an important research direction for unmanned boat target arrival path planning. Third, the existing research on unmanned boat target arrival path planning does not perform trajectory optimization operations on the planned path trajectory, which is not conducive to the generation of waypoints for unmanned boat navigation and will cause meaningless turning and kinetic energy loss when the unmanned boat performs the target arrival task. Summary of the invention
[0004] In order to solve the above problems, the technical solution adopted by the present invention is: a method for electronic chart path planning of an unmanned boat based on a jump point search method, comprising the following steps:
[0005] Obtain electronic chart information of electronic chart operation area;
[0006] Establish a grid map of the operating area based on electronic chart information and determine the starting and ending target points;
[0007] Relying on the grid map of the operating area, the starting point and the end point target information, the jump point search algorithm is applied to expand the subsequent waypoints according to the direction of the current waypoint and the method based on the search jump point to solve the initial navigation path of the unmanned boat;
[0008] The initial navigation path of the unmanned boat is optimized using the least squares method to obtain the straight line path of the unmanned boat.
[0009] Then, the straight-line path of the unmanned boat is optimized by the Bresenham algorithm to obtain the optimal path for the unmanned boat.
[0010] Further: the process of establishing the grid map of the operation area of the electronic chart information and determining the starting point and the end point is as follows:
[0011] The length and width information of the ocean, land and navigation obstruction area on the nautical chart information is extracted to establish a grid map with A*B having two values of 0 or 1; A represents the length of the established grid map, and B represents the width of the established grid map; the grid with a value of 0 in the grid map represents land and navigation obstruction, that is, the navigation obstruction grid; the grid with a value of 1 in the grid map represents the ocean, that is, the grid that can achieve safe navigation; each grid in the grid map is a square grid, and some grids in the established grid map at this time have both land and navigation obstruction and ocean, so these grids are treated as navigation obstructions and assigned a value of 0;
[0012] Select the latitude and longitude coordinates of the starting and ending points in the work area on the established grid map.
[0013] Further: the jump point search algorithm includes:
[0014] Definition of forced neighbor: If grid q is a neighbor of waypoint grid p, and the neighbor grid of grid q is blocked, that is, the obstruction grid, and the path length from P(p)→p→q is shorter than any other path from P(p) to grid q that does not pass through waypoint grid p, where P(p) is the previous grid jump point of waypoint grid p in the path, then grid q is the forced neighbor of waypoint grid p, and waypoint grid p is the jump point of grid q;
[0015] Jump point definition:
[0016] a. If grid y is the starting point or the target point, then grid y is the jump point;
[0017] b. If grid y has a forced neighbor, then y is a jump point;
[0018] c. If P(y) to y is a diagonal movement, and y reaches the jump point after moving horizontally or vertically, then y is the jump point, where P(y) is the previous grid jump point of grid y in the path.
[0019] Rule 1: The straight line direction represents the horizontal direction and the vertical direction, and does not include the diagonal direction. In the process of searching for jump points, if both the straight line direction and the diagonal direction can be moved, the jump point is searched in the straight line direction first, and then in the diagonal direction.
[0020] Rule 2:
[0021] a. If the movement from P(p) to waypoint grid p is a straight line, and grid q is a neighbor of waypoint grid p, if there is a path from P(p) to grid q that does not pass through waypoint grid p and the path length is less than or equal to the path from P(p) through waypoint grid p to grid q, then the next jump point after navigating to waypoint grid p will not be grid q;
[0022] b. If the movement from P(p) to p is diagonal, and grid q is a neighbor of waypoint grid p, if there is a path from P(p) to grid q that does not pass through waypoint grid p and the path length is less than the path from P(p) through waypoint grid p to grid q, then the next hop point after navigating to waypoint grid p will not be grid q;
[0023] Rule 3: Since a jump point will change the direction of navigation, while a non-jump point will not change the direction of navigation, all the waypoints found in the end are jump points.
[0024] Further: the process of solving the initial navigation path of the unmanned boat by relying on the grid map of the operation area, the starting point and the end point target information, applying the jump point search algorithm, and expanding the subsequent waypoints according to the current waypoint direction and the method based on the search jump point is as follows:
[0025] (1) Define the safe navigation grids in the grid map as an initialization set;
[0026] (2) If the current direction of the jump point is a straight line, delete this jump point in the initialization set, and then search for the jump point through the initialization set;
[0027] a. If the left rear of this jump point is not accessible but the left is accessible, that is, the left is a forced neighbor, then search for a jump point that is not in the waypoint set along the left front and left of this jump point;
[0028] b. If the current direction of this jump point is accessible, search for a jump point that is not in the waypoint set along the current direction of this jump point;
[0029] c. If the right rear of this jump point is not accessible but the right side is accessible, and the right side is a forced neighbor, then search for a jump point that is not in the waypoint set along the right front and right side of this jump point;
[0030] (3) If the current direction of the jump point is diagonal, delete this jump point in the initialization set, and then find the jump point through the initialization set;
[0031] a. If the horizontal component of the current direction of this jump point is traversable, then search for a jump point that is not in the waypoint set along the horizontal component of the current direction of this jump point;
[0032] b. If the current direction of this jump point is accessible, search for a jump point that is not in the waypoint set along the current direction of this jump point;
[0033] c. If the vertical component of the current direction of this jump point is traversable, then search for a jump point that is not in the waypoint set along the vertical component of the current direction of this jump point;
[0034] Connect all the jump points in the waypoint set with straight lines in sequence, and you will get the target arrival path from the starting point to the end point of the operation area.
[0035] Further: the process of optimizing the initial navigation path of the unmanned boat using the least squares method to obtain the straight line path of the unmanned boat is as follows:
[0036] a. Enter the coordinates of the waypoints that are not conducive to the navigation of the unmanned boat in the waypoint set: (u1, v1), (u2, v2), ..., (u n ,v n ), where u n Represents the longitude value of the nth waypoint in the electronic chart information, v n Represents the latitude value in the electronic chart information of the nth waypoint; the waypoint that is not conducive to the navigation of the unmanned boat refers to the waypoint in the waypoint set where the distance between multiple waypoints is relatively small and the continuous slope change is relatively large. The values of relatively small distance and relatively large change are determined according to the selected chart scale;
[0037] b. Establish fitting objective function Where RSS represents the residual sum of squares;
[0038] c. Fit and output the straight line path of the unmanned boat.
[0039] Further: the fitting output of the straight line path of the unmanned boat navigation adopts the following formula:
[0040] f(u)=a×u+b,
[0041] Among them, f(u) is the straight line path; a and b are constants that need to be fitted.
[0042] Further: the process of optimizing the straight line path of the unmanned boat by the Bresenham algorithm to obtain the optimal path of the unmanned boat is as follows:
[0043] a. Determine the coordinates of the starting point and end point of the straight line path, define the starting point as (u1, v1) and the end point as (u2, v2);
[0044] b. Calculate whether the absolute value of the slope of the straight path is less than 1. If so, it means that the straight path has a large change in the u direction, and you should choose to step in the u direction from the starting point; otherwise, it means that the straight path has a large change in the v direction, and you should choose to step in the v direction from the starting point;
[0045] c. Calculate the step increment. According to the slope value, calculate the u and v values that need to be increased in each step. If the absolute value of the slope is less than 1, u increases by 1 grid per step and v increases by k per step; otherwise, v increases by 1 grid per step and u increases by 1 / k per step.
[0046] d. Iterative drawing of line segments: After each step, a new coordinate value (u m ,v m ), according to (u m ,v m ) calculates the slope with (u2, v2), updates the slope in step b, determines the direction of subsequent steps, and iterates in a loop until the end point (u2, v2) is reached.
[0047] An unmanned boat electronic chart path planning device based on a jump point search method, comprising:
[0048] Acquisition module: used to obtain electronic chart information of the electronic chart operation area;
[0049] Establishment module: used to establish the grid map of the operation area of the electronic chart information and determine the starting point and the end point;
[0050] Initial navigation path module: It is used to rely on the grid map of the operating area, the starting point and the end point target information, apply the jump point search algorithm, expand the subsequent waypoints according to the current waypoint direction and the method based on the search jump point, and solve the initial navigation path of the unmanned boat;
[0051] Straight line path module: used to optimize the initial navigation path of the unmanned boat using the least squares method to obtain the straight line path of the unmanned boat;
[0052] Optimal path module: used to optimize the straight-line path of the unmanned boat through the Bresenham algorithm to obtain the optimal path for the unmanned boat.
[0053] The present invention provides an electronic chart path planning method for an unmanned boat based on a jump point search method. The present invention artificially selects the required operating area based on the electronic chart to perform target arrival path planning operations for the unmanned boat in response to different scenarios. The present invention designs a JPS algorithm for target arrival path planning of a single unmanned boat, which greatly shortens the planning time compared to traditional algorithms, thereby improving the operating efficiency of the unmanned boat at sea. The present invention optimizes the target arrival path, optimizes the jagged path trajectory using the least squares method, and uses the Bresenham algorithm to optimize the path that can be directly reached again, so that the unmanned boat has a shorter operating time, lower kinetic energy loss, fewer turns, and an optimal path trajectory.
[0054] Compared with the prior art, the present invention has the following beneficial effects:
[0055] First, compared with the traditional unmanned boat target arrival path planning algorithm, the present invention adopts the jump point search algorithm as the basic algorithm for unmanned boat path planning and plans the path for unmanned boat target arrival based on electronic nautical chart information, which shortens the planning time a lot compared with the traditional algorithm, thereby improving the efficiency of unmanned boat operations at sea.
[0056] Second, the jump point search algorithm is applied to the path planning of the unmanned boat target reaching the grid map. There is a jagged path trajectory around the obstacles, which is not conducive to the navigation of the unmanned boat. The present invention proposes to use the least squares method to optimize the jagged path to generate a straight path that is more conducive to the navigation of the unmanned boat.
[0057] Third, compared with the path trajectory of the existing unmanned boat target arrival path planning, the present invention adopts the Bresenham algorithm to determine whether there are redundant waypoints in the waypoints optimized by the JPS algorithm and the least squares method, and optimizes the path of the waypoints that can be directly reached again, eliminating meaningless waypoints, effectively shortening the time for the unmanned boat to perform operating tasks, reducing kinetic energy loss, optimizing the number of turns, and optimizing the path trajectory, thereby improving the actual navigation efficiency of the unmanned boat. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.
[0059] Figure 1 is a flow chart of the present invention;
[0060] Figure 2 The present invention is used in an actual operation area to perform a target reaching path planning simulation diagram.
[0061] Figure 3 This is a schematic diagram of the grid map of the example operation area;
[0062] Figure 4 This is a schematic diagram of the target arrival path planning using the JPS algorithm in the example operation area;
[0063] Figure 5 This is a schematic diagram of the target arrival path optimization using the JPS algorithm and the least squares method;
[0064] Figure 6 This is a schematic diagram of target arrival path optimization using JPS algorithm, least squares method and Bresenham algorithm. DETAILED DESCRIPTION
[0065] It should be noted that, in the absence of conflict, the embodiments of the present invention and the features in the embodiments may be combined with each other. The present invention will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0066] In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. The following description of at least one exemplary embodiment is actually only illustrative and is by no means intended to limit the present invention and its application or use. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0067] Figure 1 is a flow chart of the present invention;
[0068] A method for electronic chart path planning of an unmanned boat based on a jump point search method comprises the following steps:
[0069] S1: Obtaining electronic chart information of the electronic chart operation area;
[0070] S2: Establish a grid map of the operation area of the electronic chart information and determine the starting point and the end point;
[0071] S3: Based on the grid map of the operation area, the starting point and the end point target information, the Jump Point Search (JPS) algorithm is applied to expand the subsequent waypoints according to the direction of the current waypoint and the method based on the search for jump points to solve the initial navigation path of the unmanned boat;
[0072] S4: Using the least squares method, the initial navigation paths of some unmanned boats with jagged shapes that are not conducive to the navigation of unmanned boats are optimized to remove redundant waypoints, thereby reducing the number of unnecessary turns and the distance of the unmanned boat, saving the time for the unmanned boat to perform the task, reducing the kinetic energy loss of the unmanned boat, and obtaining the straight path for the navigation of the unmanned boat;
[0073] S5: The straight line path of the unmanned boat is optimized by Bresenham algorithm to obtain the optimal path of the unmanned boat.
[0074] Steps S1 / S2 / S3 / S4 / S5 are executed smoothly;
[0075] Furthermore, the electronic nautical chart information of the electronic nautical chart operation area is obtained; first, the required operation area is selected in the electronic nautical chart, and the nautical chart data information of the operation area is extracted, packaged and sent to the nautical chart information program storage set, the nautical chart information includes longitude and latitude information and navigation information, and the navigation information refers to the location information of each longitude and latitude coordinate for the ocean, land and obstacles to navigation (offshore oil platforms, reefs and shipwrecks, etc.), and the nautical chart information program storage set stores the longitude and latitude information and navigation information.
[0076] Furthermore, the process of establishing a grid map of the operation area of the electronic chart information and determining the starting point and the end point is as follows:
[0077] According to the chart information program storage set, the chart information of the operating area is received, and the length and width information of the ocean, land and obstruction area is extracted by interpreting the chart information to establish a grid map with two values of 0 or 1. A represents the length of the established grid map, and B represents the width of the established grid map; the grid with a value of 0 in the grid map represents the land and obstruction, that is, the obstruction grid; the grid with a value of 1 in the grid map represents the ocean, that is, the grid that can achieve safe navigation. In the grid map, each grid is a square grid. At this time, some grids in the established grid map have both land and obstruction, and the ocean. Therefore, these grids are treated as obstructions and assigned a value of 0. On the established grid map, the latitude and longitude coordinates of the starting point and the end point in the operating area are selected, and the grid map numerical information and the latitude and longitude coordinates of the starting point and the end point are stored in the application jump point search algorithm.
[0078] The JPS algorithm expands subsequent waypoints based on the current waypoint direction and the search jump point-based method, and follows the "two definitions, three rules" strategy in the process. The details of the strategy are as follows:
[0079] (1) Definition
[0080] Definition of forced neighbor: If grid q is a neighbor of waypoint grid p, and the neighbor grid of grid q is blocked (obstruction grid), and the path length from P(p)→p→q is shorter than any other path from P(p) to grid q that does not pass through waypoint grid p, where P(p) is the previous grid jump point of waypoint grid p in the path, then grid q is the forced neighbor of waypoint grid p, and waypoint grid p is the jump point of grid q.
[0081] Jump point definition:
[0082] a. If grid y is the starting point or the target point, then grid y is the jump point.
[0083] b. If grid y has a forced neighbor, then y is a jump point. For example, waypoint grid p is a jump point, and grid q is a forced neighbor according to the definition of forced neighbors. Therefore, such jump points and forced neighbors are associated.
[0084] c. If P(y) to y is a diagonal movement, and y can reach the jump point by moving horizontally or vertically, then y is the jump point, where P(y) is the previous grid jump point of grid y in the path.
[0085] (2) Rules
[0086] Rule 1: The straight line direction referred to in the present invention represents the horizontal direction and the vertical direction, and does not include the diagonal direction. In the process of searching for a jump point, if both the straight line direction and the diagonal direction can be moved, the jump point is searched in the straight line direction first, and then in the diagonal direction.
[0087] Rule 2:
[0088] a. If the movement from P(p) to waypoint grid p is a straight line, and grid q is a neighbor of waypoint grid p, if there is a path from P(p) to grid q that does not pass through waypoint grid p and the path length is less than or equal to the path from P(p) through waypoint grid p to grid q, then the next jump point after navigating to waypoint grid p will not be grid q.
[0089] b. If the movement from P(p) to p is diagonal, and grid q is a neighbor of waypoint grid p, if there is a path from P(p) to grid q that does not pass through waypoint grid p and the path length is less than the path from P(p) through waypoint grid p to grid q, then the next jump point after navigating to waypoint grid p will not be grid q.
[0090] Rule 3: Since a jump point will change the direction of navigation, while a non-jump point will not change the direction of navigation, all the waypoints found in the end are jump points.
[0091] The safe navigable grid in the grid map is defined as the initialization set, and all the jump points found are stored in the waypoint set generated by the JPS algorithm until the last waypoint is the end target to stop the algorithm, and then all the jump points in the waypoint set are connected in sequence with straight lines, that is, the path from the starting point of the operation area to the end target is solved.
[0092] Relying on the grid map of the operating area, the starting point and the end point target information, the jump point search algorithm (JPS) is applied to expand the subsequent waypoints according to the direction of the current waypoint and the method based on searching jump points. The steps of solving the initial navigation path of the unmanned boat are as follows:
[0093] (1) If the current direction of the jump point is a straight line, delete this jump point in the initialization set, and then search for the jump point through the initialization set.
[0094] g. If the left rear of this jump point is not accessible but the left side is accessible (i.e. the left side is a forced neighbor), then search for a jump point that is not in the waypoint set along the left front and left side of this jump point.
[0095] h. If the current direction of this jump point is accessible, search for a jump point that is not in the waypoint set along the current direction of this jump point.
[0096] i. If the right rear of this jump point is not accessible but the right side is accessible (the right side is a forced neighbor), then search for a jump point that is not in the waypoint set along the right front and right side of this jump point.
[0097] (2) If the current direction of the jump point is diagonal, delete the jump point in the initialization set, and then search for the jump point through the initialization set.
[0098] a. If the horizontal component of the current direction of this jump point is traversable (for example, if the jump point is currently in the northeast direction, the horizontal component is east and the vertical component is north), then search for a jump point that is not in the waypoint set along the horizontal component of the current direction of this jump point.
[0099] b. If the current direction of this jump point is accessible, search for a jump point that is not in the waypoint set along the current direction of this jump point.
[0100] c. If the vertical component of the current direction of this jump point is feasible (for example, if the jump point is currently in the northeast direction, the horizontal component is east and the vertical component is north), then search for a jump point that is not in the waypoint set along the vertical component of the current direction of this jump point.
[0101] Connect all the jump points in the waypoint set with straight lines in sequence, and you will get the target arrival path from the starting point to the end point of the operation area.
[0102] When the JPS algorithm is used to solve the target arrival path planning, there is a situation where the navigation path is planned along the edge of the obstacle. Multiple jump points will be generated near the obstacle grid in the grid map, which will result in some jagged path trajectories, causing the unmanned boat target arrival path trajectory to not meet actual navigation needs. At the same time, the jump point search method will generate redundant waypoints, which will cause unnecessary turning and kinetic energy loss of the unmanned boat. Therefore, the present invention optimizes the unmanned boat target arrival path trajectory through the least squares method and the Bresenham algorithm to solve the above problems.
[0103] In the waypoint set, some waypoints near obstacles that form jagged tracks that are not conducive to the navigation of the unmanned boat are fitted into a straight line path suitable for the navigation of the unmanned boat using the least squares method. The principle of fitting is that the error of all waypoints to the fitted straight line path, that is, the absolute value of the difference between the actual waypoint coordinate value and the corresponding path point coordinate value after fitting is minimized. Furthermore, the steps of fitting the straight line path of the unmanned boat navigation using the least squares method are as follows:
[0104] a. Enter the coordinates of the real waypoints that are not conducive to the navigation of the unmanned boat in the waypoint set: (u1, v1), (u2, v2), ..., (u n ,v n ), where u n Represents the longitude value of the nth waypoint in the electronic chart information, v n Represents the latitude value in the electronic chart information of the nth waypoint. The waypoints that are not conducive to the navigation of the unmanned boat refer to the waypoints in the waypoint set where the distance between multiple waypoints is relatively small and the continuous slope changes are relatively large. The values of relatively small distance and relatively large change are determined according to the selected chart scale;
[0105] b. Establish fitting objective function Where RSS stands for residual sum of squares.
[0106] c. Fit and output the straight line path f(u)=a×u+b for the navigation of the unmanned boat, where a and b are constants that need to be fitted. The straight line path is used to optimize the jagged path in the JPS algorithm that is not conducive to the navigation of the unmanned boat.
[0107] The Bresenham algorithm is an algorithm for drawing straight lines on pixel points. The pixel points are replaced with grid waypoints and a program is written to apply it to the drawing of straight line paths on grid maps. By judging whether there are redundant waypoints in the waypoints processed by the JPS algorithm and the least squares method, a straight line path formed by all waypoints is drawn, and it is judged whether the area of the straight line path passed contains obstruction information. If not, it is determined to cancel the waypoints that have no meaning of changing direction, and directly connect to the next waypoint that has the meaning of changing direction, so that the generated waypoint drawing path trajectory is optimal. Assuming that a straight line path is to be drawn from (u1, v1) to (u2, v2), the Bresenham algorithm process steps are as follows:
[0108] a. Determine the coordinates of the starting point and end point of the straight line path. Define the starting point as (u1, v1) and the end point as (u2, v2).
[0109] b. Calculate whether the absolute value of the slope is less than 1. If so, it means that the linear path has a large change in the u direction, and you should choose to step in the u direction from the starting point; otherwise, it means that the linear path has a large change in the v direction, and you should choose to step in the v direction from the starting point. The slope k calculation formula is k = (v2-v1) / (u2-u1).
[0110] c. Calculate the step increment, and calculate the u and v values that need to be increased in each step according to the slope value. If the absolute value of the slope is less than 1, u increases by 1 grid per step and v increases by k per step; otherwise, v increases by 1 grid per step and u increases by 1 / k per step.
[0111] d. Draw the line segment iteratively. Each step will get a new coordinate value (u m ,v m ), according to (u m ,v m ) calculates the slope with (u2, v2), updates the slope described in step b of the above Bresenham algorithm process, determines the direction of subsequent steps, and iterates in a loop until the end point (u2, v2) is drawn.
[0112] An unmanned boat electronic chart path planning device based on a jump point search method, comprising:
[0113] Acquisition module: used to obtain electronic chart information of the electronic chart operation area;
[0114] Establishment module: used to establish the grid map of the operation area of the electronic chart information and determine the starting point and the end point;
[0115] Initial navigation path module: It is used to rely on the grid map of the operating area, the starting point and the end point target information, apply the jump point search algorithm, expand the subsequent waypoints according to the current waypoint direction and the method based on the search jump point, and solve the initial navigation path of the unmanned boat;
[0116] Straight line path module: used to optimize the initial navigation path of the unmanned boat using the least squares method to obtain the straight line path of the unmanned boat;
[0117] Optimal path module: used to optimize the straight-line path of the unmanned boat through the Bresenham algorithm to obtain the optimal path for the unmanned boat.
[0118] The present invention applies the method to the actual operation area of Liaodong Peninsula in Liaoning Province, China to simulate the target arrival path planning, such as Figure 2 shown.
[0119] Embodiment 1: The present invention provides an unmanned boat electronic chart path planning method based on a jump point search method, comprising the following steps:
[0120] The first step is to select the required operation area from the electronic nautical chart according to the operation task requirements, and convert the chart data information of the area into a raster map.
[0121] In the second step, for a grid containing both obstacles and oceans in the established grid map, it is treated as an obstacle grid and then the latitude and longitude coordinates of the starting point and the end point are selected on the grid map to plan the target arrival path.
[0122] The third step is to use the JPS algorithm to plan the path to the target of the unmanned boat based on the starting and ending coordinates of the grid map. Figure 3 The map shown is a 5×5 grid map, where the black grid represents the obstruction grid, C is the starting point, and R is the end point.
[0123] To find the shortest path from C to R, first take out the jump point C from the initialization, delete it from the initialization, add a waypoint, the current direction of C is empty, then search for jump points along eight directions. In the figure, starting from C, there are only three directions to go: down, right, and lower right. However, searching downward to G encounters a boundary, and searching right to H encounters an obstruction, so no jump points are found. Then search for jump points along the lower right direction. At point I, according to the jump point definition c of this application, P(I) is C, P(I) to C is a diagonal movement, and I can reach jump point K by moving in the vertical direction (downward), so I is the jump point. Take out the jump point I from the initialization, delete it from the initialization, and add a waypoint. Because the current direction of I is the diagonal direction (the direction from C to I), jump points are searched in the right (horizontal component of the current direction), down (vertical component of the current direction), and lower right (current direction). In the figure, starting from I, there is only downward movement, so jump points are searched downward to find jump point K. Take out the jump point K from the initialization, delete it from the initialization, and add it to the waypoint. Because the current direction of K is a straight line (from I to K), the upper right of K is not accessible at point K, but the right, lower right, and front directions are accessible. Therefore, the jump point is searched in the right, lower right, and front directions. However, the lower right and front directions encounter boundaries, so the jump point U can only be found to the right, and U is added to the waypoint. Take out the jump point U from the initialization, and delete it from the initialization. Because the current direction of U is a straight line (from K to U), the upper left of U is not accessible, but the lower, lower right, upper right, and front directions are accessible. Therefore, the jump point is searched in the lower, lower right, upper, upper right, and front directions, but the lower, lower right, upper right, and front directions encounter boundaries, so the jump point R can only be found to the upper direction, and R is added to the waypoint. Take out the jump point R from the initialization. Since R is the target point, the path search ends, and the path is C, I, K, U, R. In the JPS algorithm path finding process, the present invention does not consider the diagonal movement from J to M, because the diagonal is blocked. The present invention uses the JPS algorithm to solve the example operation area target arrival path trajectory planning schematic diagram, such as Figure 4 shown.
[0124] The fourth step is to use the JPS algorithm to solve the target arrival path in the example operation area according to the least squares optimization method. Figure 4 There is a zigzag path trajectory, which is fitted into a straight line path suitable for the navigation of the unmanned boat using the least squares method, such as Figure 5 shown.
[0125] Step 5: Use the Bresenham algorithm to optimize the target path calculated by the JPS algorithm and optimized by the least squares method. Figure 6 This is a schematic diagram of the target arrival path planning of an unmanned boat using the method proposed by the present invention.
[0126] Before starting planning, select the operation area in the electronic chart, and determine the starting and ending positions of the unmanned boat by clicking the mouse or inputting the longitude and latitude coordinates; click the "Send Information" button on the platform to package the electronic chart data of the operation area and the position data of the unmanned boat and send them to the target arrival path planning program. After obtaining the packaged data, the target arrival path planning program converts the information of the electronic chart into a grid map including 0 or 1 values, and then uses the JPS algorithm program based on the grid map to complete the unmanned boat target arrival path planning, and then uses the least squares method and Bresenham algorithm to optimize the path planned by the JPS algorithm to obtain a smooth path trajectory.
[0127] For the planning simulation of the target arrival path of the unmanned boat, the target arrival path was obtained through the algorithm program. The number of turns of the unmanned boat after optimization was 17, which was 34% less than that without optimization. The simulation results show that the proposed algorithm reduces the number of turns of the unmanned boat, reduces the kinetic energy loss at the turns, and achieves the best path effect.
[0128] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for electronic chart path planning of an unmanned boat based on a jump point search method, characterized in that: The following steps are involved: Obtain electronic chart information of electronic chart operation area; Establish a grid map of the operating area based on electronic chart information and determine the starting and ending target points; Relying on the grid map of the operating area, the starting point and the end point target information, the jump point search algorithm is applied to expand the subsequent waypoints according to the direction of the current waypoint and the method based on the search jump point to solve the initial navigation path of the unmanned boat; The initial navigation path of the unmanned boat is optimized by using the least square method to obtain the straight line path of the unmanned boat. Then, the straight-line path of the unmanned boat is optimized by the Bresenham algorithm to obtain the optimal path for the unmanned boat.
2. The method for electronic chart path planning of an unmanned boat based on a jump point search method according to claim 1, characterized in that: The process of establishing the grid map of the operation area of the electronic chart information and determining the starting point and the end point is as follows: The length and width information of the ocean, land and navigation obstruction area on the nautical chart information is extracted to establish a grid map with A*B having two values of 0 or 1; A represents the length of the established grid map, and B represents the width of the established grid map; the grid with a value of 0 in the grid map represents land and navigation obstruction, that is, the navigation obstruction grid; the grid with a value of 1 in the grid map represents the ocean, that is, the grid that can achieve safe navigation; each grid in the grid map is a square grid, and some grids in the established grid map at this time have both land and navigation obstruction and ocean, so these grids are treated as navigation obstructions and assigned a value of 0; Select the latitude and longitude coordinates of the starting and ending points in the work area on the established grid map.
3. The method for electronic chart path planning of an unmanned boat based on a jump point search method according to claim 1, characterized in that: The jump point search algorithm includes: Definition of forced neighbor: If grid q is a neighbor of waypoint grid p, and the neighbor grid of grid q is blocked, that is, the obstruction grid, and the path length from P(p)→p→q is shorter than any other path from P(p) to grid q that does not pass through waypoint grid p, where P(p) is the previous grid jump point of waypoint grid p in the path, then grid q is the forced neighbor of waypoint grid p, and waypoint grid p is the jump point of grid q; Jump point definition: a. If grid y is the starting point or the target point, then grid y is the jump point; b. If grid y has a forced neighbor, then y is a jump point; c. If P(y) to y is a diagonal movement, and y reaches the jump point after moving horizontally or vertically, then y is the jump point, where P(y) is the previous grid jump point of grid y in the path. Rule 1: The straight line direction represents the horizontal direction and the vertical direction, and does not include the diagonal direction. In the process of searching for jump points, if both the straight line direction and the diagonal direction can be moved, the jump point is searched in the straight line direction first, and then in the diagonal direction. Rule 2: a. If the movement from P(p) to waypoint grid p is a straight line, and grid q is a neighbor of waypoint grid p, if there is a path from P(p) to grid q that does not pass through waypoint grid p and the path length is less than or equal to the path from P(p) through waypoint grid p to grid q, then the next jump point after navigating to waypoint grid p will not be grid q; b. If the movement from P(p) to p is diagonal, and grid q is a neighbor of waypoint grid p, if there is a path from P(p) to grid q that does not pass through waypoint grid p and the path length is less than the path from P(p) through waypoint grid p to grid q, then the next hop point after navigating to waypoint grid p will not be grid q; Rule 3: Since a jump point will change the direction of navigation, while a non-jump point will not change the direction of navigation, all the waypoints found in the end are jump points.
4. The method for electronic chart path planning of an unmanned boat based on a jump point search method according to claim 3 is characterized in that: The process of solving the initial navigation path of the unmanned boat by relying on the grid map of the operation area, the starting point and the end point target information, applying the jump point search algorithm, and expanding the subsequent waypoints according to the current waypoint direction and the method based on the search jump point is as follows: (1) Define the safe navigation grids in the grid map as an initialization set; (2) If the current direction of the jump point is a straight line, delete this jump point in the initialization set, and then search for the jump point through the initialization set; a. If the left rear of this jump point is not accessible but the left is accessible, that is, the left is a forced neighbor, then search for a jump point that is not in the waypoint set along the left front and left of this jump point; b. If the current direction of this jump point is accessible, search for a jump point that is not in the waypoint set along the current direction of this jump point; c. If the right rear of this jump point is not accessible but the right side is accessible, and the right side is a forced neighbor, then search for a jump point that is not in the waypoint set along the right front and right side of this jump point; (3) If the current direction of the jump point is diagonal, delete this jump point in the initialization set, and then find the jump point through the initialization set; a. If the horizontal component of the current direction of this jump point is traversable, then search for a jump point that is not in the waypoint set along the horizontal component of the current direction of this jump point; b. If the current direction of this jump point is accessible, search for a jump point that is not in the waypoint set along the current direction of this jump point; c. If the vertical component of the current direction of this jump point is traversable, then search for a jump point that is not in the waypoint set along the vertical component of the current direction of this jump point; Connect all the jump points in the waypoint set with straight lines in sequence, and you will get the target arrival path from the starting point to the end point of the operation area.
5. The method for electronic chart path planning of an unmanned boat based on a jump point search method according to claim 1, characterized in that: The process of optimizing the initial navigation path of the unmanned boat by using the least square method to obtain the straight line path of the unmanned boat is as follows: a. Enter the coordinates of the waypoints that are not conducive to the navigation of the unmanned boat in the waypoint set: (u1, v1), (u2, v2), ..., (u n ,v n ), where u n Represents the longitude value of the nth waypoint in the electronic chart information, v n Represents the latitude value of the nth waypoint in the electronic chart information; b. Establish fitting objective function Where RSS represents the residual sum of squares; c. Fit and output the straight line path of the unmanned boat.
6. The method for electronic chart path planning of an unmanned boat based on a jump point search method according to claim 1, characterized in that: The fitting output of the straight line path of the unmanned boat navigation adopts the following formula: f(u)=a×u+b, Among them, f(u) is the straight line path; a and b are constants that need to be fitted.
7. The method for electronic chart path planning of an unmanned boat based on a jump point search method according to claim 1, characterized in that: The process of optimizing the straight line path of the unmanned boat by the Bresenham algorithm to obtain the optimal path of the unmanned boat is as follows: a. Determine the coordinates of the starting point and end point of the straight line path, define the starting point as (u1, v1) and the end point as (u2, v2); b. Calculate whether the absolute value of the slope of the straight path is less than 1. If so, it means that the straight path has a large change in the u direction, and you should choose to step in the u direction from the starting point; otherwise, it means that the straight path has a large change in the v direction, and you should choose to step in the v direction from the starting point; c. Calculate the step increment. According to the slope value, calculate the u and v values that need to be increased in each step. If the absolute value of the slope is less than 1, u increases by 1 grid per step and v increases by k per step; otherwise, v increases by 1 grid per step and u increases by 1 / k per step. d. Iterative drawing of line segments: After each step, a new coordinate value (u m ,v m ), according to (u m ,v m ) calculates the slope with (u2, v2), updates the slope in step b, determines the direction of subsequent steps, and iterates in a loop until the end point (u2, v2) is reached.
8. An unmanned boat electronic chart path planning device based on a jump point search method, characterized in that: include: Acquisition module: used to obtain electronic chart information of the electronic chart operation area; Establishment module: used to establish the grid map of the operation area of the electronic chart information and determine the starting point and the end point; Initial navigation path module: It is used to rely on the grid map of the operating area, the starting point and the end point target information, apply the jump point search algorithm, expand the subsequent waypoints according to the current waypoint direction and the method based on the search jump point, and solve the initial navigation path of the unmanned boat; Straight line path module: used to optimize the initial navigation path of the unmanned boat using the least squares method to obtain the straight line path of the unmanned boat; Optimal path module: used to optimize the straight-line path of the unmanned boat through the Bresenham algorithm to obtain the optimal path for the unmanned boat.