Coverage scanning path planning method based on unmanned aerial vehicle view model
Through the path planning method based on the drone field model, the problem of full coverage scanning of drones in complex areas is solved, and efficient and blind spot-free scanning effect is achieved, which is suitable for a variety of application fields.
Patent Information
- Application Number
- CN202510129012.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-05
- Publication Date
- 2025-06-10
AI Technical Summary
In tasks in complex areas, it is difficult for the prior art to realize full coverage scanning path planning for drones, especially when there are multiple avoidance areas and no-fly areas in irregular polygonal areas, path planning becomes complex and challenging.
The overlay scanning path planning method based on the drone field model is adopted to ensure that the drone does not miss any area during the scanning process by determining the scanning width, converting complex areas into holed polygons, decomposing them into block units, planning the block access sequence and generating scan paths.
It has achieved full coverage scanning without omissions in complex areas, avoided blind spots in the field of vision when the drone is turning, improved the efficiency of mission execution, and is suitable for agricultural, forestry and plant protection, fire protection and disaster relief, counter-terrorism rescue and other fields.
Smart Images

Figure CN120121047A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of unmanned aerial vehicle (UAV) area scanning, and in particular to a coverage scanning path planning method based on an unmanned aerial vehicle (UAV) field of view model. Background Art
[0002] In recent years, rotary-wing UAVs have been widely used in many fields such as power inspection, agricultural and forestry plant protection, and anti-terrorism rescue due to their flexible movements, simple control, wide field of view, and variable payload. In these applications, coverage path planning for simple areas has been fully utilized in actual operations and can effectively improve the efficiency of task execution. However, for tasks in complex areas, the situation is more complicated and difficult. These complex areas often appear as irregular polygons, and there may be multiple avoidance zones, no-fly zones, or areas where the altitude does not meet the flight requirements. These factors make path planning more difficult and challenging.
[0003] When performing a coverage area scanning mission, the drone's field of view needs to follow the route to ensure full coverage of the reconnaissance area. Therefore, the scanning width of the drone during coverage scanning is crucial to improving mission efficiency and obtaining high-quality images, especially for the continuity of the scanning area when the drone turns. If the setting is unreasonable, it may cause blind spots when the drone turns, making it impossible to achieve full coverage scanning of the area. At present, there is no reasonable field of view model setting that can derive the drone's area coverage scanning width when the flight altitude, horizontal field of view angle, and reconnaissance overhead angle are known.
[0004] Therefore, it is urgent to develop a scientific and reasonable field of view model to optimize the coverage path planning of drones in complex area missions and ensure efficient and blind-spot-free area scanning. This can not only improve the mission execution effect of drones, but also further expand their application potential in various fields. Summary of the invention
[0005] In view of the above analysis, the present invention aims to disclose a coverage scanning path planning method based on the UAV field of view model; a scientific and reasonable field of view model is used to determine the scanning width to solve the problem of full coverage scanning path planning without omissions in complex areas.
[0006] The present invention discloses a coverage scanning path planning method based on an unmanned aerial vehicle vision model, comprising:
[0007] Step S1, determining the scanning width of the drone when performing an area scanning task based on the drone field of view model;
[0008] In the UAV vision model, the scanning width is determined according to the flight altitude, horizontal field of view angle, and bird's-eye view angle of the UAV's mission, so that when the UAV scans with the scanning width, it can scan the area without omission by combining the scanning coverage strip of the direct flight and the scanning area when turning;
[0009] Step S2, converting the complex task area to be scanned by the drone into a polygon with holes;
[0010] Step S3, decomposing the polygon with holes by using the ox-plowing block unit to generate multiple block units;
[0011] Step S4, determining the routing order of the block units, and generating a scanning path covered by a single slope scanning line in each block unit, wherein the interval between adjacent scanning lines in the scanning path is the scanning width determined in step S1;
[0012] Step S5: Connect the scanning paths of the various block units in series to form a planned coverage scanning path.
[0013] Furthermore, in the UAV vision model, the distortion-free line length of the UAV vision trapezoidal range is determined as the scanning width w according to the flight altitude, horizontal field of view angle, and top-down viewing angle of the UAV mission. sweep ;
[0014]
[0015] Among them, h is the flight altitude of the UAV performing the mission; α is the horizontal field of view angle, and θ is the top-down viewing angle.
[0016] Furthermore, step S4 includes:
[0017] Step S401: for the multiple block units decomposed from the polygon with holes in step S3, plan the block access order, establish the TSP problem by finding the shortest path between each block unit, and use the Hungarian algorithm to solve it, and generate the path planning between each block unit;
[0018] Step S402, establish a path loss criterion, visit each block unit in the order planned in step S401, and use a greedy algorithm to process the path planning problem from the starting point until the entire block unit is scanned, so that the loss of the entire path is minimized.
[0019] Furthermore, the calculation process of the block path planning in step S401 includes:
[0020] 1) Determine the distance between two block units;
[0021] Determine whether two block units are adjacent. If so, the distance is 0. If not, traverse each vertex and calculate the path length of the shortest path combination as the matrix element in the shortest path matrix.
[0022] 2) Initialize two matrices for dynamic programming; one for storing the cost of the shortest path and the other for storing the current path;
[0023] 3) Solve the traveling salesman problem through dynamic programming, update the shortest path and cost of visiting all block units in the two matrices, and obtain the block access sequence with the shortest path.
[0024] Furthermore, in step S402, a greedy algorithm is used to process the coverage path planning problem of each block, so that the formula for minimizing the internal path loss of each block is:
[0025] Cost k =L path-k / V l +n path-k ×90 / V a
[0026] In the formula, Cost k represents the path loss of the kth block;
[0027] L path-k It represents the total length of the path after completing the k-th block scan starting from the current point;
[0028] n path-k Indicates the number of path points after completing the k-th block scan starting from the current point;
[0029] V l Represents the weight coefficient of length, V a Represents the weight coefficient of steering.
[0030] Furthermore, in the coverage path planning within the block unit, scan lines are generated at equal intervals of the scan width starting from the scan starting point; when the position where the generation ends is not large enough to place a scan line, the distance from the vertex of the block unit to the coverage line is checked; when the distance from the vertex to the coverage line is less than half of the scan width, a scan line is added that passes through the vertex.
[0031] Furthermore, in step S5, the scanning paths of the respective block units are connected in series to form a path point sequence of a complete coverage path; the path point sequence includes a line segment point sequence of two path attributes, namely, a scanning line and a connecting line: the scanning line and the connecting line alternately form a coverage scanning path;
[0032] Scan line is the path line that plays an actual scanning role in coverage scanning;
[0033] A connection line is a path line connecting two scan lines, and each scan line is connected in series;
[0034] Types of connecting cables include:
[0035] Internal connection lines of blocks represent the connection lines inside blocks;
[0036] The connection lines between blocks represent the connection lines between blocks;
[0037] The connecting lines of the drone’s starting point and end point represent the connecting line from the drone’s starting point to the scan line, and the connecting line from the scan line to the drone’s end point.
[0038] Furthermore, the complex mission area to be scanned by the UAV is converted into a polygon with holes through Boolean operations; wherein the inner hole of the polygon with holes is not part of the polygon, and its outer contour and inner hole contour are both simple polygons, the outer contour is the overall boundary of the complex mission area, and the inner hole contour is the boundary of the obstacle or avoidance zone in the complex mission area.
[0039] Furthermore, in step S3, the cattle-ploughing block unit is decomposed into an improved cattle-ploughing block unit decomposition; comprising:
[0040] Step S301, determining the sides of the polygon with holes according to the vertices of the polygon with holes;
[0041] Step S302: Select the vertical directions of each side of the polygon as all possible decomposition directions;
[0042] Step S303: for each possible decomposition direction, use the best bidirectional covering decomposition (BCD) algorithm to calculate multiple polygonal units formed by decomposition in the direction;
[0043] Step S304, respectively obtain the optimal scanning direction of each polygonal unit, and use the vertical direction of the scanning direction as the height of the decomposition unit, and calculate the minimum height sum of these decomposition units;
[0044] Step S305, by comparing the minimum height sums obtained under different decomposition directions, finally determining the best decomposition result;
[0045] Step S306: The multiple units obtained by the optimal decomposition are merged to form a final block unit; each of the final block units can be covered and scanned in one scanning direction.
[0046] Furthermore, the merging process in step S306 starts from the unit with a smaller area, finds another unit with the longest intersection line with it, and attempts to merge it; the conditions for unit merging include: the newly formed unit can find a scanning direction so that any scanning line passing through the unit in the scanning direction has no more than two intersections with the unit; the height of the merged unit is less than or equal to the height of the unit before the merger.
[0047] The present invention can achieve one of the following beneficial effects:
[0048] The coverage scanning path planning method based on the UAV field of view model disclosed in the present invention determines the scanning width of the UAV when performing an area scanning task, while ensuring the coverage scanning efficiency, avoiding the blind spots that may appear during the UAV's turning process; it can take into account the meter-level comprehensive error of the UAV's observation field of view, and can maximize the use of the field of view.
[0049] The present invention also improves the ox-ploughing block unit decomposition process, not only for areas with densely distributed PWH holes, but also for areas with irregular outer boundaries (concave polygons), forming a reasonable division of the graph, which is beneficial to the subsequent scanning path planning;
[0050] The block routing connection problem is also solved through the TSP problem, and the coverage path planning problem of each block is processed using the greedy algorithm to minimize the internal path loss of each block.
[0051] Compared with the prior art, the method of the present invention can quickly generate a drone full coverage scanning path for complex blocks, greatly improving the efficiency of task execution. The method is applicable to the fields of agricultural and forestry plant protection, firefighting and disaster relief, anti-terrorism and rescue, and significantly improves the efficiency of task execution. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] The drawings are only for the purpose of illustrating specific embodiments and are not to be considered limiting of the present invention. Like reference symbols denote like components throughout the drawings.
[0053] Figure 1 This is a flow chart of a coverage scanning path planning method based on a UAV field of view model in an embodiment of the present invention;
[0054] Figure 2 Schematic diagram of the field of view model of the optoelectronic pod of the UAV in an embodiment of the present invention;
[0055] Figure 3 A three-dimensional image of the field of view of the drone in an embodiment of the present invention;
[0056] Figure 4 is a graph showing the relationship between the range of the top-down viewing angle θ and the horizontal viewing angle α in an embodiment of the present invention;
[0057] Figure 5 This is a diagram showing the change in the field of view when the drone turns in the embodiments of the present invention;
[0058] Figure 6 This is a diagram showing an exemplary perforated polygon in the embodiments of the present invention;
[0059] Figure 7 This is a diagram showing an example of the attributes of a path segment in the embodiments of the present invention;
[0060] Figure 8 This is a diagram showing an example of the composition of typical path points in the embodiments of the present invention;
[0061] Fig. 9 This is a diagram showing an example of a typical path division result in the embodiments of the present invention;
[0062] Fig.10 This is a diagram showing an example of the selection result of the starting and ending points of a typical path segment in the embodiments of the present invention. Detailed implementation manners
[0063] The following will specifically describe the preferred embodiments of the present invention with reference to the accompanying drawings, where the accompanying drawings form a part of this application and are used together with the embodiments of the present invention to illustrate the principles of the present invention.
[0064] An embodiment of the present invention discloses a coverage scanning path planning method based on a drone vision model, as Figure 1 shown, including:
[0065] Step S1: Determine the scanning width when the drone performs an area scanning task based on the drone vision model;
[0066] In the drone vision model, determine the scanning width according to the flight altitude, horizontal field of view angle, and top-down view angle of the drone when it performs the task, so that when the drone scans with this scanning width, it combines the straight flight scanning coverage strips and the scanning areas during turning to achieve non-missing scanning of the area;
[0067] Step S2: Convert the complex task area to be scanned by the drone into a perforated polygon;
[0068] Step S3: Decompose the perforated polygon by a plowing-block unit to generate multiple block units;
[0069] Step S4: Determine the routing order of the block units and generate a scanning path covered by a single-slope scanning line within each block unit, and the interval between adjacent scanning lines in the scanning path is the scanning width determined in Step S1;
[0070] Step S5: Connect the scanning paths of each block unit to form a planned coverage scanning path.
[0071] Specifically, in the UAV vision model, the length of the undistorted line of the UAV vision's trapezoidal range determined according to the flight altitude, horizontal field of view angle, and downward viewing angle of the UAV performing tasks is used as the scanning width w sweep ;
[0072]
[0073] Among them, h is the flight altitude of the UAV performing tasks; α is the horizontal field of view angle, and θ is the downward viewing angle.
[0074] In this embodiment, the UAV reconnaissance relies on an optoelectronic pan-tilt. When the optoelectronic pan-tilt of the UAV observes at an angle obliquely downward, a trapezoidal observation range will appear on the flat ground. Figure 2 The schematic diagram of the UAV vision range is shown. The longitudinal sectional view on the right is used to assist in marking the angles in the vision model. The position of point O in the figure is the shooting center position of the UAV optoelectronic pan-tilt. O' in the figure is the projection point of the pan-tilt on the observation plane. The height OO' of the UAV optoelectronic pan-tilt relative to the ground is h. The trapezoid ABCD represents the vision range of the pod, as Figure 2 shown.
[0075] In the quadrangular pyramid formed by the trapezoid ABCD and the UAV pan-tilt center position O, OI is the vision center line, and the angle θ between OI and the horizontal direction is the observation downward viewing angle of the pan-tilt. When the pan-tilt is vertically downward, θ is 90 degrees; when it is horizontally forward, θ is 0 degrees. ∠EOG represents the horizontal field of view angle α of the pan-tilt, ∠HOF represents the vertical field of view angle β of the pan-tilt, ∠AOC or ∠BOD represents the diagonal field of view angle γ, and ∠BOC represents the horizontal observation angle κ. m is the number of horizontal pixels of the pan-tilt camera, and n is the number of vertical pixels of the pan-tilt camera.
[0076] Considering that the current optoelectronic pan-tilt uses 1080P (m = 1920, n = 1080) or 720P (m = 1280, n = 720) rectangular imaging output and using the pinhole camera model for analysis, the following relationships are established:
[0077]
[0078] Then, the coordinates of each point of the trapezoid ABCD determined according to the above relationships:
[0079]
[0080] Through further geometric derivation, the length of the undistorted line EG of the trapezoid ABCD in the UAV aerial photography range is obtained
[0081]
[0082] Set the height of the drone from the ground to be 100 meters. According to the above formula, draw a three-dimensional view of the drone's field of view. Set the horizontal field of view angle α to 30°, 45°, 60°, and the downward viewing angle θ of the pan-tilt head to 90°, 60°, 30°, and set the geometric coordinates in equal proportion, such as Figure 3 shown. The variation relationships of the field of view widths AD, EG, BC with θ and α are sorted out in Table 1 as follows.
[0083] Figure 3 Among them, the red field of view corresponds to θ = 90°, the blue field of view corresponds to θ = 60°, and the green field of view corresponds to θ = 30°. (a) Field of view range when the horizontal field of view angle α is 30°; (b) Field of view range when the horizontal field of view angle α is 45°; (c) Field of view range when the horizontal field of view angle α is 60°;
[0084] Table 1 Relationship between the field of view widths AD, EG, BC and the downward viewing angle θ of the pan-tilt head and the horizontal field of view angle α of the pan-tilt head when the height of the drone from the ground is 100 meters:
[0085] Table 1
[0086]
[0087] It can be seen from this that the smaller the value of the pan-tilt head viewing angle θ, the larger the field of view range of the drone, and the larger the ratio of the long side to the short side of the trapezoidal field of view range; the larger the value of the horizontal field of view angle α of the pan-tilt head, the larger the field of view coverage area.
[0088] In the drone aerial photography task, reasonably determining the scanning width w of the aerial photography range sweep is crucial for improving the task efficiency and obtaining high-quality images. Considering the downward oblique viewing angle of the drone and the error of the positioning accuracy of the drone and the pod, in the solution of this embodiment, the distortion-free line length EG of the trapezoidal field of view is selected as the scanning width, which can not only take into account the meter-level comprehensive error of the drone's viewing field, but also make the best use of the field of view to the greatest extent.
[0089] In this embodiment, a rotor drone is taken as an example. When the rotor drone performs scanning coverage, due to its flight characteristics, the limitation of the turning radius can be ignored. However, when the drone turns, it is necessary to ensure that the field of view is effective, that is, θ≥β / 2, and at the same time ensure that there is no field of view blind area, that is, EG / 2≥O’H. The following formula is obtained after sorting:
[0090]
[0091] Taking the common horizontal field of view angles from 63.7° to 2.3° as an example, draw the value range of θ as shown in Figure 4 shown, and sort out the boundary points in Table 2.
[0092] Table 2 Table of the variation relationship of the θ value boundary with α
[0093]
[0094] When the height h of the UAV from the ground is 100 m, the horizontal field of view angle α is 45°, and the downward view angle θ of the UAV is 60°, the coverage relationship between the scanned coverage strip and the scanned area when the UAV turns is drawn. At this time, the scanning width w sweep = 95.66 m, as Figure 5 shown. Using the scanning width of this embodiment, no scanned area will be missed when the UAV turns at any angle after hovering. Therefore, the scanning width determined by this embodiment can not only take into account the meter-level comprehensive error of the UAV's observation field of view, but also make the best use of the field of view to the greatest extent.
[0095] Specifically, in step S2, the complex task area to be scanned by the UAV is converted into a polygon with holes (PWH) through Boolean operations; among them, the inner holes of the polygon with holes do not belong to a part of the polygon, and its outer contour and inner hole contour are both simple polygons. The outer contour is the overall boundary of the complex task area, and the inner hole contour is the boundary of the obstacles or avoidance areas within the complex task area.
[0096] Both the outer contour and the inner hole contour of the PWH are simple polygons, but both its internal and external contours can be concave polygons. This characteristic enables the PWH to more accurately represent complex shapes and regions in the real world, especially in computer graphics and geographic information systems (GIS).
[0097] As Figure 6 shown, it is a typical example diagram of a polygon with holes.
[0098] Specifically, in step S3, the polygon with holes is decomposed into multiple block units; while enabling each block unit to perform coverage scanning in one scanning direction, the number of block units is reduced as much as possible to avoid adding more scanning bending points, thereby improving the scanning efficiency.
[0099] Specifically, the boustrophedon cellular decomposition (BCD) is an improved boustrophedon cellular decomposition; the boustrophedon cellular decomposition is a block decomposition algorithm that provides a preliminary preparation for coverage path planning by decomposing the environment into multiple blocks.
[0100] In the conventional optimal bidirectional coverage decomposition BCD algorithm, when an IN event or an OUT event occurs, the decomposition or merger of cells will be formed. However, in areas where the hole distribution of the PWH is relatively dense, these decompositions or mergers will lead to dense divisions of the graph, which is not conducive to subsequent scanning path planning. Therefore, in this embodiment, the boustrophedon cellular decomposition is improved; specifically including:
[0101] Step S301: Determine each side of the polygon with holes based on each vertex of the polygon with holes.
[0102] Step S302: Select the vertical direction of each side of the polygon as all possible decomposition directions.
[0103] Step S303: For each possible decomposition direction, use the Best Bi - directional Coverage Decomposition (BCD) algorithm to calculate multiple polygon units formed by decomposition in this direction.
[0104] Step S304: Respectively obtain the optimal scanning direction of each polygon unit, and use the vertical direction of this scanning direction as the height of the decomposition unit, and calculate the sum of the minimum heights of these decomposition units.
[0105] The existing plow - like block unit decomposition can be used to determine the optimal scanning direction.
[0106] Step S305: By comparing the sums of the minimum heights obtained in different decomposition directions, finally determine the best decomposition result.
[0107] Step S306: The multiple units obtained by the best decomposition are then processed through merging to form the final block units.
[0108] In the merging process, starting from the unit with a smaller area, find another unit with the longest intersection line with it and attempt to merge. The merger needs to meet the following two conditions: First, the newly formed unit can find a scanning direction such that any scanning line passing through the unit in this scanning direction has no more than two intersections with the unit, that is, the newly formed merged unit can be effectively scanned; Second, the height of the merged unit is less than or equal to the height of the unit before merging, that is, the newly formed merged unit has a more reasonable scanning plan. The merged unit that meets the above two conditions reduces the number of block units and can avoid adding more scanning bending points, thereby improving the scanning efficiency.
[0109] Specifically, Step S4 of determining the routing order of the block units and generating a scanning path covered by a single - slope scanning line within each block unit includes:
[0110] Step S401: For the multiple block units obtained by decomposing the polygon with holes in Step S3, plan the block access order. By obtaining the shortest path between each block unit, establish a Traveling Salesman Problem (TSP) and use the Hungarian algorithm to solve it to generate the path planning between each block unit.
[0111] Before covering path planning, it is necessary to clarify the access order of each block unit, converting the global scanning planning problem into the scanning planning problems of individual blocks. Therefore, in this embodiment, the shortest paths between each block are obtained, the TSP problem is established, and the Hungarian algorithm is used to solve it, generating the path planning between each block.
[0112] Given that the complexity of scanning path planning within the PWH is relatively low, the Dijkstra algorithm or A* algorithm can be used to obtain the paths between any two points within the PWH and calculate the path lengths. Calculate and fill the "shortest distance matrix" to obtain the shortest paths between each unit.
[0113] Specifically, the calculation process of path planning includes:
[0114] 1) Determine the distance between two block units;
[0115] Determine whether two block units are adjacent. If they are adjacent, the distance is 0. If they are not adjacent, then traverse each vertex, calculate the shortest path combination and calculate the path length as the matrix element in the shortest path matrix. According to different situations of single machine or multi-machine and whether there is a fixed end point, it is necessary to determine whether to put the starting point and the end point into the shortest path matrix;
[0116] 2) Initialize two matrices for dynamic programming; one is used to store the cost of the shortest path, and the other is used to store the current path;
[0117] 3) Solve the Traveling Salesman Problem (TSP) through dynamic programming, update and recursively calculate the shortest paths and costs of accessing all block units in the two matrices, and obtain the access order of the blocks with the shortest paths.
[0118] Since the scale of the current merged block units is limited, the Traveling Salesman Problem can be solved through a dynamic programming function. This function recursively calculates the shortest paths of accessing all block units and updates these paths and costs in the two matrices; if all nodes have been visited, it returns the distance to the end point. The function traverses each unvisited unit, updates the shortest path and records the path. The function reconstructs the path from the path matrix by backtracking from the end point to the starting point.
[0119] Step S402, establish a path loss criterion, access each block unit in the order planned in step S401, and use the greedy algorithm to handle the path planning problem from the starting point until the entire block unit is scanned, so that the loss of the entire path is the lowest.
[0120] Use the greedy algorithm to handle the covering path planning problem of each block, so that the internal path loss of each block is the lowest. The formula is as follows:
[0121] Cost k =Lpath-k / V l +n path-k ×90 / V a
[0122] In the formula, Cost k represents the path loss of the k-th block;
[0123] L path-k represents the total path length after completing the scan of the k-th block starting from the current point;
[0124] n path-k represents the number of path points after completing the scan of the k-th block starting from the current point;
[0125] V l represents the weight coefficient of length, which is approximately estimated at 10 m / s in this scheme;
[0126] V a represents the weight coefficient of turning, which is approximately estimated at 60° / s in this scheme.
[0127] When calculating the coverage path of the block unit, first select an arbitrary starting point of a drone as the "current point" (since there is still a subsequent path allocation link, this selection does not represent the final allocation). Starting from the "current point", perform the scan planning for each block unit in sequence according to the routing order; for each block unit, analyze all feasible scan directions and calculate all possible unit scan paths, and record the starting point of each unit scan scheme as the "unit starting point".
[0128] Calculate the path planning from the "current point" to each "unit starting point" and the scan path planning inside the block unit respectively. Next, starting from the "current point", traverse all the calculated scan path schemes, calculate the total length and the number of turns (i.e., the number of path points) of each path, and calculate the path loss of different planning schemes according to the given length weight and turning weight. The path with the lowest loss is selected as the optimal path and recorded as the scan path of the current block unit, and at the same time, record the end point of the scan path of the current block unit as the starting point of the next path (i.e., the "current point") to start the scan planning of the next block unit.
[0129] The scan lines for area coverage path planning are generated at equal intervals starting from the scan start point. However, at the end position of the generation, there may be a situation where there is not enough space to place a scan line, which may lead to insufficient coverage. Therefore, to avoid insufficient coverage, the distance from the vertices of each block unit to the coverage scan line should be verified. Since the vertices of the block unit are the prominent positions of the convex polygon, if these vertices are all covered, it means that the scan line also covers the entire block; if the distance from the vertex to the coverage line is less than half of the scan width, a scan line passing through the vertex needs to be added.
[0130] After completing the scan planning for all units, check whether it is necessary to complete the scan task at the specified end point (only in the case of a single machine with an end point). If necessary, add a path planning section from the "current point" to the specified end point.
[0131] After completing the scan planning for all units, in step S5, concatenate the sweep paths of each block unit to form a sequence of path points of a complete coverage path; the sequence of path points includes a sequence of line points with two path attributes, the sweep line and the connection line: the sweep line and the connection line alternate to form the coverage sweep path.
[0132] Sweep Line (SL): The path line that actually performs the scanning function in the coverage scan.
[0133] Connection Line (CL): The path line that connects two scan lines and is used to concatenate each scan line to achieve the path planning effect.
[0134] In the coverage scan, the actual coverage is achieved by the sweep line, while the connection line, as an auxiliary path line, is used to concatenate each scan line to achieve the path planning effect.
[0135] In the coverage scan, the PWH is divided into different internal blocks, and within each block, the internal area of the block is scanned by the planned sweep line. The internal area of the block can include multiple sweep lines with different scan directions to achieve a more comprehensive coverage scan; the sweep lines within the block, the sweep lines between blocks, as well as the starting point and the end point of the drone are connected by the connection line.
[0136] Based on this, the connection line (CL) further includes the following types:
[0137] Sweep Connection Line (SCL): Represents the connection line within the block.
[0138] Block Connection Line (BCL): Represents the connection line between blocks.
[0139] Robot Connection Line (RCL): Represents the connection line from the starting point of the drone to the scanning line, and the connection line from the scanning line to the ending point of the drone.
[0140] The path during coverage scanning is composed of alternating scanning lines (SL) and connection lines (CL); there is at least one connection line between two scanning lines; as Figure 7 shown in the example diagram of path segment attributes; it should be noted that the connection line may consist of multiple parts, for example, the path may be scanning line, connection line, connection line, scanning line. Each connection line (CL) can be an internal-block connection line (SCL), an inter-block connection line (BCL), or a drone connection line (RCL).
[0141] As Figure 8 shown, a typical path example is given in this embodiment:
[0142] ● The path starts from the starting point and reaches the first scanning line (SL) through one or more drone connection lines (RCL);
[0143] ● Then, a certain area is scanned through the combination of internal-block connection lines (SCL) and scanning lines (SL);
[0144] ● Next, it is connected to the scanning line (SL) of the next area through one or more inter-block connection lines (BCL), and then the area is scanned through the combination of internal-block connection lines (SCL) and scanning lines (SL);
[0145] ● When the scanning of all areas is completed, it is navigated to the ending point through the drone connection line (RCL) to complete the entire path.
[0146] Accordingly, the information contained in each path point in the path point sequence is: path point serial number, path point coordinates, the line segment attribute pointing to the previous path point, and the line segment attribute pointing to the next path point; the path point sequence contains each path point generated by the coverage path planning and is arranged in order.
[0147] To implement the scanning task of regional targets by multiple drones according to the planned coverage scanning path, in the preferred solution of this embodiment, the planned coverage scanning path is also segmented according to the number of drones performing the task. By reasonably determining the length of the scanning path executed by each drone, the length difference of each drone from the take-off position to the completion of the scanning path is made as balanced as possible, and the total path length flown by all drones from take-off to the completion of the task is made the shortest, thereby improving the task execution efficiency.
[0148] Specifically, the coverage path planning method includes:
[0149] Step 1: Segment the coverage path according to the number of drones, and determine the start and end points of each path segment based on the segmentation points; calculate the distance information including the distance of each drone from the task start point to the start or end point of each path segment.
[0150] Step 2: Traverse the calculated distance information, find the drone coverage path allocation scheme that minimizes the total path length, use it as the optimized segmentation index, and output the path and path length of each drone.
[0151] Step 3: Perform local optimization of the divided path segments based on the particle swarm optimization method; during the particle swarm optimization process, add perturbations at the segmentation points of the path point sequence, iterate with the optimized segmentation index as the objective function, and finally find the optimized segmentation index that minimizes the total path length to perform the coverage path division of the drones.
[0152] Specifically, Step 1 includes:
[0153] 1) Path division: Divide the total coverage scanning path into the same number of path segments according to the number of drones; select the segmentation points for path division from the path point sequence of the coverage path planning as the separation index.
[0154] A reasonable separation index can ensure the balance of the path length when each drone performs the task. As Fig. 9 shown in a typical example diagram of the path division result;
[0155] 2) Determine the start and end points of each path segment according to the separation index; the start and end points of each path segment are points with the attributes of the scan line.
[0156] Path segment start point: If the path after the segmentation point is a scan line (SL), then select the segmentation point as the start point of the path segment; if the path after the segmentation point is a connection line (CL), then search backward from the segmentation point until the first path point with the path after it being the scan line SL is found as the start point of the path segment.
[0157] Path segment end point selection: If the path before the segmentation point is a scan line SL, then select the segmentation point as the end point of the path segment; if the path before the segmentation point is not a scan line SL, then search forward until the first path point with the path before it being the scan line SL is found as the end point of the path segment.
[0158] As Fig.10 shown in a typical example diagram of the selection result of the start and end points of the path segment;
[0159] 3) Calculate the distance information including the distance of each drone from the task start point to the start or end point of each path segment through two distance calculation methods: forward order or reverse order.
[0160] After determining the starting and ending points of each path segment, it is necessary to calculate the distance from the starting point of the mission to the starting point of each path segment or the ending point of the path segment for each drone; when the drone has a fixed mission ending point, it is also necessary to calculate the distance from the other end of the path segment to the ending point. Since the path can be traversed in the forward or reverse order, the distances in both cases need to be calculated separately.
[0161] Forward distance calculation:
[0162] Calculate the distance from the starting point of the mission to the starting point of the path segment for each drone;
[0163] Calculate the distance from the ending point of the path segment to the ending point of the mission (if there is a fixed ending point) for each drone;
[0164] Reverse distance calculation:
[0165] Calculate the distance from the starting point of the mission to the ending point of the path segment for each drone;
[0166] Calculate the distance from the starting point of the path segment to the ending point of the mission (if there is a fixed ending point) for each drone.
[0167] Specifically, in step 2, traverse the calculated distance information, and use the Hungarian algorithm to find the drone coverage path allocation scheme with the minimum total path length of all drones as the optimized segmentation index. The specific steps are as follows:
[0168] 1) Construct a cost matrix; each element of the cost matrix is the distance from the drone to the starting point or ending point of the path segment calculated using two distance calculation methods, namely forward or reverse order.
[0169] 2) Solve using the optimization algorithm; use the Hungarian algorithm to solve the cost matrix to find the allocation scheme with the minimum total path length;
[0170] 3) Determine the optimal path allocation: According to the output of the Hungarian algorithm, determine the path and path length of each drone.
[0171] For the optimized segmentation index (Optimize Division Indices, ODI) of this embodiment, obtain the path and path length of each drone from the divided path segments. And for any path segment division method, the ODI process can find an optimal total path length.
[0172] Specifically, in step S3, local optimization is performed by using the particle swarm optimization algorithm to make the planned trajectory of the UAV better. In the particle swarm optimization algorithm, a group of particles is initialized, and each particle represents a possible path allocation scheme; each particle is updated according to its speed and position, and its quality is evaluated according to the fitness function; the algorithm iteratively updates the particles to gradually find the global optimal solution. In each iteration, the position and speed of the particles are adjusted according to the inertial, cognitive, and social components, and finally the segmentation index that minimizes the total path length is found.
[0173] The multi-UAV path particle swarm optimization adopted in this embodiment includes:
[0174] 1) Initialize the random number generator and the particle swarm;
[0175] 2) Perform the iterative main loop; in the main loop, each particle is updated, and its quality is evaluated according to the fitness function; the particles are iteratively updated to gradually find the global optimal solution;
[0176] In each iteration, the position and speed of the particles are adjusted according to the inertial, cognitive, and social components, and finally the segmentation index that minimizes the total path length is found;
[0177] The fitness function is determined by the process of the optimized segmentation index ODI determined in step S402; the path length value output by the optimized segmentation index ODI is used to evaluate the quality of the current position of the particle;
[0178] 3) After the main loop ends, return the global optimal position; the path and path length of each UAV of the optimized segmentation index of the final iteration are output as the final division result.
[0179] The particle swarm optimization algorithm (PSO) finds the optimal solution by simulating the behavior of a particle swarm. Each particle moves in the search space and adjusts its moving direction and speed according to its own experience and the experience of other particles. The following are the key formulas of PSO:
[0180] Velocity update formula:
[0181]
[0182] In the formula, v i (t) is the velocity of particle i at time t;
[0183] ω is the inertia weight, which controls the influence of the previous velocity of the particle;
[0184] c 1 and c 2 are the acceleration constants, which respectively represent the degree of following of the particle to its own optimal position and the global optimal position;
[0185] r 1 and r 2 are random numbers between [0, 1], which increases randomness and diversity;
[0186] is the historical best position of particle i;
[0187] is the global best position;
[0188] x i (t) is the current position of particle i at time t.
[0189] Position update formula:
[0190] x i (t + 1) = x i (t) + v i (t + 1)
[0191] x i (t + 1) is the new position of particle i at time t + 1;
[0192] x i (t) is the current position of particle i at time t;
[0193] v i (t + 1) is the new velocity of particle i at time t + 1.
[0194] Fitness evaluation:
[0195] The fitness of each particle is determined by the ODI process determined in step S3. The value of the objective function ODI process is used to evaluate the quality of the current position of the particle. The optimization goal is to find the particle position that minimizes the total path sum of the ODI process.
[0196] In the particle swarm algorithm, the optimization of the segmentation index process is regarded as a black box; the input of this black box is the segmentation points of the path segments, and the output is the path and path length of each UAV; the function of the black box is: to obtain the path and path length of each UAV from the divided path segments. Therefore, for any path segment division method with perturbations added at the segmentation points in the particle swarm algorithm, the ODI process can find an optimal total path length.
[0197] In summary, in the coverage scanning path planning method based on the UAV vision model in the embodiments of the present invention, the scanning width when the UAV executes the area scanning task is determined, which ensures the coverage scanning efficiency while avoiding the possible vision blind areas during the UAV turning process; it can take into account both the meter-level comprehensive error of the UAV observation vision and maximize the use of the vision. It also improves the process of the ox-plowing type block unit decomposition, and not only for the area where the PWH holes are densely distributed, but also for the area with irregular outer boundaries (concave polygons), forming a reasonable division of the graph, which is beneficial to the subsequent scanning path planning; it also solves the block routing connection problem through the TSP problem and uses the greedy algorithm to handle the coverage path planning problem of each block, so that the internal path loss of each block is the lowest.
[0198] Moreover, combined with the coverage path segmentation method, a multi-UAV collaborative planning result with the shortest total path length and balanced differences in the path lengths of each UAV can be obtained.
[0199] Therefore, this embodiment can quickly generate the UAV full-coverage scanning path for complex blocks, significantly improving the task execution efficiency. This method is applicable to fields such as agricultural and forestry plant protection, fire fighting and disaster relief, anti-terrorism rescue, etc., and significantly improves the task execution efficiency.
[0200] The above is only a preferred specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily thought of by those skilled in the art within the technical scope disclosed by the present invention should be covered within the protection scope of the present invention.
Claims
1. A coverage scanning path planning method based on a UAV field of view model, characterized in that: include: Step S1, determining the scanning width of the drone when performing an area scanning task based on the drone field of view model; In the UAV vision model, the scanning width is determined according to the flight altitude, horizontal field of view angle, and bird's-eye view angle of the UAV's mission, so that when the UAV scans with the scanning width, it can scan the area without omission by combining the scanning coverage strip of the direct flight and the scanning area when turning; Step S2, converting the complex task area to be scanned by the drone into a polygon with holes; Step S3, decomposing the polygon with holes by using the ox-plowing block unit to generate multiple block units; Step S4, determining the routing order of the block units, and generating a scanning path covered by a single slope scanning line in each block unit, wherein the interval between adjacent scanning lines in the scanning path is the scanning width determined in step S1; Step S5: Connect the scanning paths of each block unit in series to form a planned coverage scanning path.
2. The coverage scanning path planning method based on the UAV field of view model according to claim 1 is characterized in that: In the UAV vision model, the undistorted line length of the UAV vision trapezoidal range is determined as the scanning width w according to the flight altitude, horizontal field of view angle, and top-down viewing angle of the UAV mission. sweep ; Among them, h is the flight altitude of the UAV performing the mission; α is the horizontal field of view angle, and θ is the top-down viewing angle.
3. The coverage scanning path planning method based on the UAV field of view model according to claim 1 is characterized in that: Step S4 includes: Step S401: for the multiple block units decomposed from the polygon with holes in step S3, plan the block access order, establish the TSP problem by finding the shortest path between each block unit, and use the Hungarian algorithm to solve it, and generate the path planning between each block unit; Step S402, establish a path loss criterion, visit each block unit in the order planned in step S401, and use a greedy algorithm to process the path planning problem from the starting point until the entire block unit is scanned, so that the loss of the entire path is minimized.
4. The coverage scanning path planning method based on the UAV field of view model according to claim 3 is characterized in that: The calculation process of block path planning in step S401 includes: 1) Determine the distance between two block units; Determine whether two block units are adjacent. If so, the distance is 0. If not, traverse each vertex and calculate the path length of the shortest path combination as the matrix element in the shortest path matrix. 2) Initialize two matrices for dynamic programming; one for storing the cost of the shortest path and the other for storing the current path; 3) Solve the traveling salesman problem through dynamic programming, update the shortest path and cost of visiting all block units in the two matrices, and obtain the block access sequence with the shortest path.
5. The coverage scanning path planning method based on the UAV field of view model according to claim 3 is characterized in that: In step S402, a greedy algorithm is used to process the coverage path planning problem of each block, so that the formula for minimizing the internal path loss of each block is: Cost k =L path-k / V l +n path-k ×90 / V a In the formula, Cost k represents the path loss of the kth block; L path-k It represents the total length of the path after completing the k-th block scan starting from the current point; n path-k Indicates the number of path points after completing the k-th block scan starting from the current point; V l Represents the weight coefficient of length, V a Represents the weight coefficient of steering.
6. The coverage scanning path planning method based on the UAV field of view model according to claim 5 is characterized in that: In the coverage path planning within the block unit, scan lines are generated at equal intervals of the scan width starting from the scan start point; when the position where the generation ends is not large enough to place a scan line, the distance between the vertex of the block unit and the coverage line is checked; when the distance between the vertex and the coverage line is less than half of the scan width, a scan line is added that passes through the vertex.
7. The coverage scanning path planning method based on the UAV field of view model according to claim 6 is characterized in that: In step S5, the scanning paths of the block units are connected in series to form a path point sequence of a complete coverage path; the path point sequence includes a line segment point sequence of two path attributes, namely, a scanning line and a connecting line: the scanning line and the connecting line alternately form a coverage scanning path; Scan line is the path line that plays an actual scanning role in coverage scanning; A connection line is a path line connecting two scan lines, and each scan line is connected in series; Types of connecting cables include: Internal connection lines of blocks represent the connection lines inside blocks; The connection lines between blocks represent the connection lines between blocks; The connecting lines of the drone’s starting point and end point represent the connecting line from the drone’s starting point to the scan line, and the connecting line from the scan line to the drone’s end point.
8. The coverage scanning path planning method based on the UAV field of view model according to any one of claims 1 to 7, characterized in that: The complex mission area to be scanned by the drone is converted into a polygon with holes through Boolean operations; the inner hole of the polygon with holes is not part of the polygon, and its outer contour and inner hole contour are both simple polygons. The outer contour is the overall boundary of the complex mission area, and the inner hole contour is the boundary of the obstacle or avoidance zone in the complex mission area.
9. The coverage scanning path planning method based on the UAV field of view model according to any one of claim 8, characterized in that: The step S3, decomposing the cattle-ploughing block unit into an improved cattle-ploughing block unit decomposition, comprises: Step S301, determining the sides of the polygon with holes according to the vertices of the polygon with holes; Step S302: Select the vertical directions of each side of the polygon as all possible decomposition directions; Step S303: for each possible decomposition direction, use the best bidirectional covering decomposition (BCD) algorithm to calculate multiple polygonal units formed by decomposition in the direction; Step S304, respectively obtain the optimal scanning direction of each polygonal unit, and use the vertical direction of the scanning direction as the height of the decomposition unit, and calculate the minimum height sum of these decomposition units; Step S305, by comparing the minimum height sums obtained under different decomposition directions, finally determining the best decomposition result; Step S306: The multiple units obtained by the optimal decomposition are merged to form a final block unit; each of the final block units can be covered and scanned in one scanning direction.
10. The coverage scanning path planning method based on the UAV field of view model according to claim 9 is characterized in that: The merging process in step S306 starts from the unit with a smaller area, finds another unit with the longest intersection line with it, and attempts to merge it; the conditions for unit merging include: the newly formed unit can find a scanning direction so that any scanning line passing through the unit in the scanning direction has no more than two intersections with the unit; the height of the merged unit is less than or equal to the height of the unit before merging.