Unmanned aerial vehicle flight control method and apparatus, and electronic device and storage medium

By collecting radar data in real time on the drone to generate elevation maps and updating the planned trajectory, the collision and operation safety threats in the imitation ground flight scheme in the prior art are solved, and the safety and effectiveness of the drone operation are improved.

WO2025066339A1PCT designated stage expired Publication Date: 2025-04-03GUANGZHOU XAIRCRAFT TECH CO LTD

Patent Information

Application Number
PCT/CN2024/101475
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-27
Filing Date
2024-06-26
Publication Date
2025-04-03

AI Technical Summary

Technical Problem

When the existing imitation flight plan uses high-precision map data for global operation route height planning, there are problems such as crashing the plane and threatening the safety of the operation.

Method used

By setting the first radar (forward point cloud data) and the second radar (ground altitude information) on the drone, collect data in real time and generate an elevation map of the current area where the drone is located, update the current planned trajectory of the drone, obtain the target planned trajectory, and control the drone flight based on this.

Benefits of technology

It improves the safety of drone operations and avoids poor operational results and risk of bombs caused by high-precision data that are well-treated in advance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024101475_03042025_PF_FP_ABST
    Figure CN2024101475_03042025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present application are an unmanned aerial vehicle flight control method and apparatus, and an electronic device and a storage medium. The method comprises: acquiring forward point cloud data collected by a first radar, over-ground height information collected by a second radar, and pose information of an unmanned aerial vehicle; on the basis of the point cloud data, the over-ground height information and the pose information, generating an elevation map of the area where the unmanned aerial vehicle is currently located; and on the basis of the elevation map of the area where the unmanned aerial vehicle is currently located, updating the current planned trajectory of the unmanned aerial vehicle to obtain a target planned trajectory, and controlling the flight of the unmanned aerial vehicle on the basis of the target planned trajectory. The operation effect of an unmanned aerial vehicle and the operation safety of the unmanned aerial vehicle can be improved, thereby preventing the problem in the prior art of a poor operation effect caused by using pre-mapped high-precision maps for global operations.
Need to check novelty before this filing date? Find Prior Art

Description

UAV flight control method, device, electronic equipment and storage medium

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on September 27, 2023, with application number 202311273065.9 and invention name “UAV flight control method, device, electronic device and storage medium”, the entire contents of which are incorporated by reference into the application. Technical Field

[0002] The present application relates to the field of drone technology, and more specifically, to a drone flight control method, device, electronic device, and storage medium. Background Art

[0003] Terrain-mimicking flight involves maintaining a constant height difference between the drone and the target object by setting a fixed altitude relative to known three-dimensional terrain during operation. This allows the drone to adapt to varying terrains, automatically generating varying altitude routes based on the survey area's topography, while maintaining consistent ground resolution for optimal operational results. Therefore, how to perform terrain-mimicking flight is a crucial issue that needs to be addressed.

[0004] Currently, a common approach to simulating terrain flight involves using pre-mapped high-precision image data to plan global flight routes and altitudes, then optimizing local trajectories during actual flight to achieve the desired simulating terrain flight effect. However, the inventors discovered that existing approaches pose potential collision risks, threatening operational safety.

[0005] Summary of the Invention

[0006] The purpose of this application is to provide a drone flight control method, device, electronic device and storage medium to address the deficiencies in the above-mentioned prior art, so as to improve the safety of drone operations.

[0007] To achieve the above objectives, the technical solutions adopted in the embodiments of the present application are as follows:

[0008] In a first aspect, an embodiment of the present application provides a method for controlling the flight of a drone, the method comprising: obtaining forward point cloud data collected by a first radar, ground height information collected by a second radar, and the posture information of the drone; generating an elevation map of the area where the drone is currently located based on the point cloud data, the ground height information, and the posture information; updating the current planned trajectory of the drone based on the elevation map of the area where the drone is currently located to obtain a target planned trajectory, and controlling the flight of the drone based on the target planned trajectory.

[0009] In the second aspect, an embodiment of the present application also provides an electronic device, comprising: a processor, a storage medium and a bus, wherein the storage medium stores program instructions executable by the processor. When the application is running, the processor and the storage medium communicate through the bus, and the processor executes the program instructions to perform the following steps: obtaining forward point cloud data collected by a first radar, ground height information collected by a second radar, and the posture information of the drone; generating an elevation map of the area where the drone is currently located based on the point cloud data, the ground height information, and the posture information; updating the current planned trajectory of the drone based on the elevation map of the area where the drone is currently located to obtain a target planned trajectory, and controlling the flight of the drone based on the target planned trajectory.

[0010] In a third aspect, an embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored, and the computer program is read and executes the following steps: obtaining forward point cloud data collected by a first radar, ground height information collected by a second radar, and the posture information of the UAV; generating an elevation map of the area where the UAV is currently located based on the point cloud data, the ground height information, and the posture information; updating the current planned trajectory of the UAV based on the elevation map of the area where the UAV is currently located to obtain a target planned trajectory, and controlling the flight of the UAV based on the target planned trajectory.

[0011] In a fourth aspect, an embodiment of the present application also provides a UAV flight control device, which includes: an acquisition module for acquiring point cloud data collected by a first radar, the ground height information of the current UAV collected by a second radar, and the posture information of the UAV, wherein the first radar is a radar set on the UAV and facing the flight direction of the UAV, and the second radar is a radar set on the UAV and facing the ground; a generation module for generating an elevation map of the area where the UAV is currently located based on the point cloud data, the ground height information, and the posture information; an update module for updating the current planned trajectory of the UAV according to the elevation map of the area where the UAV is currently located, obtaining a target planned trajectory, and controlling the flight of the UAV based on the target planned trajectory.

[0012] The beneficial effects of this application are:

[0013] This application provides a drone flight control method, device, electronic device, and storage medium. This method generates an elevation map of the drone's current location using forward point cloud data collected by a first radar, ground height information collected by a second radar, and the drone's position information. Based on the generated elevation map of the drone's current location, the drone's current planned trajectory is updated to obtain a target planned trajectory, and the drone's flight is controlled based on the target planned trajectory. By obtaining an elevation map of the drone's current location using data collected in real time by the two radars, the drone's operational effectiveness and safety can be improved, avoiding the problem of poor operational effectiveness caused by global operations using high-precision maps drawn in advance in the prior art. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without creative work.

[0015] FIG1 is a schematic diagram of a flow chart of a UAV flight control method provided in an embodiment of the present application;

[0016] FIG2 is a schematic diagram of an occupation grid provided in an embodiment of the present application;

[0017] FIG3 is a schematic diagram of a process for generating a target occupancy grid map according to an embodiment of the present application;

[0018] FIG4 is a schematic diagram of a process for determining first target point cloud data according to an embodiment of the present application;

[0019] FIG5 is a schematic diagram of a process for determining second target point cloud data according to an embodiment of the present application;

[0020] FIG6 is a schematic diagram of a flow chart of determining the coverage range of a second radar according to an embodiment of the present application;

[0021] FIG7 is a schematic diagram of a second radar coverage area provided in an embodiment of the present application;

[0022] FIG8 is a schematic diagram of a process for generating a target occupancy grid map according to an embodiment of the present application;

[0023] FIG9 is a schematic diagram of a process for generating an elevation map of a current area provided by an embodiment of the present application;

[0024] FIG10 is a schematic diagram of a process for determining a target elevation value corresponding to a two-dimensional coordinate provided by an embodiment of the present application;

[0025] FIG11 is a schematic diagram of a device for a drone flight control method provided in an embodiment of the present application;

[0026] FIG12 is a structural block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0027] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. It should be understood that the drawings in the present application only serve the purpose of illustration and description and are not used to limit the scope of protection of the present application. In addition, it should be understood that the schematic drawings are not drawn to scale. The flowcharts used in this application illustrate the operations implemented according to some embodiments of the present application. It should be understood that the operations of the flowcharts can be implemented out of sequence, and steps without logical context can be reversed or implemented simultaneously. In addition, those skilled in the art, under the guidance of the contents of this application, can add one or more other operations to the flowchart, or remove one or more operations from the flowchart.

[0028] In addition, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. The components of the embodiments of the present application generally described and shown in the drawings here can be arranged and designed in various configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the claimed application, but merely represents selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work are within the scope of protection of the present application.

[0029] It should be noted that the term "comprising" will be used in the embodiments of the present application to indicate the existence of the features declared thereafter, but does not exclude the addition of other features.

[0030] The existing technology uses a high-precision map data machine that has been mapped in advance to perform global operation route altitude planning. This method only requires a one-time loading of the global map before the drone takes off. However, it has many disadvantages and can easily lead to poor operation results and even the risk of crashing the drone. The specific reasons are as follows:

[0031] First, high-precision mapping is mainly carried out by high-precision imaging cameras. Under poor lighting conditions, the restoration effect of relatively small obstacles or terrain is not particularly ideal, which can easily lead to incomplete recovery of high-precision point clouds of obstacles such as power lines and tree branches. If such high-precision images are used during drone altitude planning, the risk of collision will increase.

[0032] Second, HD maps are time-sensitive. In agricultural scenarios, crop growth cycles are short, and if HD maps are not updated for a period of time after surveying, the terrain information they reflect will differ significantly from the actual operation scene, posing a threat to operational safety.

[0033] Third, the overall accuracy of the high-definition image processing is significantly affected by the drone's altitude positioning accuracy. If there is an error in altitude positioning, the overall height of the high-definition image will also be accompanied by a large deviation, causing the actual altitude of the drone to be too low or too high above the ground. Too low can easily cause the drone to crash, while too high can greatly reduce the effectiveness of the operation.

[0034] Based on the above problems, the embodiments of the present application propose a UAV flight control method, which uses the forward point cloud and ground altitude collected in real time by the radar on the UAV to generate an accurate elevation map in real time, and then uses the elevation map to control the flight trajectory in real time, thereby avoiding many problems existing in the existing technology and ensuring the safety of the UAV's flight operations.

[0035] Optionally, the drone flight control method provided in the embodiments of the present application can be applied to a drone or a drone control device. When applied to a drone, the drone executes the method of the embodiments of the present application and controls its own flight. When applied to a control device, the control device can remotely communicate with the drone in real time, obtain radar data from the drone in real time based on the real-time communication connection, and execute the method of the embodiments of the present application to remotely control the drone's flight.

[0036] The specific implementation process of the drone flight control provided in the embodiments of the present application is explained in detail below.

[0037] FIG1 is a flow chart of a method for controlling a drone flight according to an embodiment of the present application. As shown in FIG1 , the method includes:

[0038] S101: Obtain forward point cloud data collected by a first radar, ground height information collected by a second radar, and position information of the UAV.

[0039] Among them, the first radar may refer to a radar installed on the drone and facing the flight direction of the drone, such as a millimeter-wave swing radar; the second radar may refer to a radar installed on the drone and facing the ground, such as a millimeter-wave ground-following radar.

[0040] Optionally, while the UAV is flying along the currently planned trajectory, the first radar can be used to scan the terrain in front of the current UAV on the currently planned trajectory in real time. Specifically, the millimeter-wave radar can be driven up and down in the horizontal direction to scan the terrain in front, and point cloud data of the terrain in front of the current UAV location can be collected. Each point cloud data can refer to three-dimensional radar point cloud data in a spherical coordinate system. Each point cloud data can include four information: horizontal angle, vertical angle, straight-line distance and timestamp. It can also refer to the coordinate information of each point cloud in the spherical coordinate system and the timestamp information of scanning the point cloud data.

[0041] Optionally, a second radar can scan the terrain below the drone on its currently planned trajectory in real time to collect ground altitude information for the drone's current location. This altitude refers to the drone's altitude relative to the highest point within its detection range at its current location. For example, if a certain point is the highest point within the drone's current detection range, the altitude information collected by the drone is the drone's altitude relative to that point.

[0042] Optionally, the position information refers to the position coordinate information and timestamp information of the drone when the drone is scanning at the current position. The position coordinate information may refer to the longitude and latitude coordinate information of the drone and the timestamp information of the drone.

[0043] Optionally, by adaptively adjusting the swing radar to scan the forward terrain, the swing radar can adjust the swing scanning frequency of the forward millimeter-wave radar motor according to the current operating speed of the UAV, thereby reducing the lag in forward terrain recovery.

[0044] S102: Generate an elevation map of the area where the drone is currently located based on the point cloud data, the height above the ground information, and the posture information.

[0045] Optionally, a preset method can be used to determine an elevation map of the area where the drone is currently located based on point cloud data of the terrain ahead scanned by the drone at its current location, the ground height information of the drone's current location, and the drone's current posture information. The area where the drone is currently located refers to an elevation map of the area within the detection range that the drone can scan at its current location.

[0046] The elevation map may include the positions of multiple two-dimensional coordinates and the heights corresponding to the positions of the two-dimensional coordinates, that is, a radar three-dimensional elevation map.

[0047] S103: Update the current planned trajectory of the drone according to the elevation map of the area where the drone is currently located, obtain the target planned trajectory, and control the flight of the drone based on the target planned trajectory.

[0048] Optionally, the current planned trajectory of the drone can be updated based on the height information in the elevation map of the current area obtained by the drone scan. Specifically, the altitude of the drone flight can be updated based on the height information of the current area to obtain the target planned trajectory, and the drone flight can be controlled based on the target planned trajectory.

[0049] Optionally, an elevation map of the current area of ​​the drone is generated based on the data obtained by scanning the current area by the drone, and the current planned trajectory of the drone is updated based on the generated elevation map of the current area, so that the target planned trajectory of the drone can be continuously updated based on the update of the data of the current area scanned by the drone, and the online elevation map can be updated in real time. Specifically, the point cloud data of the terrain ahead of the drone collected by the swing radar and the ground height information collected in real time by the ground-simulating radar can make the data information collected by the drone more comprehensive, so that the target trajectory planning obtained by the drone based on the data information collected by the two radars is more accurate, thereby improving the safety of the drone during flight; and planning the flight trajectory of the drone based on the elevation map of the current area can avoid the timeliness of planning based on high-precision maps drawn in advance in the existing technology, further improving the operational safety of the drone; in addition, it can also avoid the problem of the actual height of the drone being too high or too low due to the influence of the drone's altitude positioning when solving the high-precision map.

[0050] In this embodiment, an elevation map of the drone's current location is generated using point cloud data collected by the first radar, height-to-ground information collected by the second radar, and the drone's position information. Based on this generated elevation map, the drone's current planned trajectory is updated to obtain a target planned trajectory, and the drone's flight is controlled based on the target planned trajectory. By using real-time data collected by both radars to generate an elevation map of the drone's current location, the drone's operational effectiveness and safety are enhanced, avoiding the problem of poor operational effectiveness that often occurs when global operations are performed using pre-constructed, high-precision maps, as is the case with existing technologies.

[0051] Optionally, generating an elevation map of the area where the drone is currently located based on the point cloud data, the height above the ground information, and the posture information in S102 may include:

[0052] Based on the point cloud data, ground height information, and posture information, a target occupancy grid map is generated. The target occupancy grid map may include multiple target occupancy grids, each corresponding to a sub-area of ​​the area where the drone is located. Each target occupancy grid may also include multiple point cloud data. Based on this, an elevation map of the area where the drone is currently located can be generated based on the point cloud data of each target occupancy grid in the target occupancy grid map. The specific process of generating the elevation map is described in detail in steps S701-S702 below.

[0053] Exemplarily, the relationship between the target occupancy grid map and the area where the drone is currently located can be illustrated by Figure 2. As shown in Figure 2, for a sub-area 1 of the area where the drone is currently located, it can correspond to the target occupancy grid A in the target occupancy grid map. The target occupancy grid A can include multiple point cloud data. The elevation value of the position can be determined based on the multiple point cloud data in the target grid A, and then an elevation map of the drone in the current sub-area 1 can be generated.

[0054] In this embodiment, an elevation map of the area where the drone is currently located is generated by using multiple target occupation grids in the generated target occupation grid map, so that the obtained elevation map of the area where the drone is currently located can be more accurate and comprehensive.

[0055] FIG3 is a schematic diagram of a process for generating a target occupancy grid map according to an embodiment of the present application. As shown in FIG3 , generating a target occupancy grid map based on point cloud data, height above ground information, and posture information may include:

[0056] S201: Determine, based on the point cloud data and the position and posture information, a plurality of first target point cloud data within the coverage range of the first radar.

[0057] The coverage range of the first radar may refer to the coverage range of the forward terrain scanned by the drone at its current location. The first radar may send point cloud data at regular time intervals, and the point cloud data sent each time may be used as a frame of point cloud data. Each frame of point cloud data may include multiple point cloud data, and each point cloud data includes a timestamp. For example, the first radar may send the collected point cloud data of the forward terrain every 30ms. Then, for the current area of ​​the drone, multiple frames of point cloud data of the forward terrain of the current area may be scanned and obtained; the posture information refers to the posture information of the first radar when scanning each frame of point cloud data, and may also include the posture timestamp of the drone.

[0058] Optionally, the point cloud data collected by the first radar is coordinate data in a spherical coordinate system. The collected point cloud data can be converted into coordinates in a world coordinate system by the following formula, where the world coordinate system refers to Cartesian coordinates. y=x*tanφ y=x*tanθ

[0059] Among them, r refers to the straight-line distance of each point cloud data, φ refers to the horizontal angle of each point cloud data, and θ refers to the vertical angle of each point cloud data.

[0060] S202: Determine a plurality of second target point cloud data within the coverage of a second radar based on the current UAV height-to-ground information.

[0061] Optionally, based on the current drone's altitude above the ground obtained by scanning with the second radar of the current drone and the scanning coverage of the second radar of the current drone, a plurality of second target point cloud data within the coverage of the second radar can be obtained. The second target point cloud data can refer to the two-dimensional coordinate information and elevation information of the horizontal plane of each sub-area within the coverage of the second radar.

[0062] S203 : Generate a target occupancy grid map according to the plurality of first target point cloud data, the plurality of second target point cloud data, and the current three-dimensional grid map.

[0063] The horizontal plane of the current three-dimensional grid map may include positions of multiple consecutive integer two-dimensional coordinates.

[0064] Optionally, a target occupancy grid map can be generated using a preset method based on multiple first target point cloud data, multiple second target point cloud data and the current three-dimensional grid map, wherein the target occupancy grid map may refer to the target occupancy grid map occupied by the first target point cloud data and / or the second target point cloud data.

[0065] FIG4 is a schematic diagram of a process for determining first target point cloud data according to an embodiment of the present application. As shown in FIG4 , determining a plurality of first target point cloud data within the coverage area of ​​the first radar based on the point cloud data and the pose information in S201 may include:

[0066] S301. Obtain a timestamp difference based on the point cloud time information in the point cloud data and the posture time information in the posture information of the drone.

[0067] Among them, the point cloud time information may refer to the timestamp of each frame of point cloud data obtained by the drone scanning in the above S201, and the posture time information refers to the timestamp of the drone posture information when the drone scans each frame of point cloud data in the above S201. Then, when the drone scans the terrain in front of the current area, the difference between the point cloud timestamp of each frame of point cloud data scanned and the posture timestamp in the drone posture information when scanning the frame of point cloud data is calculated to obtain the timestamp difference.

[0068] S302: If the timestamp difference is less than or equal to a preset threshold, the point cloud data is used as the first target point cloud data.

[0069] Optionally, if the difference between the timestamp of each frame of point cloud data and the pose timestamp in the drone pose information at the time of scanning the frame of point cloud data is less than or equal to a preset threshold, the scanned point cloud data of that frame can be used as the first target point cloud data. If the timestamp difference is greater than the preset threshold, the point cloud data of that frame can be discarded, indicating that there is a problem with the scanned point cloud data of that frame.

[0070] The preset threshold value may be, for example, 50 ms, or other values, which are not limited.

[0071] Optionally, for the current area where the drone is located, multiple frames of point cloud data can be scanned and obtained, and each frame of point cloud data can include multiple point cloud data. According to the above steps S301 and S302, multiple first target point cloud data of the scanned current area can be obtained, that is, multiple frames of first target point cloud data can be obtained, and the obtained multiple first point cloud data can be used for the following generation of the target occupancy grid map.

[0072] In this embodiment, by filtering the scanned point cloud data, the noisy point cloud data in the real-time radar point cloud can be effectively filtered out, so that the generated elevation map of the area where the drone is currently located is closer to the actual working environment.

[0073] FIG5 is a schematic diagram of a process for determining second target point cloud data according to an embodiment of the present application. As shown in FIG5 , determining a plurality of second target point cloud data within the coverage range of the second radar based on the current drone altitude information in S202 may include:

[0074] S401: Determine the coverage range of the second radar based on the detection angle and ground height information of the second radar.

[0075] The coverage of the second radar refers to the terrain area below the current drone that can be scanned by the second radar when the drone is at its current location.

[0076] S402: Determine the altitude of the coverage range of the second radar based on the altitude information of the current position of the drone relative to the take-off point and the altitude information above the ground.

[0077] Among them, the height information relative to the ground refers to the height information of the current UAV's position relative to the ground obtained by the second radar in the above S101, for example, it can be represented by Hg. The height information of the current UAV's position relative to the take-off point can be collected by the measuring device on the UAV, and the latitude and longitude coordinate information of the current UAV can be collected and converted into the world coordinate system. Then, the x-coordinate, y-coordinate and z-coordinate of the current UAV can be obtained, thereby obtaining the height information of the current UAV, for example, it can be represented by Hcurrent.

[0078] Optionally, the altitude can be the altitude of the current position of the drone relative to the take-off point minus the current altitude of the drone above the ground, then elevation = Hcurrent - Hg, where elevation is the altitude of the coverage range of the second radar.

[0079] S403 : Determine a plurality of second target point cloud data according to the coverage range of the second radar and the altitude of the coverage range of the second radar.

[0080] Optionally, the process of determining the second target point cloud data based on the coverage range of the second radar and the altitude of the coverage range of the second radar is described in detail through the following specific embodiment of determining the second target point cloud data.

[0081] FIG6 is a schematic diagram of a flow chart of determining the coverage range of a second radar according to an embodiment of the present application. As shown in FIG6 , determining the coverage range of the second radar according to the detection angle and ground height information of the second radar in S401 may include:

[0082] S501: Determine a short diameter value of a coverage range of a second radar according to a first detection angle and a ground height of the UAV.

[0083] Optionally, the detection angle range of the drone is related to the attributes of the drone. The detection angle range of the drone can be obtained based on the attribute information of the drone. The detection angle range of the drone can be expressed as (α1, α2). For example, the detection angle range of a certain drone is (26°, 44°), where α1 can refer to the first detection angle of the drone.

[0084] Optionally, the ground altitude refers to the current UAV ground altitude collected by the second radar, then the short diameter value of the coverage range of the second radar is specifically Among them, H gis the height above the ground, α1 is the first detection angle, and R1 is the short diameter value.

[0085] S502: Determine the long-diameter value of the coverage range of the second radar according to the second detection angle and the height above the ground of the UAV.

[0086] Optionally, the second detection angle is α2 as mentioned above, and the long diameter value of the blocking range of the second radar is specifically

[0087] S503: Obtain the coverage range of the second radar according to the short diameter value and the long diameter value.

[0088] Optionally, the coverage of the second radar may be an ellipse with a short diameter of R1 and a long diameter of R2.

[0089] Specifically, the coverage range of the second radar can be represented by FIG7 , and the elevation value of the highest point in the coverage range can be used as the current UAV height-to-ground information collected by the second radar, such as H in FIG7 . g .

[0090] Optionally, determining the plurality of second target point cloud data according to the coverage range of the second radar and the altitude of the coverage range of the second radar in S403 may include:

[0091] Optionally, the altitude is used as the height value of each grid within the coverage range of the second radar. Where the coverage range of the second radar may include multiple grids, such as the two-dimensional grid of the second radar coverage range on the horizontal plane shown in FIG. 7 , the altitude calculated in S402 is used as the height value of each grid within the coverage range of the second radar.

[0092] Optionally, the three-dimensional coordinates of each grid within the coverage area of ​​the second radar are obtained based on the two-dimensional coordinates of each grid and the height value of each grid, and the three-dimensional coordinates of each grid are respectively used as a second target point cloud data. The two-dimensional coordinates of each grid may refer to the position coordinates of the sub-area of ​​the coverage area of ​​the second radar on the horizontal plane in the world coordinate system. After assigning the two-dimensional coordinates of each grid, the three-dimensional coordinates of each grid can be obtained. The three-dimensional coordinates are Cartesian coordinates and belong to the same coordinate system as the coordinates of the first target point cloud data.

[0093] In this embodiment, the coverage range of the second radar is obtained based on the current drone's ground height information collected by the second radar, and multiple second point cloud target data in the world coordinate system within the coverage range of the second radar are sparsely obtained, so that a target occupancy grid map can be generated based on the second target point cloud data.

[0094] FIG8 is a schematic diagram of a process for generating a target occupancy grid map according to an embodiment of the present application. As shown in FIG8 , generating the target occupancy grid map according to the plurality of first target point cloud data, the plurality of second target point cloud data, and the current three-dimensional grid map in S203 may include:

[0095] S601 : inserting the first target point cloud data and the second target point cloud data into each three-dimensional grid in the current three-dimensional grid map according to the position information of the first target point cloud data and the position information of the second target point cloud data.

[0096] Specifically, according to the position information of the first target point cloud data, that is, the world coordinate information of the first target point cloud data, the first target point cloud data is inserted into a three-dimensional grid consistent with the position coordinates of the first target point cloud data, and the second target point cloud data is inserted into a three-dimensional grid consistent with the position coordinates of the second target point cloud data. Then, for some three-dimensional grids in the current three-dimensional grid map, one or more first target point cloud data and / or second target point cloud data may be included.

[0097] S602 : Filter out multiple target-occupied grids from the three-dimensional grids according to the number of point clouds in each three-dimensional grid.

[0098] Specifically, a three-dimensional grid containing a number of point cloud data greater than or equal to a preset number may be used as a target occupied grid; a three-dimensional grid containing a number of point cloud data less than a preset number may not be used as a target occupied grid.

[0099] For example, if each point cloud data is assigned a value, for example, the occupancy value of each point cloud data is assigned to 0.35, when the occupancy value of each three-dimensional grid reaches 1, the three-dimensional grid is the target occupied grid, that is, when the three-dimensional grid includes three or more point cloud data, the three-dimensional grid is an occupied grid, that is, the target occupied grid.

[0100] S603: Generate a target occupation grid map according to each target occupation grid.

[0101] Optionally, each target occupancy grid in the target occupancy grid map may include point cloud data greater than or equal to a preset amount.

[0102] FIG9 is a schematic diagram of a process for generating an elevation map of a current area provided by an embodiment of the present application. As shown in FIG9 , generating an elevation map of the current area of ​​a drone based on point cloud data of each target-occupied grid in a target-occupied grid map may include:

[0103] S701: Determine a target elevation value corresponding to each two-dimensional coordinate based on point cloud data within each target-occupied grid in the target-occupied grid map and a plurality of preset continuous integer two-dimensional coordinates.

[0104] Optionally, the target occupancy grid map may include multiple consecutive integer two-dimensional coordinates, each integer two-dimensional coordinate may refer to a position of the target occupancy grid map on the entire horizontal plane, for example, each two-dimensional coordinate may be (1,1), (1,2), (1,3)….

[0105] Optionally, each two-dimensional coordinate may include at least one three-dimensional grid, and the target elevation value of the two-dimensional coordinate may be determined based on the target occupied grids contained in each two-dimensional coordinate and the point cloud data in each target occupied grid.

[0106] S702: Generate an elevation map of the area where the drone is currently located based on the two-dimensional coordinates and the target elevation values ​​corresponding to the two-dimensional coordinates.

[0107] Specifically, the target elevation value corresponding to the two-dimensional coordinate can be used as the elevation value of the two-dimensional coordinate. Then, the elevation value of the area where the drone is currently located can be generated according to each two-dimensional coordinate and the target elevation value corresponding to each two-dimensional coordinate.

[0108] FIG10 is a schematic diagram of a process for determining a target elevation value corresponding to a two-dimensional coordinate provided by an embodiment of the present application. As shown in FIG10 , the above-mentioned S701, determining the target elevation value corresponding to each two-dimensional coordinate based on the point cloud data within each target occupation grid in the target occupation grid map and a plurality of preset consecutive integer two-dimensional coordinates, may include:

[0109] S801: Determine at least one candidate occupied grid and target point cloud data in the candidate occupied grid contained in the target occupied grid map for each two-dimensional coordinate.

[0110] The to-be-selected occupied grid may refer to any one of all the target occupied grids included in the two-dimensional coordinates, and the at least one to-be-selected occupied grid refers to all the target occupied grids included in the two-dimensional coordinates.

[0111] S802: Select a maximum height value of target point cloud data from at least one selected occupied grid as a target elevation value corresponding to the two-dimensional coordinate.

[0112] Optionally, the maximum height value is selected from all target point cloud data in all the to-be-selected occupied grids contained in the two-dimensional coordinates as the target elevation value corresponding to the two-dimensional group.

[0113] Exemplarily, for the two-dimensional coordinate (1, 2), if the maximum height value among all the point cloud data at this two-dimensional coordinate position in the target occupancy grid map is selected as 5, then the target elevation value at this two-dimensional coordinate position is 5, and 5 can be assigned to the position of this two-dimensional coordinate (1, 1).

[0114] Optionally, the method may further include:

[0115] Optionally, the storage address corresponding to the two-dimensional coordinate is obtained according to the linear mapping function. Specifically, a storage address can be obtained through the linear function addr = x + y << n, where n can refer to the number of all two-dimensional coordinates with elevation information. Each two-dimensional coordinate can be stored in the obtained storage address, so as to avoid frequently reallocating a whole continuous storage space every time new point cloud data is inserted into the three-dimensional grid map, reducing the overhead on the processor and improving the efficiency of the algorithm.

[0116] Optionally, the target elevation value corresponding to the two-dimensional coordinate can be stored in the storage address. Optionally, after determining the target elevation values of each two-dimensional coordinate in the above step S802, each two-dimensional coordinate can be obtained through the storage address of each two-dimensional coordinate and the target elevation value of each two-dimensional coordinate can be stored in this storage address. Then, the storage address may include {a: (1, 2), b: 5}. For the position of the two-dimensional coordinate (1, 2), the highest height at this position in the current three-dimensional grid map is 5.

[0117] Optionally, a corresponding hash table can be established to store each two-dimensional coordinate and the target elevation value of each two-dimensional coordinate. Then, when constructing the elevation map of the current area, the elevation map of the area where the UAV is currently located can be constructed according to each two-dimensional coordinate and the target elevation value of each two-dimensional coordinate in the hash table.

[0118] In the embodiment of the present application, in the absence of a high-precision map, the elevation map of the area where the UAV is currently located can also be generated through real-time sensors, guiding the UAV to perform three-dimensional digital terrain following operations, greatly improving the agricultural production efficiency.

[0119] FIG. 11 is a schematic diagram of a device for a UAV flight control method provided by an embodiment of the present application. As shown in FIG. 11, the device includes:

[0120] An acquisition module 901, configured to acquire point cloud data collected by a first radar, the ground height information of the current UAV collected by a second radar, and the pose information of the UAV, where the first radar is a radar disposed on the UAV and facing the flight direction of the UAV, and the second radar is a radar disposed on the UAV and facing the ground;

[0121] A generating module 902 is configured to generate an elevation map of the area where the UAV is currently located based on the point cloud data, the height above the ground information, and the posture information;

[0122] The updating module 903 is used to update the current planned trajectory of the UAV according to the elevation map of the area where the UAV is currently located, obtain a target planned trajectory, and control the flight of the UAV based on the target planned trajectory.

[0123] Optionally, the generating module 902 is specifically configured to:

[0124] generating a target occupancy grid map based on the point cloud data, the height above the ground information, and the posture information, wherein the target occupancy grid map includes a plurality of target occupancy grids, each target occupancy grid corresponding to a sub-area in the area where the drone is located, and each target occupancy grid includes a plurality of point cloud data;

[0125] An elevation map of the area where the drone is currently located is generated based on the point cloud data of each target-occupied grid in the target-occupied grid map.

[0126] Optionally, the generating module 902 is specifically configured to:

[0127] Determining, based on the point cloud data and the pose information, a plurality of first target point cloud data within the coverage range of the first radar;

[0128] Determining a plurality of second target point cloud data within the coverage range of the second radar according to the current altitude information of the UAV above the ground;

[0129] An object occupancy grid map is generated according to the plurality of first object point cloud data, the plurality of second object point cloud data, and the current three-dimensional grid map.

[0130] Optionally, the generating module 902 is specifically configured to:

[0131] Obtaining a timestamp difference based on point cloud time information in the point cloud data and posture time information in the posture information of the drone;

[0132] If the timestamp difference is less than or equal to a preset threshold, the point cloud data is used as the first target point cloud data.

[0133] Optionally, the generating module 902 is specifically configured to:

[0134] determining a coverage range of the second radar according to the detection angle range of the second radar and the height above the ground information;

[0135] Determining the altitude of the coverage range of the second radar according to the altitude information of the current position of the UAV relative to the take-off point and the altitude above the ground information;

[0136] The plurality of second target point cloud data are determined according to the coverage range of the second radar and the altitude of the coverage range of the second radar.

[0137] Optionally, the generating module 902 is specifically configured to:

[0138] Determining a short diameter value of a coverage range of the second radar according to the first detection angle of the UAV and the height above the ground;

[0139] Determining a long-diameter value of a coverage range of the second radar according to the second detection angle of the UAV and the height above the ground;

[0140] The coverage range of the second radar is obtained according to the short diameter value and the long diameter value.

[0141] Optionally, the generating module 902 is specifically configured to:

[0142] Using the altitude as the height value of each grid within the coverage area of ​​the second radar;

[0143] The three-dimensional coordinates of each grid are obtained according to the two-dimensional coordinates of each grid within the coverage range of the second radar and the height value of each grid, and the three-dimensional coordinates of each grid are respectively used as the second target point cloud data.

[0144] Optionally, the generating module 902 is specifically configured to:

[0145] Inserting the first target point cloud data and the second target point cloud data into each three-dimensional grid in the current three-dimensional grid map according to the position information of each first target point cloud data and the position information of the second target point cloud data;

[0146] Filtering a plurality of target-occupied grids from the three-dimensional grids according to the number of point clouds in each three-dimensional grid;

[0147] The target occupancy grid map is generated according to each target occupancy grid.

[0148] Optionally, the generating module 902 is specifically configured to:

[0149] Determining the target elevation value corresponding to each of the two-dimensional coordinates based on the point cloud data within each target occupied grid in the target occupied grid map and a plurality of preset continuous integer two-dimensional coordinates;

[0150] An elevation map of the area where the drone is currently located is generated based on the two-dimensional coordinates and the target elevation values ​​corresponding to the two-dimensional coordinates.

[0151] Optionally, the generating module 902 is specifically configured to:

[0152] Determine at least one candidate occupied grid and target point cloud data in the candidate occupied grid contained in the target occupied grid map for each of the two-dimensional coordinates;

[0153] The maximum height value of the target point cloud data is selected from the at least one selected occupied grid as the target elevation value corresponding to the two-dimensional coordinate.

[0154] Optionally, the device further includes:

[0155] The storage module 904 is configured to obtain a storage address corresponding to the two-dimensional coordinate according to a linear mapping function, and store the target elevation value corresponding to the two-dimensional coordinate in the storage address.

[0156] FIG12 is a structural block diagram of an electronic device 1000 provided in an embodiment of the present application. As shown in FIG12 , the electronic device may include: a processor 1001 and a memory 1002 .

[0157] Optionally, a bus 1003 may also be included, wherein the memory 1002 is used to store machine-readable instructions executable by the processor 1001 (for example, execution instructions corresponding to the acquisition module, generation module, and update module in the device in Figure 9, etc.). When the electronic device 1000 is running, the processor 1001 communicates with the memory 1002 through the bus 1003, and when the machine-readable instructions are executed by the processor 1001, the method steps in the above method embodiment are executed.

[0158] An embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the method steps in the above-mentioned embodiment of the drone flight control method are executed.

[0159] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the system and device described above can refer to the corresponding process in the method embodiment, and will not be repeated in this application. In the several embodiments provided in this application, it should be understood that the disclosed system, device and method can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the modules is only a logical function division. There may be other division methods in actual implementation. For example, multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.

[0160] In addition, the functional units in the various embodiments of the present application can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in the various embodiments of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0161] The above is only a specific implementation method of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with this technical field can easily think of changes or replacements within the technical scope disclosed in this application, which should be covered by the protection scope of the present application.

Claims

1. A method for controlling the flight of an unmanned aerial vehicle, wherein: The method comprises: Obtain forward point cloud data collected by the first radar, ground height information collected by the second radar, and position information of the UAV; Generate an elevation map of the area where the drone is currently located according to the point cloud data, the height above the ground information, and the posture information; According to the elevation map of the area where the drone is currently located, the current planned trajectory of the drone is updated to obtain a target planned trajectory, and the flight of the drone is controlled based on the target planned trajectory.

2. The UAV flight control method according to claim 1, wherein: The step of generating an elevation map of the area where the drone is currently located according to the point cloud data, the height above the ground information, and the posture information includes: Generate a target occupancy grid map according to the point cloud data, the height above the ground information and the posture information, wherein the target occupancy grid map includes a plurality of target occupancy grids, each target occupancy grid corresponds to a sub-area in the area where the drone is located, and each target occupancy grid includes a plurality of point cloud data; An elevation map of the area where the drone is currently located is generated based on the point cloud data of each target occupied grid in the target occupied grid map.

3. The UAV flight control method according to claim 2, wherein: The generating a target occupancy grid map according to the point cloud data, the height above the ground information and the posture information comprises: Determine, according to the point cloud data and the position and posture information, a plurality of first target point cloud data within the coverage range of the first radar; Determine a plurality of second target point cloud data within the coverage range of the second radar according to the current height information of the UAV over the ground; A target occupancy grid map is generated according to the plurality of first target point cloud data, the plurality of second target point cloud data and the current three-dimensional grid map.

4. The UAV flight control method according to claim 3, wherein: The step of determining a plurality of first target point cloud data within the coverage range of the first radar according to the point cloud data and the position information includes: Obtaining a timestamp difference according to the point cloud time information in the point cloud data and the posture time information in the posture information of the drone; If the timestamp difference is less than or equal to a preset threshold, the point cloud data is used as the first target point cloud data.

5. The UAV flight control method according to claim 3, wherein: The step of determining a plurality of second target point cloud data within the coverage range of the second radar according to the current height information of the UAV over the ground includes: Determining a coverage range of the second radar according to the detection angle range of the second radar and the height above the ground information; According to the height information of the current position of the UAV relative to the take-off point and the height above the ground information, determining the altitude of the coverage area of ​​the second radar; The plurality of second target point cloud data are determined according to the coverage range of the second radar and the altitude of the coverage range of the second radar.

6. The UAV flight control method according to claim 5, wherein: The determining, according to the detection angle range of the second radar and the height above the ground information, a coverage range of the second radar includes: Determining a short diameter value of a coverage range of the second radar according to the first detection angle of the UAV and the height above the ground; Determining a long diameter value of a coverage range of the second radar according to the second detection angle of the UAV and the height above the ground; The coverage range of the second radar is obtained according to the short diameter value and the long diameter value.

7. The UAV flight control method according to claim 5, wherein: The determining the second target point cloud data according to the coverage range of the second radar and the altitude of the coverage range of the second radar includes: Using the altitude as the height value of each grid within the coverage of the second radar; The three-dimensional coordinates of each grid are obtained according to the two-dimensional coordinates of each grid within the coverage range of the second radar and the height value of each grid, and the three-dimensional coordinates of each grid are respectively used as the second target point cloud data.

8. The UAV flight control method according to claim 3, wherein: The generating a target occupancy grid map according to the plurality of first target point cloud data, the plurality of second target point cloud data and the current three-dimensional grid map comprises: Inserting the first target point cloud data and the second target point cloud data into each three-dimensional grid in the current three-dimensional grid map according to the position information of each of the first target point cloud data and the position information of the second target point cloud data; According to the number of point clouds in each three-dimensional grid, a plurality of target-occupied grids are selected from the three-dimensional grids; The target occupancy grid map is generated according to each target occupancy grid.

9. The UAV flight control method according to claim 2, wherein: The step of generating an elevation map of the area where the drone is currently located according to the point cloud data of each target occupied grid in the target occupied grid map comprises: Determine the target elevation value corresponding to each of the two-dimensional coordinates according to the point cloud data in each target occupied grid in the target occupied grid map and a plurality of preset continuous integer two-dimensional coordinates; An elevation map of the area where the drone is currently located is generated according to each of the two-dimensional coordinates and the target elevation value corresponding to each of the two-dimensional coordinates.

10. The UAV flight control method according to claim 9, wherein: The step of determining the target elevation value corresponding to the two-dimensional coordinates according to the point cloud data in each target occupied grid in the target occupied grid map and a plurality of preset continuous integer two-dimensional coordinates includes: Determine at least one candidate occupied grid contained in the target occupied grid map for each of the two-dimensional coordinates and target point cloud data in the candidate occupied grid; The maximum height value of the target point cloud data is selected from the at least one selected occupied grid as the target elevation value corresponding to the two-dimensional coordinate.

11. The UAV flight control method according to claim 9, wherein: Also includes: Obtaining a storage address corresponding to the two-dimensional coordinate according to a linear mapping function; The target elevation value corresponding to the two-dimensional coordinate is stored in the storage address.

12. An electronic device, wherein: The invention comprises a memory and a processor, wherein the memory stores a computer program executable by the processor, and when the processor executes the computer program, the following steps are implemented: Obtain forward point cloud data collected by the first radar, ground height information collected by the second radar, and position information of the UAV; Generate an elevation map of the area where the drone is currently located according to the point cloud data, the height above the ground information, and the posture information; According to the elevation map of the area where the drone is currently located, the current planned trajectory of the drone is updated to obtain a target planned trajectory, and the flight of the drone is controlled based on the target planned trajectory.

13. The electronic device according to claim 12, wherein: The step of generating an elevation map of the area where the drone is currently located according to the point cloud data, the height above the ground information, and the posture information includes: Generate a target occupancy grid map according to the point cloud data, the height above the ground information and the posture information, wherein the target occupancy grid map includes a plurality of target occupancy grids, each target occupancy grid corresponds to a sub-area in the area where the drone is located, and each target occupancy grid includes a plurality of point cloud data; An elevation map of the area where the drone is currently located is generated based on the point cloud data of each target occupied grid in the target occupied grid map.

14. The electronic device according to claim 13, wherein: The generating a target occupancy grid map according to the point cloud data, the height above the ground information and the posture information comprises: Determine, according to the point cloud data and the position and posture information, a plurality of first target point cloud data within the coverage range of the first radar; Determine a plurality of second target point cloud data within the coverage range of the second radar according to the current height information of the UAV over the ground; A target occupancy grid map is generated according to the plurality of first target point cloud data, the plurality of second target point cloud data and the current three-dimensional grid map.

15. The electronic device according to claim 14, wherein: The step of determining a plurality of first target point cloud data within the coverage range of the first radar according to the point cloud data and the position information includes: Obtaining a timestamp difference according to the point cloud time information in the point cloud data and the posture time information in the posture information of the drone; If the timestamp difference is less than or equal to a preset threshold, the point cloud data is used as the first target point cloud data.

16. The electronic device according to claim 14, wherein: The step of determining a plurality of second target point cloud data within the coverage range of the second radar according to the current height information of the UAV over the ground includes: Determining a coverage range of the second radar according to the detection angle range of the second radar and the height above the ground information; Determine the altitude of the coverage range of the second radar according to the altitude information of the current position of the UAV relative to the take-off point and the altitude information above the ground; The plurality of second target point cloud data are determined according to the coverage range of the second radar and the altitude of the coverage range of the second radar.

17. The electronic device according to claim 16, wherein: The determining, according to the detection angle range of the second radar and the height above the ground information, a coverage range of the second radar includes: Determining a short diameter value of a coverage range of the second radar according to the first detection angle of the UAV and the height above the ground; Determining a long diameter value of a coverage range of the second radar according to the second detection angle of the UAV and the height above the ground; The coverage range of the second radar is obtained according to the short diameter value and the long diameter value.

18. The electronic device according to claim 15, wherein: The determining the second target point cloud data according to the coverage range of the second radar and the altitude of the coverage range of the second radar includes: Using the altitude as the height value of each grid within the coverage of the second radar; The three-dimensional coordinates of each grid are obtained according to the two-dimensional coordinates of each grid within the coverage range of the second radar and the height value of each grid, and the three-dimensional coordinates of each grid are respectively used as the second target point cloud data.

19. A computer-readable storage medium, wherein: The computer readable storage medium stores a computer program, which is executed by a processor to perform the following steps: Obtain forward point cloud data collected by the first radar, ground height information collected by the second radar, and position information of the UAV; Generate an elevation map of the area where the drone is currently located according to the point cloud data, the height above the ground information, and the posture information; According to the elevation map of the area where the drone is currently located, the current planned trajectory of the drone is updated to obtain a target planned trajectory, and the flight of the drone is controlled based on the target planned trajectory.

20. A UAV flight control device, wherein: include: An acquisition module, used to acquire point cloud data collected by a first radar, height-to-ground information of the current UAV collected by a second radar, and position information of the UAV, wherein the first radar is a radar arranged on the UAV and facing the flight direction of the UAV, and the second radar is a radar arranged on the UAV and facing the ground; A generating module, configured to generate an elevation map of the area where the drone is currently located according to the point cloud data, the height above the ground information, and the posture information; The updating module is used to update the current planned trajectory of the UAV according to the elevation map of the area where the UAV is currently located, obtain the target planned trajectory, and control the flight of the UAV based on the target planned trajectory.

Citation Information

Patent Citations

  • Plant protection unmanned aerial vehicle terrain simulation flight method and device

    CN108681328A

  • Continuous-wave radar terrain-prediction method, device, system, and unmanned aerial vehicle

    CN110892355A

  • Unmanned aerial vehicle surveying and mapping method and system based on millimeter wave radar

    CN113447924A

  • Topographic map surveying and mapping method, device and equipment

    CN114185060A

  • Grid map construction method, robot and computer readable storage medium

    CN116086430A

Cited By

  • Map loading method, electronic equipment and storage medium

    CN121092739A