CN113359865A - Unmanned aerial vehicle flight path generation method and system - Google Patents

Unmanned aerial vehicle flight path generation method and system Download PDF

Info

Publication number
CN113359865A
CN113359865A CN202110883254.2A CN202110883254A CN113359865A CN 113359865 A CN113359865 A CN 113359865A CN 202110883254 A CN202110883254 A CN 202110883254A CN 113359865 A CN113359865 A CN 113359865A
Authority
CN
China
Prior art keywords
value
aerial vehicle
unmanned aerial
array
tmap
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.)
Granted
Application number
CN202110883254.2A
Other languages
Chinese (zh)
Other versions
CN113359865B (en
Inventor
颜佳
蒋勇
王玉萍
李宝章
李方悦
王拥军
姜海龙
赵振
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Aoya Design Inc
Original Assignee
Shenzhen Aoya Design Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Aoya Design Inc filed Critical Shenzhen Aoya Design Inc
Priority to CN202110883254.2A priority Critical patent/CN113359865B/en
Publication of CN113359865A publication Critical patent/CN113359865A/en
Application granted granted Critical
Publication of CN113359865B publication Critical patent/CN113359865B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • G05D1/106Change 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

Unmanned aerial vehicle flight path generation method and system
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:
Figure 932044DEST_PATH_IMAGE001
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:
Figure 816824DEST_PATH_IMAGE002
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:
Figure 818278DEST_PATH_IMAGE003
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:
Figure 610653DEST_PATH_IMAGE004
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 (7)

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.
2. The method for generating the flight path of the unmanned aerial vehicle as claimed in claim 1, wherein in S100, the method for starting the unmanned aerial vehicle to ascend until the unmanned aerial vehicle ascends to the first location coordinate is as follows: 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.
3. The method of claim 2, wherein 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.
4. The unmanned aerial vehicle flight path generation method of claim 3, wherein in S300, the method of dividing the full node set into the plurality of local node sets comprises:
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.
5. The method of claim 4, wherein in step S400, the steps of screening out a plurality of central points from a plurality of local node sets and calculating a connection sequence between the central points according to the central points comprise: 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:
Figure 370138DEST_PATH_IMAGE001
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:
Figure 125866DEST_PATH_IMAGE002
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.
6. The method for generating the flight path of the unmanned aerial vehicle as claimed in claim 5, 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.
7. 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;
and the flying movement control unit is used for controlling the unmanned aerial vehicle to fly and move according to the connection sequence.
CN202110883254.2A 2021-08-03 2021-08-03 Unmanned aerial vehicle flight path generation method and system Active CN113359865B (en)

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 true CN113359865A (en) 2021-09-07
CN113359865B 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 (7)

* Cited by examiner, † Cited by third party
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
US20180204469A1 (en) * 2017-01-13 2018-07-19 Unmanned Innovation, Inc. Unmanned aerial vehicle visual point cloud navigation
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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
US20180204469A1 (en) * 2017-01-13 2018-07-19 Unmanned Innovation, Inc. Unmanned aerial vehicle visual point cloud navigation
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
CN113359865B (en) 2021-11-16

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
CN112179330A (en) Pose determination method and device of mobile equipment
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
CN114930180A (en) System and method for determining access point location
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
KR102255410B1 (en) Apparatus and method for selecting airborne position reference node
CN117269952A (en) Method and device for semi-automatically labeling moving target point cloud of 4D imaging millimeter wave radar
WO2023050647A1 (en) Map updating method and apparatus, computer device, and medium
CN112334880B (en) Method and device for processing obstacle by movable platform and computer storage 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
CN114998761B (en) Airplane target detection method and device, electronic equipment and medium
US11847746B2 (en) Server and method for generating best view spots
CN115755941A (en) Service processing method, device, equipment and storage medium
JP2024066408A (en) Method and system for integrated operational area surveillance

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