Method and device for generating terrain elevation of UAV route
By dividing the UAV route into route segments and generating flight path dot arrays, and obtaining elevation data of route segments and turning points, the problem of insufficient safety in UAV route planning is solved, and the safety and adaptability of UAVs in complex terrain and turning processes are improved.
Patent Information
- Application Number
- CN202510990473.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-18
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2045-07-18
AI Technical Summary
Existing UAV route planning methods ignore the physical size of the UAV, resulting in lower safety and collision risks in complex terrain and during turns.
The pre-planned route is divided into multiple route segments, and a flight path matrix is generated through interpolation. The elevation data of each node is obtained row by row, especially at inflection points and turns, to ensure the safety of UAV flight.
It improves the safety and environmental adaptability of the UAV in complex terrain and during turns, avoids collisions with terrain or obstacles, and enhances flight reliability.
Smart Images

Figure CN120489144B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of drone inspection technology, and in particular to a method and device for generating terrain elevation of a drone route. Background Art
[0002] In the field of drone inspections, especially unmanned automated inspections, flight safety is a key element in ensuring the successful completion of inspection missions. Because inspection targets are often widespread and characterized by complex topography, flight path planning is essential before drones begin their inspections. This provides the drone with a basic flight path, directly impacting the safety and effectiveness of inspection operations.
[0003] Existing technology for drone route pre-planning employs a simplified modeling approach that abstracts the drone as a point mass. Using a three-dimensional map with elevation information, technicians mark key points on the 3D map and then connect these points to form a preliminary pre-planned route. The drone's flight altitude is then determined based on terrain elevation data for the area covered by the pre-planned route. Finally, the flight is performed using this determined altitude and the pre-planned route. This method is simple and quick, but it ignores the inherent width of drones. This can lead to insufficient safety margins when flying over unusual terrain (such as narrow valleys, near steep slopes, or across dense obstacles). The drone's actual structure could collide with terrain or obstacles on either side of the pre-planned route, posing a serious safety risk.
[0004] In addition, due to the influence of natural wind, control laws, and turning characteristics, if the UAV flies completely according to the pre-planned route during flight operations, there will be a deviation between the terrain elevation passed during the actual flight and the terrain elevation covered by the pre-planned route, which will cause safety hazards. Especially during the turning stage of the UAV, the actual position deviation caused by turning is greater, and the change in the UAV body posture may make the size impact more complicated, making the collision risk significantly higher than the straight-line flight stage. Summary of the Invention
[0005] The embodiments of the present application provide a method and device for generating terrain elevation of a drone route, thereby solving the problem that existing drone route planning methods ignore the physical size of the drone, resulting in low safety during drone flight.
[0006] In the first aspect, an embodiment of the present application provides a method for generating the terrain elevation of a drone route, comprising: dividing the pre-planned route of the drone into multiple route segments at the track points; executing a route elevation planning step based on the current route segment until all route segments are traversed to obtain the terrain elevation of each route segment to determine the terrain elevation of the drone route; wherein the route elevation planning step comprises: interpolating the current route segment to expand it into a flight strip dot matrix; obtaining the elevation data of each node in the flight strip dot matrix row by row, and taking the maximum value of the elevation data in each row as the elevation data of the row to obtain the terrain elevation of the current route segment.
[0007] In combination with the first aspect, in a possible implementation method, the interpolation of the current route segment to expand it into a flight strip point matrix includes: performing longitudinal interpolation on the current route segment; wherein the interpolation density of the longitudinal interpolation is determined according to the terrain change; taking the track point and the longitudinal interpolation point on the current route segment as starting points, and horizontally interpolating to both ends along a direction perpendicular to the current route segment to obtain multiple horizontal interpolation lines; wherein the length of the horizontal interpolation line is a preset multiple of the wingspan length of the drone; based on the coordinates of the track point, the longitudinal interpolation point and each horizontal interpolation point on the multiple horizontal interpolation lines, a flight strip point matrix is constructed with the horizontal interpolation lines as rows and the current route segment as columns.
[0008] In combination with the first aspect, in a possible implementation method, the interpolation of the current route segment to expand it into a flight strip point matrix also includes: before interpolating the current route segment, converting the track points at both ends of the current route segment into rectangular coordinates; after expanding it into a flight strip point matrix, converting the coordinates of each node in the flight strip point matrix into longitude and latitude coordinates.
[0009] In combination with the first aspect, in a possible implementation method, after obtaining the terrain elevation of each of the route segments, it also includes: traversing all track points, and if the track point is an inflection point, executing the inflection point elevation planning step to obtain the terrain elevation at the inflection point; wherein the inflection point elevation planning step includes: constructing a fan-shaped area based on the inflection point and the width of the route strip dot matrix; dividing the fan-shaped area into multiple sub-graphs, and performing longitudinal interpolation on the boundaries of the sub-graphs to obtain multiple longitudinal interpolation lines; obtaining the elevation data of each point on the multiple longitudinal interpolation lines, and taking the maximum value therein as the terrain elevation at the inflection point.
[0010] In combination with the first aspect, in a possible implementation method, the constructing of a fan-shaped area based on the inflection point and the width of the flight strip dot array includes: determining the perpendicular lines of the adjacent route segments on both sides of the inflection point passing through the inflection point, and the angle between the two perpendicular lines; constructing a fan-shaped area with the inflection point as the center of the circle, the angle as the central angle, the two perpendicular lines as boundaries, and half the width of the flight strip dot array as the radius.
[0011] In combination with the first aspect, in a possible implementation method, dividing the sector-shaped area into multiple sub-graphics and performing longitudinal interpolation on the boundaries of the sub-graphics includes: dividing the sector-shaped area into multiple sector-shaped sub-graphics in a co-centric manner; determining the intersection of each sub-graphic on the sector-shaped area, and determining the boundary of each sub-graphic through the intersection and the center of the circle; and performing longitudinal interpolation on the boundary of the sub-graphics.
[0012] In combination with the first aspect, in a possible implementation method, after obtaining the terrain elevation at the inflection point, it also includes: interpolating to both sides of the flight strip lattice at a first distance from the inflection point to widen the flight strip lattice at the first distance; wherein the first distance is determined according to the turning performance of the UAV; obtaining the elevation data of each node in the flight strip lattice at the first distance, and updating the terrain elevation of the route segment at the first distance with the maximum value thereof; based on the width of the flight strip lattice at the first distance, executing the inflection point elevation planning step to update the terrain elevation at the inflection point.
[0013] In combination with the first aspect, in a possible implementation method, after determining the terrain elevation of the drone route, it also includes: when the drone is flying in a straight segment of the drone route, the route segment between the drone's current position and the next track point is used as the current route segment to execute the route elevation planning step to update the terrain elevation of the current route segment; when the drone is in a turning segment of the drone route, the turning point elevation planning step is executed based on the turning center and turning radius of the drone to update the terrain elevation at the turning center.
[0014] In combination with the first aspect, in a possible implementation method, the turning point elevation planning step is performed based on the turning center and turning radius of the UAV, including: constructing a fan-shaped area based on the turning center and the turning radius, including: determining the turning path and turning center angle of the UAV in the current state according to the turning center and turning radius of the UAV; constructing a fan-shaped area with the turning center as the center of the circle, the line from the turning center to the two endpoints of the turning path as the boundary, and the center angle as the turning center angle.
[0015] In the second aspect, an embodiment of the present application provides a terrain elevation generation device for a UAV route for implementing the method described in the first aspect or any possible implementation method of the first aspect, including: a segmentation module for segmenting the pre-planned route of the UAV into multiple route segments at the track point; a route elevation planning module for executing a route elevation planning step based on the current route segment until all route segments are traversed to obtain the terrain elevation of each route segment; wherein the route elevation planning step includes: interpolating the current route segment to expand it into a flight strip dot matrix; obtaining the elevation data of each node in the flight strip dot matrix row by row, and taking the maximum value of the elevation data in each row as the elevation data of the row to obtain the terrain elevation of the current route segment.
[0016] One or more technical solutions provided in the embodiments of this application have at least the following technical effects or advantages:
[0017] This embodiment of the present application improves drone safety by dividing a pre-planned route into multiple segments and independently determining terrain elevation for each segment. It also avoids collisions between the drone and terrain or obstacles on either side of the route by widening the flight path dot matrix. Furthermore, by acquiring elevation data for each node in the flight path dot matrix row by row, the drone's environmental adaptability is improved, allowing it to adapt to more complex terrain. This effectively addresses the problem of existing drone route planning methods that ignore the drone's physical size, resulting in lower flight safety. It also avoids collisions caused by errors in terrain elevation along the route, improving the safety and reliability of drone flight. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments of the present application or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0019] Figure 1 A flowchart of a method for generating terrain elevation for a drone route provided in an embodiment of the present application;
[0020] Figure 2 An example diagram of the flight path dot matrix provided in an embodiment of the present application;
[0021] Figure 3 An example diagram of the terrain elevation at the planned inflection point provided in an embodiment of the present application;
[0022] Figure 4 An example diagram of the widened flight path dot matrix provided in an embodiment of the present application;
[0023] Figure 5 An example diagram of updating the terrain elevation at an inflection point provided in an embodiment of the present application;
[0024] Figure 6 A flowchart of a method for generating terrain elevation at an inflection point provided in an embodiment of the present application;
[0025] Figure 7 A schematic diagram of the structure of the terrain elevation generation device for the drone route provided in an embodiment of the present application. DETAILED DESCRIPTION
[0026] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.
[0027] The following description of some of the technologies involved in the embodiments of this application is provided to facilitate understanding and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of this application. Similarly, for the sake of clarity and conciseness, some descriptions of well-known functions and structures are omitted from the following description.
[0028] Figure 1 This is a flow chart of the method for generating terrain elevation of a drone route provided by an embodiment of the present application, including steps 101 to 106. Figure 1 This is only an execution order shown in the embodiment of the present application, and does not represent the only execution order of the method for generating terrain elevation of a drone route. If the final result can be achieved, Figure 1 The steps shown may be performed in parallel or reversed.
[0029] Step 101: Divide the pre-planned route of the UAV into multiple route segments at the track points. In the embodiment of the present application, the track points on the pre-planned route are obtained, and the sequence of the track points can be expressed as: .in, Indicates the longitude and latitude of the nth track point. The pre-planned route is divided into n-1 route segments at the track point. For example, the first route segment is .
[0030] Those skilled in the art will appreciate that The starting point of the pre-planned route. The start and end points are special track points and are not considered when splitting the route segments.
[0031] Step 102: Interpolate the current route segment to expand it into a flight path dot matrix. In this embodiment of the present application, before interpolating the current route segment, the track points at both ends of the current route segment are converted to rectangular coordinates. After expanding it into a flight path dot matrix, the coordinates of each node in the flight path dot matrix are converted to latitude and longitude coordinates.
[0032] Specifically, when performing interpolation, the latitude and longitude coordinates of the track points can be directly used for calculations. However, the span of 1 degree of latitude and longitude on the Earth's surface is very large. To ensure terrain accuracy during interpolation, the longitude and latitude need to be subdivided into very small intervals, such as 0.01 degree or 0.001 degree intervals. After converting the longitude and latitude coordinates into rectangular coordinates, the unit is meters. This ensures that the interpolation error is small, and the interpolation accuracy does not need to be too small, such as a few meters or tens of meters. After the interpolation is completed, it is converted back to longitude and latitude coordinates, and the interpolation interval is only a few tenths of a degree, or even smaller.
[0033] Exemplarily, the present application uses Gauss-Krüger projection to convert the longitude and latitude coordinates of the track points into rectangular coordinates, and then uses Gauss-Krüger inverse transformation to convert the rectangular coordinates into longitude and latitude coordinates.
[0034] In an embodiment of the present application, longitudinal interpolation is performed on the current route segment. The interpolation density of the longitudinal interpolation is determined according to the terrain changes. Taking the track point and the longitudinal interpolation point on the current route segment as the starting point, multiple transverse interpolation lines are interpolated horizontally to both ends along the direction perpendicular to the current route segment. The length of the transverse interpolation line is a preset multiple of the wingspan length of the drone. Based on the coordinates of the track points, the longitudinal interpolation points and the transverse interpolation points on the multiple transverse interpolation lines, a flight path dot matrix is constructed with the transverse interpolation lines as rows and the current route segment as columns.
[0035] Specifically, longitudinal interpolation is performed on the traversed current route segment from the track point at one endpoint to the track point at the other endpoint. The longitudinal interpolation adopts the linear interpolation method, and the interpolation density of the interpolation points is controlled by the interpolation coefficient. For example, to facilitate calculation, this application adopts the longitudinal interpolation from the i-th track point (the starting point of the i-th route segment) to the i+1-th track point (the end point of the i-th route segment) in the pre-planned route, and the traversed current route segment is represented as the i-th route segment.
[0036] The interpolation coefficient ranges from [0,1]. When the interpolation coefficient is 0, it indicates the starting point of the longitudinal interpolation, and when the interpolation coefficient is 1, it indicates the end point of the longitudinal interpolation. When the interpolation coefficient is (0,1), it indicates the longitudinal interpolation point in the middle of the current route segment. The coordinates of the jth longitudinal interpolation point in the i-th route segment can be expressed as: , at this time, a more dense point sequence is generated on the i-th route segment (the current route segment), which is recorded as .in, represents the rectangular coordinates of the jth longitudinal interpolation point in the i-th route segment, Indicates the starting point of longitudinal interpolation, that is, the rectangular coordinate of the i-th track point, Indicates the end point of longitudinal interpolation, that is, the rectangular coordinate of the i+1th track point, Indicates the interpolation coefficient. The value of the interpolation coefficient indicates the density of the interpolation points. The value can be 0.05, 0.01, 0.1, 0.3, etc. When the terrain changes significantly, Set the value of to be smaller to better depict the terrain. When the terrain changes are not obvious, The value of is set to a larger value to reduce the amount of calculation and improve the calculation efficiency. This application can be flexibly set according to the flatness or steepness of the terrain during route pre-planning. The value of .
[0037] Specifically, starting from each point on the i-th route segment (the current route segment) (including two track points and the longitudinal interpolation point inserted between them), a horizontal interpolation is performed toward both ends in a direction perpendicular to the current route segment. The length L of each horizontal interpolation line is a preset multiple of the drone's wingspan (i.e., the distance from the last horizontal interpolation point on the horizontal interpolation line to the current route segment is equal to the preset multiple of the drone's wingspan). The resulting horizontal interpolation line has a length of twice the preset multiple of the drone's wingspan. It should be noted that linear interpolation is also used for horizontal interpolation.
[0038] The preset multiple here is set to one, that is, the length L of the horizontal interpolation at each end is equal to the length of the drone's wingspan, and the length of the horizontal interpolation line is twice the length of the drone's wingspan.
[0039] For example, the coordinates of the endpoints on the horizontal interpolation line can be calculated using the relationship between the vector perpendicularity and the distance L from the endpoint to the starting point (the length of the horizontal interpolation), as follows.
[0040] ,
[0041] .
[0042] Where, represents the rectangular coordinate of the right endpoint of the horizontal interpolation line starting from the jth vertical interpolation point, represents the rectangular coordinate of the left endpoint of the horizontal interpolation line starting from the j-th vertical interpolation point, represents the rectangular coordinates of the jth longitudinal interpolation point in the i-th route segment, represents the starting point of the longitudinal interpolation, that is, the rectangular coordinate of the i-th track point, and L represents the length of the horizontal interpolation, that is, the wingspan length of the drone.
[0043] Specifically, based on the coordinates of the track points, longitudinal interpolation points and each transverse interpolation point on multiple transverse interpolation lines, a flight path dot matrix is constructed with the transverse interpolation lines as rows and the current route segments as columns. Figure 2 The size shown is The flight strip dot matrix, L represents the length of the lateral interpolation, that is, the wingspan length of the drone, Indicates the starting point of longitudinal interpolation, that is, the rectangular coordinate of the i-th track point, Indicates the endpoint of the longitudinal interpolation, i.e., the rectangular coordinates of the i+1th track point. The nodes in each row of the flight path matrix are points on the same horizontal interpolation line, and the flight path matrix is symmetrical about the current route segment, i.e., the nodes in the middle of each row are points on the current route segment.
[0044] Step 103: Obtain elevation data for each node in the flight path dot matrix row by row, using the maximum value of each row of elevation data as the elevation data for that row to obtain the terrain elevation for the current route segment. In this embodiment of the present application, the elevation data for each row of nodes in the flight path dot matrix is read row by row from the digital elevation map according to the latitude and longitude coordinates of each node in the flight path dot matrix. A terrain elevation profile is obtained by interpolating the horizontal interpolation line of the corresponding row through the rectangular flight path. The maximum value of the elevation data is used as the elevation data for that row. This method determines the elevation data for each row to obtain the terrain elevation for the current route segment.
[0045] Step 104: Determine whether all route segments have been traversed. In this embodiment of the present application, if all route segments have been traversed, then step 106 is executed. If not, then step 105 is executed, and steps 102 to 104 are executed based on the current route segment traversed, until all route segments have been traversed.
[0046] Step 105: Traverse the route segments. Specifically, after step 104, continue to traverse the remaining route segments, and execute steps 102 to 104 based on the current route segment traversed.
[0047] Step 106: Obtain the terrain elevation of each route segment to determine the terrain elevation of the drone route. Specifically, after determining the terrain elevation of all route segments on the pre-planned route, the route segments are sequentially spliced at the track points to obtain the terrain elevation of the drone route.
[0048] In the embodiment of the present application, the pre-planned route is continuous, that is, when dividing the route segments, the starting point of the next route segment is the same as the end point of the previous route segment (sharing a track point). If the shared track point is an inflection point, the directions of the route segments at both ends are inconsistent, which will result in two terrain elevation values when calculating the terrain elevation of the endpoint of the route segment. In addition, for fixed-wing drones, the turning process is continuous, not turning in place. If the terrain elevation of the endpoint of the calculated route segment is used as the terrain elevation at the inflection point, some terrain data will be missed, which will lead to safety hazards. Therefore, this application adopts Figure 6 The method shown, that is, the method in steps 601 to 607 for determining the terrain elevation at the inflection point, is specifically as follows.
[0049] Step 601: Traverse the track points. Specifically, traverse the track points on the pre-planned route one by one, and then execute steps 602 to 607 based on the traversed track points.
[0050] Step 602: Determine whether the track point is an inflection point. In this embodiment of the present application, determine whether the currently traversed track point is an inflection point. If so, execute step 603. If the currently traversed track point is not an inflection point, execute step 601 to continue traversing the remaining track points.
[0051] Step 603: Construct a sector-shaped area based on the inflection point and the width of the flight strip lattice. In this embodiment, the perpendicular lines passing through the inflection point for the adjacent route segments on either side of the inflection point and the angle between the two perpendicular lines are determined. A sector-shaped area is constructed with the inflection point as the center, the angle as the central angle, the two perpendicular lines as the boundaries, and a radius of half the flight strip lattice width.
[0052] Specifically, draw perpendicular lines through the inflection point to the adjacent route segments on both sides, such as Figure 3 As shown, the inflection point is , the adjacent route segments are and , recorded as the i-1th route segment and the i-th route segment. Draw perpendicular lines between the i-1th route segment and the i-th route segment, and we get and . With the inflection point is the center of the circle, and The angle between the two perpendicular lines is the central angle. and A sector-shaped area is constructed with L as the radius and θ as the boundary, which is half the width of the flight strip dot matrix, and two sector-shaped areas are obtained.
[0053] Step 604: Divide the sector-shaped area into multiple sub-graphs and perform longitudinal interpolation on the boundaries of the sub-graphs to obtain multiple longitudinal interpolation lines. In this embodiment of the present application, the sector-shaped area is divided into multiple sector-shaped sub-graphs in a cocentric manner. The intersection of each sub-graph on the sector-shaped area is determined, and the boundaries of each sub-graph are determined by the intersection and the center of the circle. Longitudinal interpolation is performed on the boundaries of the sub-graphs.
[0054] Specifically, the sector-shaped region is divided into multiple sector-shaped sub-graphs in a concentric manner, with the radius of the sub-graphs being equal to the radius of the sector-shaped region. The greater the number of sub-graphs, the finer the segmentation of the sector-shaped region; the fewer the number of sub-graphs, the coarser the segmentation of the sector-shaped region. Here, the number N of sub-graphs of the sector-shaped region is set to 100 for example.
[0055] like Figure 3 As shown, each sector area is exemplarily divided into four sector-shaped sub-graphs. The intersection points of each sector-shaped sub-graph on the arc of the sector area are determined, and the boundary of the sector-shaped sub-graph can be determined based on the line connecting the center of the sector-shaped sub-graph and the intersection point. Longitudinal interpolation is performed on the boundary between the center and the intersection point. The interpolation density here can be equal to the longitudinal interpolation density of the current route segment, resulting in N-1 longitudinal interpolation lines between the center and the intersection point (the boundary of the sector has already been longitudinally interpolated when constructing the route point matrix).
[0056] Similarly, here we can still convert the coordinates of the center of the circle and the intersection point into rectangular coordinates before performing the longitudinal interpolation, and convert the center of the circle, the intersection point and the longitudinal interpolation point back into latitude and longitude coordinates after the interpolation is completed.
[0057] Step 605: Obtain elevation data for each point on the multiple longitudinal interpolation lines, and use the maximum value as the terrain elevation at the inflection point. Specifically, based on the latitude and longitude coordinates of each point (center point, intersection point, and longitudinal interpolation point) on the multiple longitudinal interpolation lines between the center points and intersection points of the two sector-shaped areas, obtain the corresponding elevation data from the digital elevation map, and use the maximum value as the terrain elevation at the inflection point.
[0058] In an embodiment of the present application, taking into account the characteristic parameters of the drone such as flight speed and turning radius in the pre-planning stage, the drone may turn inside or outside the turning point of the pre-planned track. This situation will cause the flight strip dot array determined using the above steps to be unable to cover the safety area required during the turning process. In order to further improve the safety of drone flight in the pre-planning stage, the present application widens the flight strip near the turning point so that it can cover the flight strip offset caused by the turning.
[0059] Specifically, after obtaining the terrain elevation at the inflection point, the following steps can be performed: interpolation is performed on both sides of the flight path lattice at a first distance from the inflection point to widen the flight path lattice at the first distance. The first distance is determined based on the UAV's turning performance. Elevation data for each node in the flight path lattice at the first distance is obtained, and the maximum value among these nodes is used to update the terrain elevation of the route segment at the first distance. Based on the width of the flight path lattice at the first distance, the inflection point elevation planning step is performed to update the terrain elevation at the inflection point.
[0060] Furthermore, the first distance before and after the turning point of the flight strip array is widened to both ends by the first width. The first distance and the first width of the widened flight strip array are set according to the actual turning parameters of the UAV, and the value of the first distance is less than or equal to the actual turning radius of the UAV, and the first width is less than or equal to the difference between the actual turning radius of the UAV and the wingspan length of the UAV. The width of the widened avionics array is , where L represents the wingspan of the drone, which is half the width of the flight strip array before widening. Indicates the first width. Figure 4 As shown in the figure, D represents the first distance, and the figure exemplarily divides the two sector-shaped areas into four sector-shaped sub-graphs.
[0061] Through the inflection point, perpendicular lines are drawn to the two route segments adjacent to the inflection point, and these two perpendicular lines are used as boundaries. The angle between the two perpendicular lines is used as the central angle. Based on the width of the widened flight strip dot matrix as the radius and the inflection point as the center of the circle, a new sector area is constructed, and the sector area is divided into multiple sector sub-graphs with the same center. The intersection points of the sector sub-graphs on the arc of the sector area are determined, and longitudinal interpolation is performed between the center of the circle and the intersection point to obtain multiple longitudinal interpolation lines from the center of the circle to the intersection point. Then, the elevation data of the latitude and longitude coordinates of the center, intersection point and longitudinal interpolation point on the longitudinal interpolation lines on the two sector areas in the digital elevation map are obtained, and the maximum value among them is used as the terrain elevation at the inflection point.
[0062] Step 606: Determine whether all track points have been traversed. In this embodiment of the present application, it is determined whether all left and right track points on the pre-planned route have been traversed. If not, steps 601 to 606 are executed to continue traversing the remaining track points. If all track points have been traversed, step 607 is executed.
[0063] Step 607: Obtaining the terrain elevation at the inflection point. In the embodiment of the present application, after determining the terrain elevation at the inflection point, the terrain elevation at the inflection point can be used to check and correct the terrain elevation of the drone's route.
[0064] In an embodiment of the present application, after determining the terrain elevation of the drone's route, the following can be performed: when the drone is flying in a straight segment of the drone's route, the route segment between the drone's current position and the next track point is used as the current route segment to perform a route elevation planning step to update the terrain elevation of the current route segment. When the drone is in a turning segment of the drone's route, the turning point elevation planning step is performed based on the drone's turning center and turning radius to update the terrain elevation at the turning center.
[0065] Specifically, the drone performs a flight mission based on the drone route. When the drone flies in a straight segment of the drone route, the route segment between the drone's current position and the next track point is used as the current route segment to execute steps 102 and 103, and a new terrain elevation is obtained to update the terrain elevation of the current route segment.
[0066] When the drone is in a turning segment of its route, a turning point elevation planning step is performed based on the drone's turning center and turning radius to update the terrain elevation at the turning center. This includes: constructing a sector-shaped area based on the turning center and turning radius, including: determining the turning path and turning center angle of the drone in its current state based on the drone's turning center and turning radius. The sector-shaped area is constructed with the turning center as the center of the circle, the line connecting the turning center and the two endpoints of the turning path as the boundary, and the center angle as the turning center angle.
[0067] Specifically, when the drone is in a turning segment, the current turning path and turning center angle are calculated based on the drone's turning center and turning radius. The length of the vector from the drone's current position to the turning center is calculated, followed by the angle between the line connecting the current position and the turning center and the reference direction. The turning path and turning center angle are then calculated based on the length of the vector from the current position to the turning center and the angle between the line connecting the current position and the turning center and the reference direction, as detailed below.
[0068] ,
[0069] ,
[0070] .
[0071] Where, represents the center angle of the turning circle, Indicates the length of the vector from the current position of the drone to the turning center, Indicates the turning radius, and Indicates the parameters of the arc where the turning radius is located. represents the turning center, Indicates the current position of the drone, Indicates the angle between the line from the current position of the drone to the turning center and the reference direction. Indicates a parameter, the value range is ,if If it is a negative value, The value range is , which indicates the angle that the drone will turn along the arc starting from its current position. From 0 to (or to 0), calculate the coordinates of the points on the arc, and obtain the point list and center angle on the turning path.
[0072] Those skilled in the art will appreciate that the above method for determining the turning path and turning center angle is merely one embodiment and does not limit the scope of protection of this application. Those skilled in the art may also use other methods to calculate the turning path and turning center angle based on a known turning center and turning radius.
[0073] A sector-shaped area is constructed with the turning center as the center of the circle, the line connecting the turning center and the two endpoints of the turning path as the boundary, and the central angle as the turning center angle. Then, steps 604 and 605 are executed to obtain the new terrain elevation at the turning point, and the new terrain elevation is used to update the current terrain elevation at the turning point.
[0074] like Figure 5 The figure shows an example of updating the terrain elevation at the turning point provided by an embodiment of the present application, where O represents the turning center of the drone. represents the center angle of the turning circle, 、 、 Indicates three consecutive track points on the pre-planned route. Indicates the current position of the drone, Indicates the central angle of the circle that divides the sector area into sector-shaped sub-graphs, and It represents the intersection of a boundary of a sector-shaped sub-graphic and the inner and outer boundaries of the flight path dot matrix. A and B represent the longitudinal interpolation points.
[0075] Although this application provides method operation steps as described in the embodiments or flowcharts, more or fewer operation steps may be included based on routine or non-creative work. The order of steps listed in this embodiment is only one way of executing the steps among many, and does not represent the only execution order. When an actual device or client product executes, the method shown in this embodiment or the accompanying drawings may be executed sequentially or in parallel (for example, in a parallel processor or multi-threaded processing environment).
[0076] like Figure 7As shown, the embodiment of the present application further provides a device 700 for generating terrain elevation of a drone route for implementing the above method. The device comprises: a segmentation module 701 and a route elevation planning module 702, as follows.
[0077] The segmentation module 701 is used to segment the pre-planned route of the UAV into multiple route segments at the track points.
[0078] The route elevation planning module 702 is used to execute the route elevation planning step based on the current route segment until all route segments are traversed to obtain the terrain elevation for each route segment. The route elevation planning step includes interpolating the current route segment to expand it into a flight strip dot matrix. The elevation data for each node in the flight strip dot matrix is obtained row by row, and the maximum value of each row of elevation data is used as the elevation data for that row to obtain the terrain elevation for the current route segment.
[0079] Some modules in the apparatus described herein may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, classes, etc. that perform specific tasks or implement specific abstract data types. The present application may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communications network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.
[0080] The devices or modules described in the above application embodiments can be implemented by computer chips or physical devices, or by products with certain functions. For ease of description, the above devices are described separately by function in various modules. When implementing the embodiments of this application, the functions of each module can be implemented in the same or multiple software and / or hardware. Of course, a module that implements a certain function can also be implemented by combining multiple sub-modules or sub-units.
[0081] The methods, devices, or modules described herein can be implemented in the form of computer-readable program code. The controller can be implemented in any suitable manner. For example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the memory control logic. Those skilled in the art will also appreciate that, in addition to implementing the controller in pure computer-readable program code, the controller can also be implemented in the form of logic gates, switches, an application-specific integrated circuit, a programmable logic controller, an embedded microcontroller, etc. by logically programming the method steps. Therefore, such a controller can be considered a hardware component, and the devices included therein for implementing various functions can also be considered as structures within the hardware component. Or even, the means for implementing various functions may be considered to be both a software module for implementing the method and a structure within a hardware component.
[0082] An embodiment of the present application further provides a device comprising: a processor; a memory for storing processor-executable instructions; and when the processor executes the executable instructions, the method described in the embodiment of the present application is implemented.
[0083] The embodiments of the present application also provide a non-volatile computer-readable storage medium having a computer program or instruction stored thereon. When the computer program or instruction is executed, the method described in the embodiments of the present application is implemented.
[0084] In addition, each functional module in each embodiment of the present invention may be integrated into one processing module, or each module may exist independently, or two or more modules may be integrated into one module.
[0085] The above-mentioned storage media include, but are not limited to, random access memory (RAM), read-only memory (ROM), cache, hard disk drive (HDD), or memory card. Such memory can be used to store computer program instructions.
[0086] Through the description of the above implementation methods, it can be seen that those skilled in the art can clearly understand that the present application can be implemented by means of software plus necessary hardware. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, or can be embodied through the implementation process of data migration. The computer software product can be stored in a storage medium, such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a mobile terminal, a server, or a network device, etc.) to execute the methods described in each embodiment of the present application or certain parts of the embodiments.
[0087] The various embodiments in this specification are described in a progressive manner. The same or similar parts between the various embodiments can be referenced to each other. Each embodiment focuses on the differences from other embodiments. All or part of this application can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld devices or portable devices, tablet devices, mobile communication terminals, multi-processor systems, microprocessor-based systems, programmable electronic devices, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, etc.
[0088] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit the present application. Although the present application has been described in detail with reference to the aforementioned embodiments, a person of ordinary skill in the art should understand that the technical solutions described in the aforementioned embodiments can still be modified, or some or all of the technical features therein can be replaced by equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the present application.
Claims
1. A method for generating terrain elevation of a UAV route, characterized in that: include: Split the drone's pre-planned route into multiple route segments at the track points; Executing a route elevation planning step based on the current route segment until all route segments are traversed to obtain the terrain elevation of each route segment to determine the terrain elevation of the UAV route; The route elevation planning step includes: Interpolating the current route segment to expand it into a flight path dot matrix; wherein interpolating the current route segment includes: performing longitudinal interpolation on the current route segment; taking a track point and a longitudinal interpolation point on the current route segment as starting points, and interpolating horizontally toward both ends in a direction perpendicular to the current route segment to obtain a plurality of horizontal interpolation lines; wherein the length of the horizontal interpolation line is a preset multiple of the wingspan length of the drone; The elevation data of each node in the route strip dot matrix is obtained row by row, and the maximum value of the elevation data in each row is used as the elevation data of the row to obtain the terrain elevation of the current route segment.
2. The method according to claim 1, characterized in that The interpolating the current route segment to expand it into a flight strip dot matrix includes: Based on the coordinates of the track points, longitudinal interpolation points and each transverse interpolation point on multiple transverse interpolation lines, a flight path dot matrix is constructed with the transverse interpolation lines as rows and the current route segments as columns; wherein the interpolation density of the longitudinal interpolation is determined according to terrain changes.
3. The method according to claim 1, characterized in that The interpolating the current route segment to expand it into a flight strip dot matrix further includes: Before interpolating the current route segment, converting the track points at both ends of the current route segment into rectangular coordinates; After it is expanded into a flight path dot matrix, the coordinates of each node in the flight path dot matrix are converted into longitude and latitude coordinates.
4. The method according to claim 1, wherein After obtaining the terrain elevation of each route segment, the method further includes: Traversing all track points, if the track point is an inflection point, executing the inflection point elevation planning step to obtain the terrain elevation at the inflection point; The inflection point elevation planning step includes: Constructing a fan-shaped area based on the inflection point and the width of the flight path dot matrix; Dividing the sector-shaped area into a plurality of sub-graphs, and performing longitudinal interpolation on the boundaries of the sub-graphs to obtain a plurality of longitudinal interpolation lines; The elevation data of each point on the plurality of longitudinal interpolation lines are obtained, and the maximum value thereof is used as the terrain elevation at the inflection point.
5. The method according to claim 4, characterized in that The constructing of a fan-shaped area based on the inflection point and the width of the flight path dot matrix includes: Determine the perpendicular lines of the adjacent route segments on both sides of the inflection point, as well as the angle between the two perpendicular lines; A fan-shaped area is constructed with the inflection point as the center, the included angle as the central angle, two vertical lines as boundaries, and half the width of the flight strip array as the radius.
6. The method according to claim 4, characterized in that The step of dividing the sector-shaped area into a plurality of sub-graphs and performing longitudinal interpolation on the boundaries of the sub-graphs includes: Dividing the sector-shaped area into a plurality of sector-shaped sub-graphs in a co-centric manner; Determine the intersection of each sub-graphic on the sector-shaped area, and determine the boundary of each sub-graphic through the intersection and the center of the circle; A vertical interpolation is performed on the boundary of the sub-graph.
7. The method according to claim 4, characterized in that After obtaining the terrain elevation at the inflection point, the method further includes: Interpolating values on both sides of a flight path array at a first distance from the turning point to widen the flight path array at the first distance; wherein the first distance is determined based on the turning performance of the UAV; Obtaining elevation data of each node in the route dot matrix of the first distance, and updating the terrain elevation of the route segment of the first distance with the maximum value thereof; Based on the width of the flight path point array at the first distance, the inflection point elevation planning step is performed to update the terrain elevation at the inflection point.
8. The method according to claim 4, characterized in that After determining the terrain elevation of the drone route, the method further includes: When the UAV is flying in a straight segment of the UAV route, the route segment between the UAV's current position and the next track point is used as the current route segment to execute the route elevation planning step to update the terrain elevation of the current route segment; When the UAV is in a turning segment of the UAV route, the turning point elevation planning step is performed based on the turning center and turning radius of the UAV to update the terrain elevation at the turning center.
9. The method according to claim 8, characterized in that The step of performing the turning point elevation planning based on the turning center and turning radius of the UAV includes: Constructing a sector-shaped area based on the turning center and the turning radius includes: Determine the turning path and turning center angle of the drone in its current state based on the drone's turning center and turning radius; A sector-shaped area is constructed with the turning center as the center of the circle, the line connecting the turning center to the two end points of the turning path as the boundary, and the central angle as the turning center angle.
10. A device for generating terrain elevation of a UAV route for implementing the method according to any one of claims 1 to 9, characterized in that: include: A segmentation module, used to segment the pre-planned route of the UAV into multiple route segments at the track points; A route elevation planning module, configured to execute a route elevation planning step based on the current route segment until all route segments are traversed to obtain the terrain elevation of each route segment; The route elevation planning step includes: Interpolating the current route segment to expand it into a flight path dot matrix; wherein interpolating the current route segment includes: performing longitudinal interpolation on the current route segment; taking a track point and a longitudinal interpolation point on the current route segment as starting points, and interpolating horizontally toward both ends in a direction perpendicular to the current route segment to obtain a plurality of horizontal interpolation lines; wherein the length of the horizontal interpolation line is a preset multiple of the wingspan length of the drone; The elevation data of each node in the route strip dot matrix is obtained row by row, and the maximum value of the elevation data in each row is used as the elevation data of the row to obtain the terrain elevation of the current route segment.
Citation Information
Patent Citations
Off-line and on-line combined unmanned aerial vehicle ground simulation flight path planning method
CN119414879A