CN113359865B - Unmanned aerial vehicle flight path generation method and system - Google Patents
Unmanned aerial vehicle flight path generation method and system Download PDFInfo
- Publication number
- CN113359865B CN113359865B CN202110883254.2A CN202110883254A CN113359865B CN 113359865 B CN113359865 B CN 113359865B CN 202110883254 A CN202110883254 A CN 202110883254A CN 113359865 B CN113359865 B CN 113359865B
- Authority
- CN
- China
- Prior art keywords
- value
- array
- tmap
- aerial vehicle
- unmanned aerial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012216 screening Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 12
- 230000033001 locomotion Effects 0.000 claims description 11
- 230000001174 ascending effect Effects 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 230000000630 rising effect Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/10—Simultaneous control of position or course in three dimensions
- G05D1/101—Simultaneous control of position or course in three dimensions specially adapted for aircraft
- G05D1/106—Change initiated in response to external conditions, e.g. avoidance of elevated terrain or of no-fly zones
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Navigation (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
The invention provides a method and a system for generating a flight path of an unmanned aerial vehicle. Therefore, the unmanned aerial vehicle flight path is optimized by dividing the whole target area which is shot in plan into a set of a plurality of nodes according to a plurality of key points, and the generated path passes through all key target points.
Description
Technical Field
The disclosure belongs to the technical field of unmanned aerial vehicle technology and computer graphics, and particularly relates to a method and a system for generating a flight path of an unmanned aerial vehicle.
Background
With the increasing progress of mechanical manufacturing technology, the production technology of the unmanned aerial vehicle is developed, meanwhile, the unmanned aerial vehicle is widely applied to multiple social fields, and particularly, the unmanned aerial vehicle technology has irreplaceable advantages in the aspects of aerial monitoring and image acquisition. In the process of shooting regional images or all-directional images of buildings at high altitude, because the range size of a target region or the complexity of the structural shape of the buildings are different, the unmanned aerial vehicle needs to calculate different motion tracks of the corresponding shooting target of the unmanned aerial vehicle in the flying process in the flying shooting process. In the disclosure of publication No. CN107943072A, an unmanned aerial vehicle flight path generation method, an apparatus, a storage medium, and a device are provided, which may generate at least one ordered key perspective subset according to a landmark key perspective set, and select a local flight path and a global flight path according to a solution result of a total cost function to generate an unmanned aerial vehicle flight path, however, the method cannot guarantee that a whole target shooting range is traversed comprehensively, and cannot guarantee that a generated path passes through all key target points. Therefore, a new method and system are needed to divide the whole target area planned to be shot by the unmanned aerial vehicle into a plurality of node sets, and then divide the plurality of node sets, so as to obtain an optimized flight path of the unmanned aerial vehicle.
Disclosure of Invention
The invention aims to provide a method and a system for generating a flight path of an unmanned aerial vehicle, which are used for solving one or more technical problems in the prior art and at least providing a beneficial selection or creation condition.
In the flight shooting process of the unmanned aerial vehicle, due to the fact that the range size of the target area or the complexity of the structural shape of a building are different, the unmanned aerial vehicle needs to divide the whole target area which is planned to be shot into a set of a plurality of nodes, and then divides and calculates the optimized flight path.
The invention provides a method and a system for generating a flight path of an unmanned aerial vehicle. Therefore, the unmanned aerial vehicle flight path is optimized by dividing the whole target area which is shot in plan into a set of a plurality of nodes according to a plurality of key points, and the generated path passes through all key target points.
In order to achieve the above object, according to an aspect of the present disclosure, there is provided a method for generating a flight path of an unmanned aerial vehicle, the method including:
s100, the unmanned aerial vehicle starts to ascend until the unmanned aerial vehicle ascends to a first positioning coordinate;
s200, the unmanned aerial vehicle obtains a full node set through point cloud data acquired by LiDAR;
s300, dividing the whole node set to obtain a plurality of local node sets;
s400, calculating and screening a plurality of central points in a plurality of local node sets, and calculating a connection sequence between the central points according to the central points;
s500, the unmanned aerial vehicle flies and moves according to the connection sequence.
Further, in S100, the method for the drone to start to ascend until the drone ascends to the first location coordinate includes: after the unmanned aerial vehicle reaches the position of a target building, the unmanned aerial vehicle rises from the ground, meanwhile, a set of points in point cloud data of the target building is obtained by LiDAR and serves as a set Pset, when the number of elements collected in the set Pset is not increased in the process that the unmanned aerial vehicle rises at a constant speed, three-dimensional coordinates of longitude, latitude and elevation, which are obtained by the unmanned aerial vehicle through satellite positioning, are defined as first positioning coordinates, and the unmanned aerial vehicle stops rising at the first positioning coordinates.
Further, in S200, the method for the drone to obtain the full node set through the point cloud data acquired by the LiDAR includes: after the unmanned aerial vehicle stops rising, emptying elements in the Pset, acquiring each point in the point cloud data of the target building by using LiDAR again, adding the points into a set Pset, recording that the total number of the elements in the set Pset is n, the serial numbers of the elements are represented by a variable i, i belongs to [1, n ], the element with the serial number i in the set Pset is Loc _ i, the three-dimensional coordinates of the element with the serial number i in the set Pset are (a _ i, b _ i, c _ i), Loc _ i = (a _ i, b _ i, c _ i), recording the three-dimensional coordinates of longitude, latitude and altitude obtained by satellite positioning by Loc _ be as (a, b, c) according to the first positioning coordinate, and the set Pset is a full node set.
Further, in S300, the method for dividing the full node set into a plurality of local node sets includes:
the specific process of the procedure for dividing the full node set Pset is as follows:
s301, starting a program; creating a dictionary as Tmap, wherein the dictionary refers to a collection of elements in a data structure, and the dictionary can comprise a plurality of key-value pairs, and each key-value pair is formed by one key and one value as value; making Tmap of the dictionary be null; go to S302;
s302, creating an array Darr, and enabling the array Darr to be empty; creating an array Dset, making the array Dset null, and making the array Dset orderly; go to S303;
s303, enabling the numerical value of i to be 1; go to S304;
s304, creating a key taking the serial number i as the key in the dictionary Tmap as key (i), and setting a value corresponding to the key (i) as a null array as value (i); one key value (i) corresponding to one key value in the dictionary Tmap is an array value (i) which is marked as < key value (i) < Tmap, value (i) >, and the key value (i) marked as the sequence number i in the Tmap is marked as Tmap (i), if Tmap (i) = < key value (i) and value (i) >, the array length of value (i) is n-1; go to S305;
s305, adding the key value pair Tmap (i) into the value (i) array thereof to add the sequence number of each element in Pset, and then deleting the sequence number i in the value (i) array; go to S3060;
s3060, acquiring a point with a sequence number of i in the set Pset as Loc _ i, wherein Loc _ i = (a _ i, b _ i, c _ i); creating an empty array darr; turning to S3061;
s3061, setting a variable j, and enabling the value of the j to be 1; setting a variable m, and enabling the value of m to be the number of elements in the value (i) array; turning to S3062;
s3062, acquiring a jth element in the value (i) array as v; turning to S3063;
s3063, acquiring points with the sequence number v in the set Pset as Loc _ v according to v, wherein Loc _ v = (a _ v, b _ v, c _ v); turning to S3064;
s3064, calculating the Euclidean distance between the three-dimensional coordinates of the Loc _ i and the three-dimensional coordinates of the Loc _ v as d (i, v); adding d (i, v) to the array darr; turning to S3065;
s3065, judging whether the number of the elements in the array darr is larger than or equal to the number of the elements in the value (i) array, if so, adding the array darr into the array Dset as the ith element in the array Dset and turning to S3067, otherwise, turning to S3066;
s3066, increasing the value of j by 1; turning to S3062;
s3067, calculating and obtaining an arithmetic mean of elements in the Darr array and recording the arithmetic mean as Darr _ avg; go to S307;
s307, judging whether the number of elements in the array Darr is larger than or equal to n, if so, turning to S3072, and otherwise, turning to S3071;
s3071, increasing the value of i by 1; go to S304;
s3072, calculating and obtaining the arithmetic mean of the elements in the Darr array and recording the arithmetic mean as d _ avg; go to S3080;
s3080, setting the value of i as 1; go to S3081;
s3081, obtaining Tmap (i) through i and further obtaining an array value (i); acquiring the ith element in the array Dset through i and recording the element as an array Dset (i); go to S3082;
s3082, corresponding each element in the array value (i) to the element with the same sequence number in the array Dset (i); go to S3083;
s3083, calling d _ avg in a constant pool; calculating the sequence numbers of all elements with values larger than d _ avg in the array Dset (i) as a screening set; go to S3084;
s3084, acquiring all elements with sequence numbers existing in the screening set in the array value (i) of Tmap (i) as an irrelevant element set, and deleting the elements in the irrelevant element set in the array value (i) of the key value pair of the sequence number i in Tmap; go to S3085;
s3085, judging whether the numerical value of i is greater than or equal to n, if so, turning to S3086, otherwise, turning to S3087;
s3086, outputting Tmap; ending the program;
each key value in the obtained dictionary Tmap corresponds to each point representing Pset, the key value Tmap (i) with the sequence number of i in the dictionary Tmap corresponds to the point with the sequence number of i in Pset, the element of the array value (i) of Tmap (i) is the sequence number of the point in Pset, each element in the array value (i) of Tmap (i) represents each point which has possibility of being connected with Loc _ i in Pset, the array value (i) of the key value Tmap (i) with the sequence number of i in the dictionary Tmap is a local node set, and the dictionary Tmap comprises a plurality of local node sets.
Further, in S400, the method for calculating and screening a plurality of central points in a plurality of local node sets and calculating a connection sequence between the plurality of central points according to each central point includes: calculating the centrality of each point of Pset, according to the corresponding key value pair Tmap (i) in the dictionary Tmap of the point Pset (i), obtaining the elements in the array value (i) in the key value pair Tmap (i), if the array value (i) is not empty, then the variable h represents the element in the array value (i), h ∈ value (i), the variable k represents the number of elements in the array value (i), then the point with sequence number h in the set Pset is Loc _ h, the three-dimensional coordinate of the point Loc _ h is Loc _ h = (a _ h, b _ h, c _ h), a _ h, b _ h, c _ h are the values in three dimensions of the three-dimensional coordinate of the point Loc _ h with sequence number h in the Pset, respectively, the centrality of the point Loc _ i with sequence number i in the Pset is recorded as cord (i), when the array value (i) is satisfied and is not empty, the formula for calculating the centrality of Loc _ i, cord (i), according to the Loc _ i and the elements in the number group value (i) of the key value pair tmap (i) is:
therefore, screening out a set of all points which satisfy the condition that the number i of the points in the set Pset corresponds to the key value pair Tmap (i) in the dictionary Tmap as a set Fset;
let the number of elements in the set Fset be el, the number of the elements in the set Fset be f, f belongs to [1, el ], a point with the number f in the set Fset is Loc _ f, the centrality of the point Loc _ f is cord (f), the function log () is a logarithmic function with the base 2, the function exp () is an exponential function with the base natural number e, the centrality threshold is λ, and the formula for calculating the centrality threshold λ is:
recording points meeting constraint conditions of cord (f) and lambda in a set Fset as central points, recording a set formed by the central points as a Pinset, recording a set formed by the centrality of each central point in the Pinset as a Corset, wherein elements of the set Pinset and the set Corset correspond to each other, searching and sequencing the corresponding central points in the set Pinset according to the numerical value of the elements of the set Corset in descending order of numerical value, and sequencing the sequence of each central point in the set Pinset, namely the connecting sequence Pseq.
Further, in S500, the method for the unmanned aerial vehicle to perform flying movement according to the connection sequence is as follows: according to the sequence of the central points in the connection sequence Pseq and the three-dimensional coordinates of the central points, the unmanned aerial vehicle flies and moves in sequence, so that a flight path of the unmanned aerial vehicle is obtained, the sequence number of each central point in the sequence Pseq in a set Pset is recorded as p, each central point in the sequence Pseq in the set Pset is recorded as Loc _ p, the number of elements in the sequence Pseq is recorded as t, and the specific steps of the unmanned aerial vehicle moving according to the flight path are as follows:
s5010, starting the unmanned aerial vehicle to fly; go to S501;
s501, enabling the value of p to be 0; go to S502;
s502, judging whether the unmanned aerial vehicle is located at a first positioning coordinate Loc _ be, if so, increasing the value p by 1 and turning to S503, otherwise, stopping the flying movement of the unmanned aerial vehicle and moving to the first positioning coordinate Loc _ be until the first positioning coordinate Loc _ be is reached and then turning to S501;
s503, judging whether the numerical value of p is larger than the numerical value of t, if so, enabling the unmanned aerial vehicle to stop flying and move towards the first positioning coordinate Loc _ be until the first positioning coordinate Loc _ be is reached, and then turning to S504, otherwise, enabling the unmanned aerial vehicle to stop flying and move towards the point Loc _ p until the point Loc _ p is reached, and then turning to S502;
s504, enabling the unmanned aerial vehicle to stop flying and moving and descend in a deceleration mode until the unmanned aerial vehicle contacts the ground, and closing an engine of the unmanned aerial vehicle; and finishing the flight.
The present disclosure also provides an unmanned aerial vehicle flight path generation system, an unmanned aerial vehicle flight path generation system includes: the processor, the memory and the computer program stored in the memory and capable of running on the processor, when the processor executes the computer program, implement a step in a flight path generation method of the unmanned aerial vehicle to control the unmanned aerial vehicle, the flight path generation system of the unmanned aerial vehicle may run in a computing device such as a desktop computer, a notebook computer, a palm computer and a cloud data center, and the system capable of running may include, but is not limited to, the processor, the memory and a server cluster, and the processor executes the computer program to run in units of the following systems:
the ascending control unit is used for controlling the unmanned aerial vehicle to start ascending until the unmanned aerial vehicle ascends to the first positioning coordinate;
the data acquisition unit is used for controlling the unmanned aerial vehicle to obtain a full node set through point cloud data acquired by LiDAR;
the node dividing unit is used for dividing the full node set to obtain a plurality of local node sets;
the connection sequence calculation unit is used for calculating and screening a plurality of central points in the local node sets and calculating connection sequences among the central points according to the central points;
and the flying movement control unit is used for controlling the unmanned aerial vehicle to fly and move according to the connection sequence.
The beneficial effect of this disclosure does: the invention provides a method and a system for generating a flight path of an unmanned aerial vehicle. Therefore, the unmanned aerial vehicle flight path is optimized by dividing the whole target area which is shot in plan into a set of a plurality of nodes according to a plurality of key points, and the generated path passes through all key target points.
Drawings
The foregoing and other features of the present disclosure will become more apparent from the detailed description of the embodiments shown in conjunction with the drawings in which like reference characters designate the same or similar elements throughout the several views, and it is apparent that the drawings in the following description are merely some examples of the present disclosure and that other drawings may be derived therefrom by those skilled in the art without the benefit of any inventive faculty, and in which:
fig. 1 is a flow chart of a method for generating a flight path of an unmanned aerial vehicle;
fig. 2 is a system structural diagram of a flight path generation system of an unmanned aerial vehicle.
Detailed Description
The conception, specific structure and technical effects of the present disclosure will be clearly and completely described below in conjunction with the embodiments and the accompanying drawings to fully understand the objects, aspects and effects of the present disclosure. It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict.
In the description of the present invention, the meaning of a plurality of means is one or more, the meaning of a plurality of means is two or more, and larger, smaller, larger, etc. are understood as excluding the number, and larger, smaller, inner, etc. are understood as including the number. If the first and second are described for the purpose of distinguishing technical features, they are not to be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated or implicitly indicating the precedence of the technical features indicated.
Fig. 1 is a flowchart illustrating a method for generating a flight path of an unmanned aerial vehicle according to the present invention, and a method and a system for generating a flight path of an unmanned aerial vehicle according to an embodiment of the present invention are described below with reference to fig. 1.
The invention provides a method for generating a flight path of an unmanned aerial vehicle, which specifically comprises the following steps:
s100, the unmanned aerial vehicle starts to ascend until the unmanned aerial vehicle ascends to a first positioning coordinate;
s200, the unmanned aerial vehicle obtains a full node set through point cloud data acquired by LiDAR;
s300, dividing the whole node set to obtain a plurality of local node sets;
s400, calculating and screening a plurality of central points in a plurality of local node sets, and calculating a connection sequence between the central points according to the central points;
s500, the unmanned aerial vehicle flies and moves according to the connection sequence.
Further, in S100, the method for the drone to start to ascend until the drone ascends to the first location coordinate includes: after the unmanned aerial vehicle reaches the position of a target building, the unmanned aerial vehicle starts to ascend from the ground, meanwhile, a set of points in point cloud data of the target building is obtained by LiDAR and serves as a set Pset, when the unmanned aerial vehicle is in the process of ascending at a constant speed, if the number of elements collected in the set Pset is not increased along with the increase of an elevation, three-dimensional coordinates of longitude, latitude and elevation obtained by the unmanned aerial vehicle through satellite positioning at the moment are defined as first positioning coordinates, the unmanned aerial vehicle stops ascending at the first positioning coordinates, the unmanned aerial vehicle refers to an unmanned aerial vehicle operated by a radio remote control device or a self-contained program control device, and the LiDAR refers to a laser radar and equipment thereof.
Further, in S200, the method for the drone to obtain the full node set through the point cloud data acquired by the LiDAR includes: after the unmanned aerial vehicle stops rising, emptying elements in the Pset, acquiring each point in the point cloud data of the target building by using LiDAR again, adding the points into a set Pset, recording that the total number of the elements in the set Pset is n, the serial numbers of the elements are represented by a variable i, i belongs to [1, n ], the element with the serial number i in the set Pset is Loc _ i, the three-dimensional coordinates of the element with the serial number i in the set Pset are (a _ i, b _ i, c _ i), Loc _ i = (a _ i, b _ i, c _ i), recording the three-dimensional coordinates of longitude, latitude and altitude obtained by satellite positioning by Loc _ be as (a, b, c) according to the first positioning coordinate, and the set Pset is a full node set.
Further, in S300, the method for dividing the full node set into a plurality of local node sets includes:
the specific process of the procedure for dividing the full node set Pset is as follows:
s301, starting a program; creating a constant pool, wherein the constant pool is a storage space for storing constants; creating a dictionary as Tmap, wherein the dictionary refers to a collection of elements in a data structure, and the dictionary can comprise a plurality of key-value pairs, and each key-value pair is formed by one key and one value as value; making Tmap of the dictionary be null; go to S302;
s302, creating an array Darr, and enabling the array Darr to be empty; creating an array Dset, making the array Dset null, and making the array Dset orderly; go to S303;
s303, enabling the numerical value of i to be 1; go to S304;
s304, creating a key taking the serial number i as the key in the dictionary Tmap as key (i), and setting a value corresponding to the key (i) as a null array as value (i); one key value (i) corresponding to one key value in the dictionary Tmap is an array value (i) which is marked as < key value (i) < Tmap, value (i) >, and the key value (i) marked as the sequence number i in the Tmap is marked as Tmap (i), if Tmap (i) = < key value (i) and value (i) >, the array length of value (i) is n-1; go to S305;
s305, adding the key value pair Tmap (i) into the value (i) array thereof to add the sequence number of each element in Pset, and then deleting the sequence number i in the value (i) array; go to S3060;
s3060, acquiring a point with a sequence number of i in the set Pset as Loc _ i, wherein Loc _ i = (a _ i, b _ i, c _ i); creating an empty array darr; turning to S3061;
s3061, setting a variable j, and enabling the value of the j to be 1; setting a variable m, and enabling the value of m to be the number of elements in the value (i) array; turning to S3062;
s3062, acquiring a jth element in the value (i) array as v; turning to S3063;
s3063, acquiring points with the sequence number v in the set Pset as Loc _ v according to v, wherein Loc _ v = (a _ v, b _ v, c _ v); turning to S3064;
s3064, calculating the Euclidean distance between the three-dimensional coordinates of the Loc _ i and the three-dimensional coordinates of the Loc _ v as d (i, v); adding d (i, v) to the array darr; turning to S3065;
s3065, judging whether the number of the elements in the array darr is larger than or equal to the number of the elements in the value (i) array, if so, adding the array darr into the array Dset as the ith element in the array Dset and turning to S3067, otherwise, turning to S3066;
s3066, increasing the value of j by 1; turning to S3062;
s3067, calculating and obtaining an arithmetic mean of elements in the Darr array and recording the arithmetic mean as Darr _ avg; go to S307;
s307, judging whether the number of elements in the array Darr is larger than or equal to n, if so, turning to S3072, and otherwise, turning to S3071;
s3071, increasing the value of i by 1; go to S304;
s3072, calculating and obtaining the arithmetic mean of the elements in the Darr array and recording the arithmetic mean as d _ avg; go to S3080;
s3080, setting the value of i as 1; go to S3081;
s3081, obtaining Tmap (i) through i and further obtaining an array value (i); acquiring the ith element in the array Dset through i and recording the element as an array Dset (i); go to S3082;
s3082, corresponding each element in the array value (i) to the element with the same sequence number in the array Dset (i); go to S3083;
s3083, calling d _ avg in a constant pool; calculating the sequence numbers of all elements with values larger than d _ avg in the array Dset (i) as a screening set; go to S3084;
s3084, acquiring all elements with sequence numbers existing in the screening set in the array value (i) of Tmap (i) as an irrelevant element set, and deleting the elements in the irrelevant element set in the array value (i) of the key value pair of the sequence number i in Tmap; go to S3085;
s3085, judging whether the numerical value of i is greater than or equal to n, if so, turning to S3086, otherwise, turning to S3087;
s3086, outputting Tmap; ending the program;
each key value in the obtained dictionary Tmap corresponds to each point representing Pset, the key value Tmap (i) with the sequence number of i in the dictionary Tmap corresponds to the point with the sequence number of i in Pset, the element of the array value (i) of Tmap (i) is the sequence number of the point in Pset, each element in the array value (i) of Tmap (i) represents each point which has possibility of being connected with Loc _ i in Pset, the array value (i) of the key value Tmap (i) with the sequence number of i in the dictionary Tmap is a local node set, and the dictionary Tmap comprises a plurality of local node sets.
Further, in S400, the method for calculating and screening a plurality of central points in a plurality of local node sets and calculating a connection sequence between the plurality of central points according to each central point includes: calculating the centrality of each point of Pset, according to the corresponding key value pair Tmap (i) in the dictionary Tmap of the point Pset (i), obtaining the elements in the array value (i) in the key value pair Tmap (i), if the array value (i) is not empty, then the variable h represents the element in the array value (i), h ∈ value (i), the variable k represents the number of elements in the array value (i), then the point with sequence number h in the set Pset is Loc _ h, the three-dimensional coordinate of the point Loc _ h is Loc _ h = (a _ h, b _ h, c _ h), a _ h, b _ h, c _ h are the values in three dimensions of the three-dimensional coordinate of the point Loc _ h with sequence number h in the Pset, respectively, the centrality of the point Loc _ i with sequence number i in the Pset is recorded as cord (i), when the array value (i) is satisfied and is not empty, the formula for calculating the centrality of Loc _ i, cord (i), according to the Loc _ i and the elements in the number group value (i) of the key value pair tmap (i) is:
therefore, screening out a set of all points which satisfy the condition that the number i of the points in the set Pset corresponds to the key value pair Tmap (i) in the dictionary Tmap as a set Fset;
let the number of elements in the set Fset be el, the number of the elements in the set Fset be f, f belongs to [1, el ], a point with the number f in the set Fset is Loc _ f, the centrality of the point Loc _ f is cord (f), the function log () is a logarithmic function with the base 2, the function exp () is an exponential function with the base natural number e, the centrality threshold is λ, and the formula for calculating the centrality threshold λ is:
recording points meeting constraint conditions of cord (f) and lambda in a set Fset as central points, recording a set formed by the central points as a Pinset, recording a set formed by the centrality of each central point in the Pinset as a Corset, wherein elements of the set Pinset and the set Corset correspond to each other, searching and sequencing the corresponding central points in the set Pinset according to the numerical value of the elements of the set Corset in descending order of numerical value, and sequencing the sequence of each central point in the set Pinset, namely the connecting sequence Pseq.
Further, in S500, the method for the unmanned aerial vehicle to perform flying movement according to the connection sequence is as follows: according to the sequence of the central points in the connection sequence Pseq and the three-dimensional coordinates of the central points, the unmanned aerial vehicle flies and moves in sequence, so that a flight path of the unmanned aerial vehicle is obtained, the sequence number of each central point in the sequence Pseq in a set Pset is recorded as p, each central point in the sequence Pseq in the set Pset is recorded as Loc _ p, the number of elements in the sequence Pseq is recorded as t, and the specific steps of the unmanned aerial vehicle moving according to the flight path are as follows:
s5010, starting the unmanned aerial vehicle to fly; go to S501;
s501, enabling the value of p to be 0; go to S502;
s502, judging whether the unmanned aerial vehicle is located at a first positioning coordinate Loc _ be, if so, increasing the value p by 1 and turning to S503, otherwise, stopping the flying movement of the unmanned aerial vehicle and moving to the first positioning coordinate Loc _ be until the first positioning coordinate Loc _ be is reached and then turning to S501;
s503, judging whether the numerical value of p is larger than the numerical value of t, if so, enabling the unmanned aerial vehicle to stop flying and move towards the first positioning coordinate Loc _ be until the first positioning coordinate Loc _ be is reached, and then turning to S504, otherwise, enabling the unmanned aerial vehicle to stop flying and move towards the point Loc _ p until the point Loc _ p is reached, and then turning to S502;
s504, enabling the unmanned aerial vehicle to stop flying and moving and descend in a deceleration mode until the unmanned aerial vehicle contacts the ground, and closing an engine of the unmanned aerial vehicle; and finishing the flight.
Wherein Lidar is a laser radar, and is a radar system which emits laser beams to detect characteristic quantities such as position, speed and the like of a target; the Lidar of the invention can also be replaced by any one of unmanned aerial vehicle airborne laser radars and unmanned aerial vehicle millimeter wave radars of Velodyne, Routerescene, Leddartech, Riegel, Yellowscan, Leica, Geodetics and the like.
The unmanned aerial vehicle flight path generation system comprises: the processor executes the computer program to implement the steps in the above-mentioned embodiment of the method for generating flight path of the unmanned aerial vehicle for controlling the unmanned aerial vehicle, the system for generating flight path of the unmanned aerial vehicle may be operated in a computing device such as a desktop computer, a notebook computer, a palm computer, a cloud data center, and the like, and the operable system may include, but is not limited to, a processor, a memory, and a server cluster.
An embodiment of the present disclosure provides an unmanned aerial vehicle flight path generation system, as shown in fig. 2, the unmanned aerial vehicle flight path generation system of this embodiment includes: a processor, a memory and a computer program stored in the memory and operable on the processor, the processor executing the computer program to implement the steps in the above-mentioned embodiment of the method for generating flight path of a drone, for controlling a data transmission network formed by connecting a drone, a wireless communication device and a plurality of drones with each other through the wireless communication device, the processor executing the computer program to run in the units of the following system:
the ascending control unit is used for controlling the unmanned aerial vehicle to start ascending until the unmanned aerial vehicle ascends to the first positioning coordinate;
the data acquisition unit is used for controlling the unmanned aerial vehicle to obtain a full node set through point cloud data acquired by LiDAR;
the node dividing unit is used for dividing the full node set to obtain a plurality of local node sets;
the connection sequence calculation unit is used for calculating and screening a plurality of central points in the local node sets and calculating connection sequences among the central points according to the central points;
and the flying movement control unit is used for controlling the unmanned aerial vehicle to fly and move according to the connection sequence.
The unmanned aerial vehicle flight path generation system can operate in computing equipment such as desktop computers, notebooks, palm computers and cloud data centers. The unmanned aerial vehicle flight path generation system comprises, but is not limited to, a processor and a memory. Those skilled in the art will appreciate that the described examples are merely illustrative of a method and system for generating a flight path for a drone, and do not constitute a limitation on a method and system for generating a flight path for a drone, and may include more or less components than the described examples, or some components in combination, or different components.
The Processor may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, discrete component Gate or transistor logic, discrete hardware components, etc. The general processor can be a microprocessor or the processor can also be any conventional processor and the like, the processor is a control center of the unmanned aerial vehicle flight path generation system, and various interfaces and lines are utilized to connect various subareas of the whole unmanned aerial vehicle flight path generation system.
The memory can be used for storing the computer program and/or the module, and the processor realizes various functions of the unmanned aerial vehicle flight path generation method and system by running or executing the computer program and/or the module stored in the memory and calling data stored in the memory. The memory may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data (such as audio data, a phonebook, etc.) created according to the use of the cellular phone, and the like. In addition, the memory may include high speed random access memory, and may also include non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), at least one magnetic disk storage device, a Flash memory device, or other volatile solid state storage device.
The invention provides a method and a system for generating a flight path of an unmanned aerial vehicle. Therefore, the unmanned aerial vehicle flight path is optimized by dividing the whole target area which is shot in plan into a set of a plurality of nodes according to a plurality of key points, and the generated path passes through all key target points.
Although the description of the present disclosure has been rather exhaustive and particularly described with respect to several illustrated embodiments, it is not intended to be limited to any such details or embodiments or any particular embodiments, so as to effectively encompass the intended scope of the present disclosure. Furthermore, the foregoing describes the disclosure in terms of embodiments foreseen by the inventor for which an enabling description was available, notwithstanding that insubstantial modifications of the disclosure, not presently foreseen, may nonetheless represent equivalent modifications thereto.
Claims (3)
1. An unmanned aerial vehicle flight path generation method is characterized by comprising the following steps:
s100, the unmanned aerial vehicle starts to ascend until the unmanned aerial vehicle ascends to a first positioning coordinate;
s200, the unmanned aerial vehicle obtains a full node set through point cloud data acquired by LiDAR;
s300, dividing the whole node set to obtain a plurality of local node sets;
s400, calculating and screening a plurality of central points in a plurality of local node sets, and calculating a connection sequence between the central points according to the central points;
s500, the unmanned aerial vehicle flies and moves according to the connection sequence;
in S100, the method for the unmanned aerial vehicle to start to ascend until the unmanned aerial vehicle ascends to the first location coordinate includes: after the unmanned aerial vehicle reaches the position of a target building, the unmanned aerial vehicle rises from the ground, meanwhile, a set of points in point cloud data of the target building is obtained by LiDAR and serves as a set Pset, when the number of elements collected in the set Pset is not increased in the process that the unmanned aerial vehicle rises at a constant speed, three-dimensional coordinates of longitude, latitude and elevation, which are obtained by the unmanned aerial vehicle through satellite positioning, are defined as first positioning coordinates, and the unmanned aerial vehicle stops rising at the first positioning coordinates;
in S200, the method for the drone to obtain the full-node set from the point cloud data acquired by the LiDAR includes: after the unmanned aerial vehicle stops rising, emptying elements in the Pset, acquiring each point in point cloud data of a target building by using LiDAR again, adding the points into a set Pset, keeping the total number of the elements in the set Pset as n, representing the serial number of the elements by using a variable i, wherein i belongs to [1, n ], taking the element with the serial number i in the set Pset as Loc _ i, taking the three-dimensional coordinates of the element with the serial number i in the set Pset as (a _ i, b _ i, c _ i), keeping the three-dimensional coordinates of longitude, latitude and altitude obtained by satellite positioning of the Loc _ be as (a, b, c), and taking the set Pset as a full node set;
in S300, the method for dividing the full node set into a plurality of local node sets includes:
the specific process of the procedure for dividing the full node set Pset is as follows:
s301, starting a program; creating a dictionary as Tmap, wherein the dictionary refers to a collection of elements in a data structure, and the dictionary comprises a plurality of key-value pairs, and each key-value pair is formed by one key and one value as value; making Tmap of the dictionary be null; go to S302;
s302, creating an array Darr, and enabling the array Darr to be empty; creating an array Dset, making the array Dset null, and making the array Dset orderly; go to S303;
s303, enabling the numerical value of i to be 1; go to S304;
s304, creating a key taking the serial number i as the key in the dictionary Tmap as key (i), and setting a value corresponding to the key (i) as a null array as value (i); one key value (i) corresponding to one key value in the dictionary Tmap is an array value (i) which is marked as < key value (i) < Tmap, value (i) >, and the key value (i) marked as the sequence number i in the Tmap is marked as Tmap (i), if Tmap (i) = < key value (i) and value (i) >, the array length of value (i) is n-1; go to S305;
s305, adding the key value pair Tmap (i) into the value (i) array thereof to add the sequence number of each element in Pset, and then deleting the sequence number i in the value (i) array; go to S3060;
s3060, acquiring a point with a sequence number of i in the set Pset as Loc _ i, wherein Loc _ i = (a _ i, b _ i, c _ i); creating an empty array darr; turning to S3061;
s3061, setting a variable j, and enabling the value of the j to be 1; setting a variable m, and enabling the value of m to be the number of elements in the value (i) array; turning to S3062;
s3062, acquiring a jth element in the value (i) array as v; turning to S3063;
s3063, acquiring points with the sequence number v in the set Pset as Loc _ v according to v, wherein Loc _ v = (a _ v, b _ v, c _ v); turning to S3064;
s3064, calculating the Euclidean distance between the three-dimensional coordinates of the Loc _ i and the three-dimensional coordinates of the Loc _ v as d (i, v); adding d (i, v) to the array darr; turning to S3065;
s3065, judging whether the number of the elements in the array darr is larger than or equal to the number of the elements in the value (i) array, if so, adding the array darr into the array Dset as the ith element in the array Dset and turning to S3067, otherwise, turning to S3066;
s3066, increasing the value of j by 1; turning to S3062;
s3067, calculating and obtaining an arithmetic mean of elements in the Darr array and recording the arithmetic mean as Darr _ avg; go to S307;
s307, judging whether the number of elements in the array Darr is larger than or equal to n, if so, turning to S3072, and otherwise, turning to S3071;
s3071, increasing the value of i by 1; go to S304;
s3072, calculating and obtaining the arithmetic mean of the elements in the Darr array and recording the arithmetic mean as d _ avg; go to S3080;
s3080, setting the value of i as 1; go to S3081;
s3081, obtaining Tmap (i) through i and further obtaining an array value (i); acquiring the ith element in the array Dset through i and recording the element as an array Dset (i); go to S3082;
s3082, corresponding each element in the array value (i) to the element with the same sequence number in the array Dset (i); go to S3083;
s3083, calling d _ avg in a constant pool; calculating the sequence numbers of all elements with values larger than d _ avg in the array Dset (i) as a screening set; go to S3084;
s3084, acquiring all elements with sequence numbers existing in the screening set in the array value (i) of Tmap (i) as an irrelevant element set, and deleting the elements in the irrelevant element set in the array value (i) of the key value pair of the sequence number i in Tmap; go to S3085;
s3085, judging whether the numerical value of i is greater than or equal to n, if so, turning to S3086, otherwise, turning to S3087;
s3086, outputting Tmap; ending the program;
each key value in the obtained dictionary Tmap corresponds to each point representing Pset, the key value Tmap (i) with the sequence number of i in the dictionary Tmap corresponds to the point with the sequence number of i in the Pset, the element of the array value (i) of Tmap (i) is the sequence number of the point in the Pset, each element in the array value (i) of Tmap (i) represents each point which has possibility of being connected with Loc _ i in the Pset, the array value (i) of the key value Tmap (i) with the sequence number of i in the dictionary Tmap is a local node set, and the dictionary Tmap comprises a plurality of local node sets;
in S400, the method for calculating and screening a plurality of central points in a plurality of local node sets and calculating a connection sequence between the central points according to each central point includes: calculating the centrality of each point of Pset, according to the corresponding key value pair Tmap (i) in the dictionary Tmap of the point Pset (i), obtaining the elements in the array value (i) in the key value pair Tmap (i), if the array value (i) is not empty, then the variable h represents the element in the array value (i), h ∈ value (i), the variable k represents the number of elements in the array value (i), then the point with sequence number h in the set Pset is Loc _ h, the three-dimensional coordinate of the point Loc _ h is Loc _ h = (a _ h, b _ h, c _ h), a _ h, b _ h, c _ h are the values in three dimensions of the three-dimensional coordinate of the point Loc _ h with sequence number h in the Pset, respectively, the centrality of the point Loc _ i with sequence number i in the Pset is recorded as cord (i), when the array value (i) is satisfied and is not empty, the formula for calculating the centrality of Loc _ i, cord (i), according to the Loc _ i and the elements in the number group value (i) of the key value pair tmap (i) is:
therefore, screening out a set of all points which satisfy the condition that the number i of the points in the set Pset corresponds to the key value pair Tmap (i) in the dictionary Tmap as a set Fset;
let the number of elements in the set Fset be el, the number of the elements in the set Fset be f, f belongs to [1, el ], a point with the number f in the set Fset is Loc _ f, the centrality of the point Loc _ f is cord (f), the function log () is a logarithmic function with the base 2, the function exp () is an exponential function with the base natural number e, the centrality threshold is λ, and the formula for calculating the centrality threshold λ is:
recording points meeting constraint conditions of cord (f) and lambda in a set Fset as central points, recording a set formed by the central points as a Pinset, recording a set formed by the centrality of each central point in the Pinset as a Corset, wherein elements of the set Pinset and the set Corset correspond to each other, searching and sequencing the corresponding central points in the set Pinset according to the numerical value of the elements of the set Corset in descending order of numerical value, and sequencing the sequence of each central point in the set Pinset, namely the connecting sequence Pseq.
2. The method for generating the flight path of the unmanned aerial vehicle as claimed in claim 1, wherein in S500, the method for the unmanned aerial vehicle to perform the flying movement according to the connection sequence is as follows: according to the sequence of the central points in the connection sequence Pseq and the three-dimensional coordinates of the central points, the unmanned aerial vehicle flies and moves in sequence, so that a flight path of the unmanned aerial vehicle is obtained, the sequence number of each central point in the sequence Pseq in a set Pset is recorded as p, each central point in the sequence Pseq in the set Pset is recorded as Loc _ p, the number of elements in the sequence Pseq is recorded as t, and the specific steps of the unmanned aerial vehicle moving according to the flight path are as follows:
s5010, starting the unmanned aerial vehicle to fly; go to S501;
s501, enabling the value of p to be 0; go to S502;
s502, judging whether the unmanned aerial vehicle is located at a first positioning coordinate Loc _ be, if so, increasing the value p by 1 and turning to S503, otherwise, stopping the flying movement of the unmanned aerial vehicle and moving to the first positioning coordinate Loc _ be until the first positioning coordinate Loc _ be is reached and then turning to S501;
s503, judging whether the numerical value of p is larger than the numerical value of t, if so, enabling the unmanned aerial vehicle to stop flying and move towards the first positioning coordinate Loc _ be until the first positioning coordinate Loc _ be is reached, and then turning to S504, otherwise, enabling the unmanned aerial vehicle to stop flying and move towards the point Loc _ p until the point Loc _ p is reached, and then turning to S502;
s504, enabling the unmanned aerial vehicle to stop flying and moving and descend in a deceleration mode until the unmanned aerial vehicle contacts the ground, and closing an engine of the unmanned aerial vehicle; and finishing the flight.
3. An unmanned aerial vehicle flight path generation system, the unmanned aerial vehicle flight path generation system comprising: a processor, a memory and a computer program stored in the memory and operable on the processor, the processor implementing the steps of the method for generating a flight path of a drone in claim 1 when executing the computer program to control the drone, the system for generating a flight path of a drone being operable in a computing device of a desktop computer, a notebook computer, a palm computer and a cloud data center, the operable system comprising the processor, the memory and a server cluster, the processor executing the computer program to operate in the units of:
the ascending control unit is used for controlling the unmanned aerial vehicle to start ascending until the unmanned aerial vehicle ascends to the first positioning coordinate;
the data acquisition unit is used for controlling the unmanned aerial vehicle to obtain a full node set through point cloud data acquired by LiDAR;
the node dividing unit is used for dividing the full node set to obtain a plurality of local node sets;
the connection sequence calculation unit is used for calculating and screening a plurality of central points in the local node sets and calculating connection sequences among the central points according to the central points;
the flight movement control unit is used for controlling the unmanned aerial vehicle to carry out flight movement according to the connection sequence;
in S100, the method for the unmanned aerial vehicle to start to ascend until the unmanned aerial vehicle ascends to the first location coordinate includes: after the unmanned aerial vehicle reaches the position of a target building, the unmanned aerial vehicle rises from the ground, meanwhile, a set of points in point cloud data of the target building is obtained by LiDAR and serves as a set Pset, when the number of elements collected in the set Pset is not increased in the process that the unmanned aerial vehicle rises at a constant speed, three-dimensional coordinates of longitude, latitude and elevation, which are obtained by the unmanned aerial vehicle through satellite positioning, are defined as first positioning coordinates, and the unmanned aerial vehicle stops rising at the first positioning coordinates;
in S200, the method for the drone to obtain the full-node set from the point cloud data acquired by the LiDAR includes: after the unmanned aerial vehicle stops rising, emptying elements in the Pset, acquiring each point in point cloud data of a target building by using LiDAR again, adding the points into a set Pset, keeping the total number of the elements in the set Pset as n, representing the serial number of the elements by using a variable i, wherein i belongs to [1, n ], taking the element with the serial number i in the set Pset as Loc _ i, taking the three-dimensional coordinates of the element with the serial number i in the set Pset as (a _ i, b _ i, c _ i), keeping the three-dimensional coordinates of longitude, latitude and altitude obtained by satellite positioning of the Loc _ be as (a, b, c), and taking the set Pset as a full node set;
in S300, the method for dividing the full node set into a plurality of local node sets includes:
the specific process of the procedure for dividing the full node set Pset is as follows:
s301, starting a program; creating a dictionary as Tmap, wherein the dictionary refers to a collection of elements in a data structure, and the dictionary comprises a plurality of key-value pairs, and each key-value pair is formed by one key and one value as value; making Tmap of the dictionary be null; go to S302;
s302, creating an array Darr, and enabling the array Darr to be empty; creating an array Dset, making the array Dset null, and making the array Dset orderly; go to S303;
s303, enabling the numerical value of i to be 1; go to S304;
s304, creating a key taking the serial number i as the key in the dictionary Tmap as key (i), and setting a value corresponding to the key (i) as a null array as value (i); one key value (i) corresponding to one key value in the dictionary Tmap is an array value (i) which is marked as < key value (i) < Tmap, value (i) >, and the key value (i) marked as the sequence number i in the Tmap is marked as Tmap (i), if Tmap (i) = < key value (i) and value (i) >, the array length of value (i) is n-1; go to S305;
s305, adding the key value pair Tmap (i) into the value (i) array thereof to add the sequence number of each element in Pset, and then deleting the sequence number i in the value (i) array; go to S3060;
s3060, acquiring a point with a sequence number of i in the set Pset as Loc _ i, wherein Loc _ i = (a _ i, b _ i, c _ i); creating an empty array darr; turning to S3061;
s3061, setting a variable j, and enabling the value of the j to be 1; setting a variable m, and enabling the value of m to be the number of elements in the value (i) array; turning to S3062;
s3062, acquiring a jth element in the value (i) array as v; turning to S3063;
s3063, acquiring points with the sequence number v in the set Pset as Loc _ v according to v, wherein Loc _ v = (a _ v, b _ v, c _ v); turning to S3064;
s3064, calculating the Euclidean distance between the three-dimensional coordinates of the Loc _ i and the three-dimensional coordinates of the Loc _ v as d (i, v); adding d (i, v) to the array darr; turning to S3065;
s3065, judging whether the number of the elements in the array darr is larger than or equal to the number of the elements in the value (i) array, if so, adding the array darr into the array Dset as the ith element in the array Dset and turning to S3067, otherwise, turning to S3066;
s3066, increasing the value of j by 1; turning to S3062;
s3067, calculating and obtaining an arithmetic mean of elements in the Darr array and recording the arithmetic mean as Darr _ avg; go to S307;
s307, judging whether the number of elements in the array Darr is larger than or equal to n, if so, turning to S3072, and otherwise, turning to S3071;
s3071, increasing the value of i by 1; go to S304;
s3072, calculating and obtaining the arithmetic mean of the elements in the Darr array and recording the arithmetic mean as d _ avg; go to S3080;
s3080, setting the value of i as 1; go to S3081;
s3081, obtaining Tmap (i) through i and further obtaining an array value (i); acquiring the ith element in the array Dset through i and recording the element as an array Dset (i); go to S3082;
s3082, corresponding each element in the array value (i) to the element with the same sequence number in the array Dset (i); go to S3083;
s3083, calling d _ avg in a constant pool; calculating the sequence numbers of all elements with values larger than d _ avg in the array Dset (i) as a screening set; go to S3084;
s3084, acquiring all elements with sequence numbers existing in the screening set in the array value (i) of Tmap (i) as an irrelevant element set, and deleting the elements in the irrelevant element set in the array value (i) of the key value pair of the sequence number i in Tmap; go to S3085;
s3085, judging whether the numerical value of i is greater than or equal to n, if so, turning to S3086, otherwise, turning to S3087;
s3086, outputting Tmap; ending the program;
each key value in the obtained dictionary Tmap corresponds to each point representing Pset, the key value Tmap (i) with the sequence number of i in the dictionary Tmap corresponds to the point with the sequence number of i in the Pset, the element of the array value (i) of Tmap (i) is the sequence number of the point in the Pset, each element in the array value (i) of Tmap (i) represents each point which has possibility of being connected with Loc _ i in the Pset, the array value (i) of the key value Tmap (i) with the sequence number of i in the dictionary Tmap is a local node set, and the dictionary Tmap comprises a plurality of local node sets;
in S400, the method for calculating and screening a plurality of central points in a plurality of local node sets and calculating a connection sequence between the central points according to each central point includes: calculating the centrality of each point of Pset, according to the corresponding key value pair Tmap (i) in the dictionary Tmap of the point Pset (i), obtaining the elements in the array value (i) in the key value pair Tmap (i), if the array value (i) is not empty, then the variable h represents the element in the array value (i), h ∈ value (i), the variable k represents the number of elements in the array value (i), then the point with sequence number h in the set Pset is Loc _ h, the three-dimensional coordinate of the point Loc _ h is Loc _ h = (a _ h, b _ h, c _ h), a _ h, b _ h, c _ h are the values in three dimensions of the three-dimensional coordinate of the point Loc _ h with sequence number h in the Pset, respectively, the centrality of the point Loc _ i with sequence number i in the Pset is recorded as cord (i), when the array value (i) is satisfied and is not empty, the formula for calculating the centrality of Loc _ i, cord (i), according to the Loc _ i and the elements in the number group value (i) of the key value pair tmap (i) is:
therefore, screening out a set of all points which satisfy the condition that the number i of the points in the set Pset corresponds to the key value pair Tmap (i) in the dictionary Tmap as a set Fset;
let the number of elements in the set Fset be el, the number of the elements in the set Fset be f, f belongs to [1, el ], a point with the number f in the set Fset is Loc _ f, the centrality of the point Loc _ f is cord (f), the function log () is a logarithmic function with the base 2, the function exp () is an exponential function with the base natural number e, the centrality threshold is λ, and the formula for calculating the centrality threshold λ is:
recording points meeting constraint conditions of cord (f) and lambda in a set Fset as central points, recording a set formed by the central points as a Pinset, recording a set formed by the centrality of each central point in the Pinset as a Corset, wherein elements of the set Pinset and the set Corset correspond to each other, searching and sequencing the corresponding central points in the set Pinset according to the numerical value of the elements of the set Corset in descending order of numerical value, and sequencing the sequence of each central point in the set Pinset, namely the connecting sequence Pseq.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110883254.2A CN113359865B (en) | 2021-08-03 | 2021-08-03 | Unmanned aerial vehicle flight path generation method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110883254.2A CN113359865B (en) | 2021-08-03 | 2021-08-03 | Unmanned aerial vehicle flight path generation method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113359865A CN113359865A (en) | 2021-09-07 |
CN113359865B true CN113359865B (en) | 2021-11-16 |
Family
ID=77540614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110883254.2A Active CN113359865B (en) | 2021-08-03 | 2021-08-03 | Unmanned aerial vehicle flight path generation method and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113359865B (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103697896A (en) * | 2014-01-13 | 2014-04-02 | 西安电子科技大学 | Unmanned aerial vehicle route planning method |
CN106017472A (en) * | 2016-05-17 | 2016-10-12 | 成都通甲优博科技有限责任公司 | Global path planning method, global path planning system and unmanned aerial vehicle |
CN110543572A (en) * | 2019-08-26 | 2019-12-06 | 杭州奇迹在线科技有限公司 | learning cognitive path generation method based on cognitive map |
CN111967339A (en) * | 2020-07-27 | 2020-11-20 | 北京航空航天大学 | Method and device for planning unmanned aerial vehicle path |
CN112130577A (en) * | 2019-06-25 | 2020-12-25 | 理光软件研究所(北京)有限公司 | Path planning method and device for unmanned flight equipment, unmanned flight equipment and storage medium |
CN112747736A (en) * | 2020-12-22 | 2021-05-04 | 西北工业大学 | Indoor unmanned aerial vehicle path planning method based on vision |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11017679B2 (en) * | 2017-01-13 | 2021-05-25 | Skydio, Inc. | Unmanned aerial vehicle visual point cloud navigation |
-
2021
- 2021-08-03 CN CN202110883254.2A patent/CN113359865B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103697896A (en) * | 2014-01-13 | 2014-04-02 | 西安电子科技大学 | Unmanned aerial vehicle route planning method |
CN106017472A (en) * | 2016-05-17 | 2016-10-12 | 成都通甲优博科技有限责任公司 | Global path planning method, global path planning system and unmanned aerial vehicle |
CN112130577A (en) * | 2019-06-25 | 2020-12-25 | 理光软件研究所(北京)有限公司 | Path planning method and device for unmanned flight equipment, unmanned flight equipment and storage medium |
CN110543572A (en) * | 2019-08-26 | 2019-12-06 | 杭州奇迹在线科技有限公司 | learning cognitive path generation method based on cognitive map |
CN111967339A (en) * | 2020-07-27 | 2020-11-20 | 北京航空航天大学 | Method and device for planning unmanned aerial vehicle path |
CN112747736A (en) * | 2020-12-22 | 2021-05-04 | 西北工业大学 | Indoor unmanned aerial vehicle path planning method based on vision |
Also Published As
Publication number | Publication date |
---|---|
CN113359865A (en) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112526513B (en) | Millimeter wave radar environment map construction method and device based on clustering algorithm | |
US10217284B2 (en) | Augmented virtuality | |
US20200074656A1 (en) | Information processing device, aerial photography path generating method, aerial photography path generating system, program, and recording medium | |
US11113896B2 (en) | Geophysical sensor positioning system | |
US10937325B2 (en) | Collision avoidance system, depth imaging system, vehicle, obstacle map generator, and methods thereof | |
CN106326928B (en) | Target identification method and device | |
JPWO2018198281A1 (en) | Information processing device, aerial photography route generation method, aerial photography route generation system, program, and recording medium | |
CN110650530A (en) | Unmanned aerial vehicle searching and positioning method and device and unmanned aerial vehicle | |
CN110278714A (en) | Obstacle detection method, mobile platform and computer readable storage medium | |
CN113835078B (en) | Signal level joint detection method and device based on local three-dimensional grid | |
CN113359865B (en) | Unmanned aerial vehicle flight path generation method and system | |
CN112119428A (en) | Method, device, unmanned aerial vehicle, system and storage medium for acquiring landing position | |
US20210357620A1 (en) | System, moving object, and information processing apparatus | |
CN117269952A (en) | Method and device for semi-automatically labeling moving target point cloud of 4D imaging millimeter wave radar | |
KR102255410B1 (en) | Apparatus and method for selecting airborne position reference node | |
JP7050809B2 (en) | Information processing equipment | |
WO2023050647A1 (en) | Map updating method and apparatus, computer device, and medium | |
CN117962930B (en) | Unmanned vehicle control method and device, unmanned vehicle and computer readable storage medium | |
KR102666963B1 (en) | Method of calculating flight path, apparatus for calculating flight path, and computer program for the method | |
US11847746B2 (en) | Server and method for generating best view spots | |
CN114998761B (en) | Airplane target detection method and device, electronic equipment and medium | |
CN115755941A (en) | Service processing method, device, equipment and storage medium | |
JP2024066408A (en) | Method and system for integrated operational area surveillance | |
WO2022201545A1 (en) | Image matching apparatus, control method, and non-transitory computer-readable storage medium | |
CN117495898A (en) | Unmanned aerial vehicle target identification tracking method, unmanned aerial vehicle target identification tracking device, unmanned aerial vehicle target identification tracking equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |