Unmanned aerial vehicle (UAV) cluster obstacle avoidance method, system, UAV, electronic equipment and medium
By generating static obstacle speed limit areas and dynamic obstacle speed disturbances through DEM data and combining them with speed domain dynamic constraints, the problem of high sensor and computing power requirements in drone cluster obstacle avoidance is solved, achieving low-cost and high-safety obstacle avoidance effects.
Patent Information
- Application Number
- CN202211600766.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-12
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2042-12-12
AI Technical Summary
In existing drone swarm obstacle avoidance technology, static obstacle perception requires multiple sensors and high computing power, resulting in high payload and cost; dynamic obstacle avoidance requires complex trajectory planning and communication, which limits the flexibility and real-time performance of the swarm and may cause deadlock.
The speed restriction area of static obstacles is generated using DEM data, and dynamic obstacles are processed by superimposing small disturbances on the current position and speed of the UAV. The dynamic constraints in the speed domain are combined to avoid obstacles and avoid deadlock.
Static obstacle avoidance is achieved for drone swarms at low cost and high safety, which improves the flexibility and real-time performance of the swarm, prevents deadlock, and ensures flight safety.
Smart Images

Figure CN116107337B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of drones and drone obstacle avoidance, and in particular relates to a drone cluster obstacle avoidance method, system, drones, electronic equipment and medium. Background Art
[0002] Among existing drone swarm obstacle avoidance technologies, a mainstream approach to avoiding dynamic obstacles is to rely on communication technology to broadcast its own position, speed, and even planned trajectory to other drones; avoiding static obstacles mainly relies on each drone's own perception of the environment.
[0003] To sense static obstacles, each drone must be equipped with a complex sensor system capable of mapping tasks, in addition to the sensors required for integrated flight control. These sensors, such as image sensors and lidar, are either inherently expensive and require additional payload (lidar) or require additional computing power to achieve real-time processing (image sensors). Furthermore, to achieve omnidirectional obstacle avoidance, sensors in more than one direction are often required (for example, some drones' omnidirectional obstacle avoidance systems are equipped with a large number and variety of sensors), which increases costs, payload, and the computing power required for multi-sensor fusion. Specifically, existing technologies require multiple sensors and high computing power to sense static obstacles, resulting in heavy payloads and high costs for drones (multiple sensors + high-computing-power chips).
[0004] For dynamic obstacle avoidance, if it is necessary to know the trajectories of other drones before planning, it is necessary to form a priority or order in some way, otherwise a circular dependency will be formed. The priority and order limit the flexibility and real-time performance of the drone cluster: on the one hand, a mature mechanism is needed to prioritize the drone cluster whose number may change at any time (for example, loss of connection); on the other hand, drones with lower rankings need to wait until the previous drones have been generated before planning can begin, which also requires more communication data; on the other hand, for two moving objects, if their speeds are completely opposite and the other party's position and target point are both in the direction of speed, when the distance is too close, the two objects may calculate the expected speed to be 0, that is, stop at the same time, resulting in deadlock.
[0005] In summary, existing obstacle avoidance methods limit the flexibility and real-time performance of drone swarms and, in extreme cases, can lead to deadlock, compromising drone flight safety. Therefore, it is necessary to develop new obstacle avoidance methods and systems for drone swarms to address these technical issues. Summary of the Invention
[0006] The purpose of the present invention is to provide a method and system for obstacle avoidance of swarm drones to solve two problems existing in the prior art. On the one hand, static obstacles are generated by using DEM, so that swarm drones can ensure flight safety at low cost in environments close to the ground and cliffs, thereby completing static obstacle avoidance. On the other hand, by superimposing a small speed disturbance on the current speed of other drones as the current speed of dynamic obstacles, deadlock problems in some scenarios can be avoided.
[0007] In one aspect, the present invention provides a method for avoiding obstacles in a swarm of drones. The method is applied to each drone in the swarm of drones and includes:
[0008] Obtain static information of static obstacles determined based on digital elevation model (DEM) data within a preset range near the current position of the drone;
[0009] Determining a static obstacle speed restriction area in a speed domain based on the static information; the speed domain is a coordinate system in a geometric space with horizontal and vertical speeds as coordinate axes;
[0010] Receive status information of other drones and obtain dynamic information of dynamic obstacles based on the status information;
[0011] determining a dynamic obstacle speed limit area in the speed domain based on dynamic information of the dynamic obstacle;
[0012] Drone cluster obstacle avoidance is performed based on the static obstacle speed limit area and the dynamic obstacle speed limit area.
[0013] Preferably, before obtaining the static information of the static obstacle based on the DEM data within a preset range near the current position of the drone, the method includes: determining the static obstacle based on the digital elevation model DEM data within a preset range near the current position of the drone;
[0014] The determining of static obstacles based on digital elevation model (DEM) data within a preset range near the current position of the drone includes:
[0015] Obtaining digital elevation model (DEM) data within a preset range near the current position of the drone;
[0016] Determine the size, latitude and longitude coordinates and altitude of each pixel grid according to the DEM data;
[0017] Based on a preset first safety distance and the latitude, longitude and altitude of each pixel grid, the DEM data is converted into a static obstacle, where the static obstacle has static information including the position and size of the static obstacle.
[0018] Preferably, the converting the DEM data into static obstacles based on the preset first safety distance and the latitude, longitude and altitude of each pixel grid includes:
[0019] The static obstacle is represented by a first spherical model, each pixel grid corresponds to a first spherical model, and the static information of the static obstacle includes the coordinates of the center of the first spherical model and the radius of the spherical model; wherein the coordinates of the center of the first spherical model are obtained according to the latitude and longitude and the altitude of each pixel grid; and the radius of the first spherical model is obtained according to the preset first safety distance and the size of each pixel grid.
[0020] Preferably, the converting the DEM data into static obstacles based on the preset first safety distance and the latitude, longitude and altitude of each pixel grid includes:
[0021] In order of the altitude of the pixel grids from low to high, each pixel grid is converted into a static obstacle based on a preset first safety distance and the latitude, longitude and altitude of each pixel grid.
[0022] Preferably, determining the static obstacle speed limit area in the speed domain based on the static information includes:
[0023] A static obstacle speed limit area for the UAV in the speed domain is calculated based on the UAV's current position, current speed, collision radius, planned time interval, and static information of the static obstacle; wherein the UAV's collision radius is determined based on the size of the UAV and a preset second safety distance; wherein the static obstacle speed limit area is an area formed by a speed that the UAV cannot adopt in the speed domain to avoid static obstacles within the planned time interval.
[0024] Preferably, determining the static obstacle speed limit area in the speed domain based on the static information includes:
[0025] Based on a preset obstacle avoidance range, filtering out static information of static obstacles within the obstacle avoidance range from the static information;
[0026] A static obstacle speed limit area for the UAV in the speed domain is calculated based on the UAV's current position, current speed, collision radius, planning time interval, and the filtered static information of the static obstacles; wherein the UAV's collision radius is determined based on the size of the UAV and a preset second safety distance; wherein the static obstacle speed limit area is an area formed by a speed that the UAV cannot adopt in the speed domain to avoid static obstacles within the planning time interval.
[0027] Preferably, the receiving of status information of other drones and obtaining dynamic information of dynamic obstacles based on the status information includes:
[0028] Receiving status information of other drones including the number, current position, current speed, and collision radius of the other drones;
[0029] Based on the state information of the other UAVs, modeling the dynamic obstacle represented by a second spherical model, wherein the dynamic obstacle has dynamic information;
[0030] The dynamic information of the dynamic obstacle includes the number, center coordinates, radius and current speed of the second spherical model; the number of the second spherical model is the number of the other drone corresponding to it, the center coordinates of the second spherical model is the current position of the other drone corresponding to it, the current speed of the second spherical model is equal to the current speed of the other drone corresponding to it plus the preset speed disturbance, and the radius of the second spherical model is the collision radius of the other drone corresponding to it.
[0031] Preferably, determining the dynamic obstacle speed limit area based on the dynamic information of the dynamic obstacle includes:
[0032] A dynamic obstacle speed limit area formed by the dynamic obstacle on the drone is calculated based on the drone's current position, current speed, collision radius, planned time interval, and dynamic information of the dynamic obstacle; wherein the collision radius of the drone is determined based on the size of the drone and a preset second safety distance; wherein the dynamic obstacle speed limit area is an area formed by the speed that the drone cannot adopt in the speed domain to avoid the dynamic obstacle within the planned time interval.
[0033] Preferably, determining the dynamic obstacle speed limit area based on the dynamic information of the dynamic obstacle includes:
[0034] Based on a preset obstacle avoidance range, filtering out the dynamic information of the dynamic obstacles within the obstacle avoidance range from the dynamic information of the dynamic obstacles;
[0035] A dynamic obstacle speed limit area formed by the selected dynamic obstacles on the drone is calculated based on the drone's current position, current speed, collision radius, planned time interval, and dynamic information of the selected dynamic obstacles; wherein the collision radius of the drone is determined based on the size of the drone and a preset second safety distance; wherein the dynamic obstacle speed limit area is an area formed by a speed that the drone cannot adopt in the speed domain to avoid dynamic obstacles within the planned time interval.
[0036] Preferably, the performing of UAV cluster obstacle avoidance based on the static obstacle speed limit area and the dynamic obstacle speed limit area includes:
[0037] Obtaining a first velocity dynamics constraint region in the velocity domain with the origin of the velocity domain as the origin and the maximum velocity of the UAV as the radius;
[0038] determining an expected speed based on the static obstacle speed limit area, the dynamic obstacle speed limit area, and the first speed dynamics constraint area;
[0039] The drone is controlled to fly at the expected speed to perform drone cluster obstacle avoidance.
[0040] Preferably, determining the expected speed according to the static obstacle speed limit area, the dynamic obstacle speed limit area, and the first speed dynamics constraint area includes:
[0041] When there are static obstacles and / or dynamic obstacles within the obstacle avoidance range of the UAV, planning is performed based on the static obstacle speed limit area and / or the dynamic obstacle speed limit area and the first speed dynamics constraint area to determine the expected speed of the UAV;
[0042] When there are no static obstacles and dynamic obstacles within the obstacle avoidance range of the UAV, the expected speed of the UAV is determined according to the first speed dynamics constraint area.
[0043] Preferably, the performing of UAV cluster obstacle avoidance based on the static obstacle speed limit area and the dynamic obstacle speed limit area includes:
[0044] Obtaining a first velocity dynamics constraint region in the velocity domain with the origin of the velocity domain as the origin and the maximum velocity of the UAV as the radius;
[0045] In the velocity domain, a second velocity dynamics constraint region is obtained with the current velocity of the UAV as the origin and the product of the maximum acceleration of the UAV and the planned time interval as the radius;
[0046] Obtaining the intersection of the first speed dynamics constraint region and the second speed dynamics constraint region in the speed domain to obtain a dynamically feasible speed region;
[0047] determining an expected speed based on the static obstacle speed limit area, the dynamic obstacle speed limit area, and the dynamically feasible speed area;
[0048] The drone is controlled to fly at the expected speed to perform drone cluster obstacle avoidance.
[0049] Preferably, determining the expected speed according to the static obstacle speed limit area, the dynamic obstacle speed limit area, and the dynamically feasible speed area includes:
[0050] When there are static obstacles and / or dynamic obstacles within the obstacle avoidance range of the UAV, planning is performed based on the static obstacle speed limit area and / or the dynamic obstacle speed limit area and the dynamically feasible speed area to determine the expected speed of the UAV;
[0051] When there are no static obstacles and dynamic obstacles within the obstacle avoidance range of the UAV, the expected speed of the UAV is determined according to the dynamically feasible speed region.
[0052] A second aspect of the present invention provides a drone swarm obstacle avoidance system, which is applied to drones. The drone swarm obstacle avoidance system is used to implement the method described in the first aspect, including:
[0053] A static information acquisition module is configured to acquire static information of static obstacles determined based on digital elevation model (DEM) data within a preset range near the current position of the UAV;
[0054] a static obstacle speed restriction area module configured to determine a static obstacle speed restriction area in a speed domain based on the static information; the speed domain being a coordinate system in a geometric space with horizontal and vertical speeds as coordinate axes;
[0055] a dynamic information acquisition module configured to receive status information of other drones and obtain dynamic information of dynamic obstacles based on the status information;
[0056] a dynamic obstacle speed limit area module configured to determine a dynamic obstacle speed limit area in the speed domain based on dynamic information of the dynamic obstacle;
[0057] The cluster obstacle avoidance module is configured to perform drone cluster obstacle avoidance based on the static obstacle speed limit area and the dynamic obstacle speed limit area.
[0058] A third aspect of the present invention provides a drone, comprising the drone cluster obstacle avoidance system described in the second aspect.
[0059] A fourth aspect of the present invention provides an electronic device, comprising a processor and a memory, wherein the memory stores a plurality of instructions, and the processor is configured to read the instructions and execute the method described in the first aspect.
[0060] A fifth aspect of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores a plurality of instructions, and the plurality of instructions can be read by a processor to execute the method described in the first aspect.
[0061] The drone swarm obstacle avoidance method, system, drone, electronic device, and computer-readable storage medium provided by the present invention have the following beneficial technical effects:
[0062] 1. Without the need for additional sensors or high-computing platforms, the drone can generate static obstacles using DEM data. The drone does not need to predict the flight trajectory of dynamic obstacles. It only needs to use the current position, speed, and collision radius of the dynamic obstacles to safely avoid obstacles at a height close to the ground. This approach is low-cost and safer.
[0063] 2. By superimposing the preset speed disturbance on the current speed of other drones as the current speed of the dynamic obstacle, the deadlock problem caused by the drone and the dynamic obstacle being in opposite directions and the expected speed of both drones being 0 is avoided.
[0064] 3. By adding a second velocity dynamics constraint, the maximum acceleration can be used to limit the speed change of the drone, preventing the expected speed of the drone from changing suddenly, causing the drone to deviate from the expected trajectory and cause a collision. It can also prevent excessive attitude changes of the drone due to excessive speed changes, which in turn cause the drone to vibrate or even crash. BRIEF DESCRIPTION OF THE DRAWINGS
[0065] Figure 1 This is a flow chart of a method for avoiding obstacles in a swarm of drones according to a preferred embodiment of the present invention;
[0066] Figure 2 This is a flow chart of a method for determining static obstacles based on DEM data within a preset range near the current position of a drone, shown in a preferred embodiment of the present invention;
[0067] Figure 3 This is a flow chart of a method for receiving status information of other drones and obtaining dynamic information of dynamic obstacles based on the status information, according to a preferred embodiment of the present invention;
[0068] FIG4( a ) is a flowchart of a method for performing obstacle avoidance for a swarm of drones based on a first preferred embodiment of a static obstacle speed limit zone and a dynamic obstacle speed limit zone, as shown in a preferred embodiment of the present invention;
[0069] FIG4( b ) is a flowchart of a method for performing obstacle avoidance for a swarm of drones based on a second preferred embodiment of a static obstacle speed limit area and a dynamic obstacle speed limit area according to a preferred embodiment of the present invention;
[0070] Figure 5 A schematic diagram of a static obstacle speed restriction area, a dynamic obstacle speed restriction area, a first speed dynamics constraint area, and a second speed dynamics constraint area in a speed domain according to a preferred embodiment of the present invention;
[0071] Figure 6 This is a schematic diagram of the architecture of a drone swarm obstacle avoidance system according to a preferred embodiment of the present invention;
[0072] Figure 7 This is a schematic diagram of the module architecture of a static obstacle speed limit area according to a preferred embodiment of the present invention;
[0073] Figure 8 This is a schematic diagram of the dynamic information acquisition module architecture shown in a preferred embodiment of the present invention;
[0074] Figure 9 This is a schematic diagram of the dynamic obstacle speed limit area module architecture shown in a preferred embodiment of the present invention;
[0075] Figure 10 This is a schematic diagram of the architecture of a cluster obstacle avoidance module according to a preferred embodiment of the present invention;
[0076] Figure 11 This is another schematic diagram of the architecture of a cluster obstacle avoidance module according to a preferred embodiment of the present invention;
[0077] Figure 12 A schematic structural diagram of an electronic device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0078] The following embodiments of the present invention are described in further detail with reference to the accompanying drawings and examples. The following examples are used to illustrate the present invention but are not intended to limit the scope of the present invention.
[0079] Example 1
[0080] like Figure 1 As shown, this embodiment provides a drone cluster obstacle avoidance method, which is applied to each drone in the drone cluster. The drone cluster obstacle avoidance method may include but is not limited to the following steps S100 to S500:
[0081] S100, obtaining static information of static obstacles determined based on digital elevation model (DEM) data within a preset range near the current position of the drone.
[0082] A Digital Elevation Model (DEM) is a digital simulation of ground topography (i.e., a digital representation of the terrain surface morphology) achieved through limited terrain elevation data. It is a physical ground model that represents ground elevation using an ordered array of numerical values. It is a branch of the Digital Terrain Model (DTM), from which various other terrain characteristic values can be derived. A DTM describes the spatial distribution of linear and nonlinear combinations of various geomorphological factors, including elevation, such as slope, aspect, and slope change rate. A DEM is a zero-order, single-item digital geomorphological model; other geomorphological characteristics, such as slope, aspect, and slope change rate, can be derived from the DEM.
[0083] In this embodiment, the DEM data can be stored in the drone's built-in memory. The drone can obtain its current location and then retrieve DEM data within a preset range near the current location from its built-in memory. The digital elevation model (DEM) data is obtained by reading the DEM data within a certain range from the built-in memory.
[0084] like Figure 2 As shown, optionally, before step S100 obtaining static information of static obstacles determined based on DEM data within a preset range near the current position of the drone, step S010 can be included to determine static obstacles based on DEM data within a preset range near the current position of the drone.
[0085] Step S010 may include but is not limited to the following steps S011 to S013:
[0086] S011, obtaining digital elevation model (DEM) data within a preset range near the current position of the UAV.
[0087] S012: Determine the size, longitude and latitude coordinates, and altitude of each pixel grid based on the DEM data.
[0088] Specifically, the pixel coordinates of the pixel grid are converted into longitude and latitude coordinates according to the metadata in the DEM data, half of the physical length of the diagonal of the pixel grid is used as the size of the pixel grid, and the value stored in the pixel grid is used as the altitude.
[0089] S013: Based on a preset first safety distance and the latitude, longitude, and altitude of each pixel grid, convert the DEM data into static obstacles. The static obstacles have static information, including the position and size of the static obstacles.
[0090] As a preferred embodiment, when converting DEM data into static obstacles based on a preset first safety distance and the longitude, latitude, and altitude of each pixel grid, a first spherical model can be used to represent the static obstacles. Each pixel grid corresponds to a first spherical model, and the static information of the static obstacle includes the coordinates of the center of the first spherical model and the radius of the spherical model. The coordinates of the center of the first spherical model are obtained based on the longitude, latitude, and altitude of each pixel grid. The radius of the first spherical model is obtained based on the preset first safety distance and the size of each pixel grid. Specifically, the radius of the spherical model is equal to the first safety distance plus half the physical length of the pixel grid diagonal, that is, the radius of the spherical model = the first safety distance + half the physical length of the pixel grid diagonal. In this embodiment, the value range of the first safety distance is generally 10-50 meters, preferably 10-30 meters. The first safety distance is used to compensate for DEM acquisition errors and conversion errors of the first spherical model.
[0091] It should be noted that the use of a spherical model to represent static obstacles can allow for rapid screening and calculation of static obstacles, thereby increasing computing speed and real-time performance. However, the present invention is not limited to the use of a spherical model to represent static obstacles, and other models can also be used to represent static obstacles.
[0092] It should be noted that when converting DEM data into static obstacles, each pixel grid can be converted into a static obstacle based on the preset first safety distance and the latitude and longitude and altitude of each pixel grid in order from low to high altitude, thereby obtaining a spherical model arranged in order from high to low altitude, thereby improving the efficiency of subsequent processing of the static obstacle.
[0093] According to an embodiment of the present invention, step S100 obtains static information of static obstacles determined based on digital elevation model (DEM) data within a preset range near the current position of the drone, which may include the following two situations:
[0094] In case 1, each time cluster obstacle avoidance is performed, step S010 is first executed to determine the static obstacles based on the digital elevation model DEM data within a preset range near the current position of the drone, and then step S100 is executed to obtain the static information of the static obstacles determined based on the digital elevation model DEM data within a preset range near the current position of the drone.
[0095] In the second case, step S010 is only executed once at the beginning to determine the static obstacles based on the digital elevation model DEM data within a preset range near the current position of the drone. When cluster obstacle avoidance is performed subsequently, step S010 is no longer executed, but step S100 is directly executed to obtain the static information of the static obstacles determined in step S010.
[0096] It should be noted that the preset range near the drone's current location can range from several hundred meters to several kilometers and can generally be determined based on the drone's mission start and end points. In the first scenario above, the preset range near the drone's current location is usually small, and the DEM data acquired once cannot cover the drone's mission range. As the drone's current location changes, it is necessary to continuously acquire DEM data within the preset range near the drone's current location. The accumulated DEM data must be able to cover the drone's mission range. In the second scenario above, the preset range near the drone's current location is usually large, and the initially acquired DEM data can cover the drone's mission range. Therefore, there is no need to continuously acquire DEM data as the drone's current location changes.
[0097] S200 , determining a static obstacle speed restriction area in a speed domain based on static information; the speed domain is a coordinate system in a geometric space with horizontal and vertical speeds as coordinate axes.
[0098] Corresponding to the two aforementioned cases of obtaining static information of static obstacles determined based on digital elevation model (DEM) data within a preset range near the current position of the drone, in a first preferred embodiment of the aforementioned case 1, step S200 determines the static obstacle speed limit area in the speed domain based on the static information, including:
[0099] S200a, based on the current position, current speed, collision radius, planned time interval and static information of the static obstacle of the UAV, calculate the static obstacle speed limit area of the UAV in the speed domain; wherein the collision radius of the UAV is determined based on the size of the UAV and a preset second safety distance; wherein the static obstacle speed limit area is the area formed by the speed that the UAV cannot adopt in the speed domain to avoid static obstacles within the planned time interval.
[0100] In this embodiment, the drone's collision radius is set equal to half the drone's maximum size plus a second safety distance, i.e., drone collision radius = half the drone's maximum size + second safety distance, where half the drone's maximum size can refer to the size from the drone's center to the wing tip. The second safety distance ranges from 10 to 30 meters, preferably 10 to 20 meters. The second safety distance is determined based on positioning error and dynamic constraints to ensure that the drone maintains a safe distance from dynamic or static obstacles. In this embodiment, the planning time interval τ refers to a preset obstacle avoidance interval, i.e., within this planning time interval, the drone avoids static and dynamic obstacles, i.e., within this planning time interval, the drone will not collide with static and dynamic obstacles. The planning time interval can be determined based on dynamic constraints and computational performance. In the following embodiments, the drone's collision radius and planning time interval have the same meanings as herein and will not be repeated below.
[0101] In the second preferred embodiment of the above-mentioned scenario 2, step S010 is only executed once at the beginning to determine static obstacles based on the digital elevation model (DEM) data within a preset range near the current position of the drone. When performing cluster obstacle avoidance subsequently, step S010 is no longer executed. Instead, step S100 is directly executed to obtain the static information of the static obstacles determined in step S010, and the static obstacle speed restriction area is determined in the speed domain based on the static information. In this second preferred embodiment, step 200 determines the static obstacle speed restriction area in the speed domain based on the static information, including steps S201b and S202b:
[0102] S201b: Based on the preset obstacle avoidance range, filter out static information of static obstacles within the obstacle avoidance range from the static information.
[0103] S202b, based on the current position, current speed, collision radius, planning time interval and static information of the screened static obstacles of the UAV, calculate the static obstacle speed limit area of the UAV in the speed domain; wherein the collision radius of the UAV is determined based on the size of the UAV and a preset second safety distance; wherein the static obstacle speed limit area is the area formed by the speed that the UAV cannot adopt to avoid static obstacles in the speed domain within the planning time interval.
[0104] In the second preferred embodiment of step S200, the meanings of the collision radius of the drone and the static obstacle speed limit area are the same as those in the first preferred embodiment of step S200, and are not repeated here.
[0105] It should be noted that in the second preferred embodiment of step S200 above, the obstacle avoidance range can be determined based on the flight speed of the drone and the planned time interval. The value range of the obstacle avoidance range can be 150 to 200 meters. Generally, the flight speed of the drone is basically within 10m / s. If the obstacle avoidance range is not used for screening, then the static obstacles corresponding to the DEM data within the preset range near the current position of the drone will participate in the subsequent obstacle avoidance calculation, thereby increasing unnecessary calculation volume. Screening through the obstacle avoidance range can achieve the final reading and processing of a small amount of data, fast processing speed, and better real-time performance.
[0106] It should be noted that in the first preferred embodiment described above, since no selection is performed based on the obstacle avoidance range, the preset range around the current position of the drone in the corresponding scenario 1 can be smaller to ensure the real-time performance of the obstacle avoidance calculation. In the second preferred embodiment, since selection is performed based on the obstacle avoidance range, this process can ensure the real-time performance of the obstacle avoidance calculation. Therefore, the preset range around the current position of the drone in the corresponding scenario 2 can be larger.
[0107] In this embodiment, taking the use of the first sphere model to represent a static obstacle as an example, combined with the second scenario and the second preferred embodiment, a method for determining a speed restriction area for a static obstacle in the speed domain based on static information is described in more detail. Determining a speed restriction area for a static obstacle in the speed domain based on static information can be implemented based on the RVO2-3D algorithm, including the following process:
[0108] (1) Inputting the first ball model into an array corresponding to the RVO2-3D algorithm, wherein the array may be a KD tree;
[0109] Preferably, after initially acquiring the DEM data within a preset range near the current position of the drone, the static information of the static obstacle is determined based on the DEM data. When the first sphere model is used to represent the static obstacle, all the first sphere model information corresponding to the DEM data is input into the KD tree. The first sphere model information includes the sphere center coordinates converted according to the sphere center position and the sphere radius.
[0110] (2) Filter out valid first-ball models from the KD tree according to the obstacle avoidance range. It should be noted that each time an obstacle avoidance operation is performed, only the first-ball models within the obstacle avoidance range need to be filtered out from the KD tree. Obstacle avoidance is performed using these filtered first-ball models without the need to obtain DEM data again or obtain static information based on the DEM data.
[0111] (3) Based on the coordinates of the center of the filtered first sphere model, the sphere radius (static information of the filtered static obstacles), the current position, current speed, collision radius and planning time interval of the UAV, calculate which speeds the UAV cannot use in the speed domain if it wants to avoid these filtered first sphere models (i.e., filtered static obstacles) within the planning time interval. The area formed by these speeds is the static obstacle speed limit area. The static obstacle speed limit area is expressed as several half-planes in the speed domain. This is equivalent to dividing a series of speeds that may cause collisions into an area that needs to be avoided in the speed domain (expressed as a coordinate system with horizontal and vertical speeds as coordinate axes in geometric space). When selecting the expected speed, avoid the speed within this area, that is, choose the speed outside this area for obstacle avoidance.
[0112] In the embodiment of the present invention, by screening the first sphere model through the obstacle avoidance range, the computational processing of static obstacles corresponding to the DEM data within a relatively distant range near the current position of the drone can be avoided, thereby improving computational performance and real-time performance.
[0113] S300: Receive status information of other UAVs, and obtain dynamic information of dynamic obstacles based on the status information.
[0114] According to an embodiment of the present invention, the other drones refer to other drones in a drone cluster. In the drone cluster, each drone can periodically broadcast its own status information, and each drone can also receive status information of other drones within a certain range around it or all other drones in the drone cluster.
[0115] See also Figure 3 Step S300 may include but is not limited to steps S301 and S302:
[0116] S301, receiving status information of other UAVs including the number, current position, current speed and collision radius of the other UAVs.
[0117] It should be pointed out that the collision radius corresponding to different models of drones may be different.
[0118] S302 , based on the status information of other UAVs, a dynamic obstacle represented by a second spherical model is modeled, where the dynamic obstacle has dynamic information.
[0119] The dynamic information of the dynamic obstacle is the spherical model information of the second spherical model, which may include the number, spherical center coordinates, spherical radius and current speed of the second spherical model; the number of the second spherical model is the number of the other UAV to which it corresponds, the spherical center coordinates of the second spherical model are the current position of the other UAV to which it corresponds, the current speed of the second spherical model is equal to the current speed of the other UAV to which it corresponds plus the preset speed disturbance, and the spherical radius of the second spherical model is the collision radius of the other UAV to which it corresponds.
[0120] When a new drone number is received, a new dynamic obstacle represented by a new second spherical model is modeled, and the dynamic obstacle has dynamic information (i.e., the spherical model information of the second spherical model: the number of the second spherical model, the coordinates of the center of the sphere, the radius of the sphere, and the current speed); when a new current position and current speed of the same drone number are received, the coordinates of the center of the sphere and the current speed of the second spherical model corresponding to the number are updated (i.e., the current position and current speed of the dynamic obstacle).
[0121] The current speed of the second sphere model can be obtained by superimposing a preset speed perturbation on the current speed of the corresponding other drone. The preset speed perturbation is a small speed perturbation (a speed value in a random direction). The preset speed perturbation is required to be 2 to 4 orders of magnitude smaller than the maximum speed of the other drone (for example, the range of the preset speed perturbation is 0.0001 to 0.01 times the maximum speed of the drone). By superimposing the preset speed perturbation on the current speed of the other drone as the current speed of the dynamic obstacle, the deadlock problem caused by the drone and the dynamic obstacle being in opposite directions and the expected speed of both being 0 is avoided.
[0122] S400: Determine a dynamic obstacle speed limit area in a speed domain based on dynamic information of the dynamic obstacle.
[0123] Similar to determining the static obstacle speed limit area in the speed domain based on static information in step S200, as a first preferred embodiment, when receiving status information of other drones, if the receiving range is already small, for example, the drone can receive status information of other drones within a small range around it, then step S400 determines the dynamic obstacle speed limit area in the speed domain based on dynamic information of dynamic obstacles, including step S401a:
[0124] S401a, based on the UAV's current position, current speed, collision radius, planned time interval, and dynamic information of the dynamic obstacle, calculate the dynamic obstacle speed limit area formed by the dynamic obstacle on the UAV; wherein the UAV's collision radius is determined based on the size of the UAV and a preset second safety distance; wherein the dynamic obstacle speed limit area is the area formed by the speed that the UAV cannot adopt in the speed domain to avoid the dynamic obstacle within the planned time interval.
[0125] As a second preferred embodiment, when receiving status information of other drones, if the receiving range is large, for example, the drone can receive status information of other drones within a large range around it or the drone can receive status information of all other drones in the drone cluster, then step S400 determines the dynamic obstacle speed limit area in the speed domain based on the dynamic information of the dynamic obstacle, including steps S401b and S402b:
[0126] S401b: Based on the preset obstacle avoidance range, the dynamic information of the dynamic obstacles within the obstacle avoidance range is filtered out from the dynamic information of the dynamic obstacles.
[0127] S402b, based on the current position, current speed, collision radius, planned time interval, and dynamic information of the screened dynamic obstacles of the UAV, calculate the dynamic obstacle speed limit area formed by the screened dynamic obstacles on the UAV; wherein the collision radius of the UAV is determined based on the size of the UAV and a preset second safety distance; wherein the dynamic obstacle speed limit area is the area formed by the speed that the UAV cannot adopt in the speed domain to avoid dynamic obstacles within the planned time interval.
[0128] It should be noted that the obstacle avoidance range can be determined based on the drone's flight speed and the planned time interval. The range of this obstacle avoidance range is 150 to 200 meters. Generally, drones fly at speeds below 10 m / s. If the drone is not screened using this obstacle avoidance range, all other drones it receives will be included in the subsequent obstacle avoidance calculations, increasing unnecessary computational effort. By screening using the obstacle avoidance range, the amount of data ultimately read and processed is reduced, resulting in faster processing and improved real-time performance.
[0129] It should be noted that, in the second preferred embodiment, screening is performed according to the obstacle avoidance range, which reduces the dynamic obstacles that subsequently participate in the obstacle avoidance calculation and ensures the real-time performance of the obstacle avoidance calculation.
[0130] In the embodiment of the present invention, the obstacle avoidance range used to screen static obstacles may be the same as or different from the obstacle avoidance range used to screen dynamic obstacles.
[0131] In this embodiment, a second sphere model is used to represent a dynamic obstacle. In conjunction with the second preferred embodiment of step S400, a method for determining a speed restriction area for a dynamic obstacle in the speed domain based on dynamic information of the dynamic obstacle is described in more detail. Determining a speed restriction area for a dynamic obstacle in the speed domain based on dynamic information can be implemented based on the RVO2-3D algorithm, including the following process:
[0132] (1) Input the second ball model into the array corresponding to the RVO2-3D algorithm, where the array can be a KD tree.
[0133] After obtaining the second sphere model, its model information is input into the KD tree. This information includes the model number, center coordinates, radius, and current speed. The model number of the second sphere model is the number of the dynamic obstacle, that is, the number of the other drone corresponding to the dynamic obstacle.
[0134] It should be noted that the array corresponding to the RVO2-3D algorithm is constantly updated and changed. Specifically, the array corresponding to the RVO2-3D algorithm is taken as an example of a KD tree: when a new other UAV appears, the ball model information of the second ball model corresponding to the other UAV is added to the KD tree; when the current position and current speed of the other UAV corresponding to the second ball model in the KD tree change, the ball model information of the second ball model corresponding to the other UAV is updated in the KD tree; when the other UAV corresponding to the second ball model in the KD tree loses contact, it means that the other UAV is far away from the UAV itself, and the ball model information of the second ball model corresponding to the other UAV is deleted from the KD tree.
[0135] (2) Filter out the effective second sphere model from the KD tree according to the obstacle avoidance range. It should be pointed out that filtering the second sphere model by the obstacle avoidance range can avoid the computational processing of dynamic obstacles in a longer range received by the UAV. The KD tree here refers to the KD tree at the current moment. Since the data in the KD tree is constantly updated, the KD tree may include not only the dynamic obstacles within the obstacle avoidance range, but also the dynamic obstacles that were previously input but are not within the obstacle avoidance range. Based on the obstacle avoidance range, these previously input dynamic obstacles that are not within the obstacle avoidance range can be filtered out by filtering, and only the effective dynamic obstacles within the obstacle avoidance range are filtered out.
[0136] (3) Based on the coordinates of the center of the filtered second sphere model, the radius of the sphere and the current speed, as well as the current position, current speed, collision radius and planning time interval of the UAV, the speeds that cannot be used in the speed domain are calculated if the UAV is to avoid these filtered second sphere models (i.e., the filtered dynamic obstacles) within the planning time interval. The area formed by these speeds is the dynamic obstacle speed limit area. The dynamic obstacle speed limit area is expressed as several half-planes in the speed domain. This is equivalent to dividing a series of speeds that may cause collisions into an area that needs to be avoided in the speed domain (expressed in a geometric space as a coordinate system with horizontal and vertical speeds as coordinate axes). When selecting the expected speed, avoid the speed in this area, that is, choose the speed outside this area for obstacle avoidance.
[0137] It should be noted that in this embodiment of the present invention, a first spherical model is used to represent static obstacles and is input into an array (KD tree) corresponding to the RVO2-3D algorithm. A second spherical model is used to represent dynamic obstacles and is input into another array (another KD tree) corresponding to the RVO2-3D algorithm. This determines the speed restriction areas corresponding to these two spherical models within the planning time interval in the speed domain. The speed restriction areas for static obstacles and dynamic obstacles correspond to the same planning time interval.
[0138] It should be noted that the embodiment of the present invention is not limited to executing S100 to S200 first and then executing S300 to S400. S300 to S400 may also be executed first and then executing S100 to S200.
[0139] S500 performs drone cluster obstacle avoidance based on static obstacle speed limit areas and dynamic obstacle speed limit areas.
[0140] Step S500 includes two preferred implementations, wherein:
[0141] Referring to FIG. 4( a ), according to the first preferred embodiment, step S500 performs drone cluster obstacle avoidance based on the static obstacle speed limit area and the dynamic obstacle speed limit area, including steps S501 a to S503 a:
[0142] S501a, in the velocity domain, taking the origin of the velocity domain as the origin and the maximum velocity of the UAV as the radius, obtaining a first velocity dynamics constraint region;
[0143] S502a: Determine an expected speed according to the static obstacle speed limit area, the dynamic obstacle speed limit area, and the first speed dynamics constraint area.
[0144] S503a, controlling the UAV to fly at a desired speed to perform UAV cluster obstacle avoidance.
[0145] Specifically, step S502a determines the expected speed according to the static obstacle speed limit area, the dynamic obstacle speed limit area, and the first speed dynamics constraint area, including the following two cases:
[0146] (1) When there are static obstacles and / or dynamic obstacles within the obstacle avoidance range of the UAV, planning is performed based on the static obstacle speed limit area and / or the dynamic obstacle speed limit area, as well as the first speed dynamic constraint area, to determine the expected speed of the UAV.
[0147] Specifically, when only static obstacles exist within the drone's obstacle avoidance range, planning is performed based on the static obstacle speed limit region and the first speed dynamic constraint region to determine the drone's expected speed. When only dynamic obstacles exist within the drone's obstacle avoidance range, planning is performed based on the dynamic obstacle speed limit region and the first speed dynamic constraint region to determine the drone's expected speed. When both static and dynamic obstacles exist within the drone's obstacle avoidance range, planning is performed based on the static obstacle speed limit region, the dynamic obstacle speed limit region, and the first speed dynamic constraint region to determine the drone's expected speed.
[0148] (2) When there are no static obstacles and dynamic obstacles within the obstacle avoidance range of the UAV, the expected speed of the UAV is determined according to the first speed dynamics constraint area.
[0149] Optionally, when there are no static obstacles and dynamic obstacles within the obstacle avoidance range of the UAV, the value of the UAV's expected speed is equal to the UAV's maximum speed, and the direction of the expected speed is from the UAV's current position to the UAV's end point; if the UAV performs initial path planning before obstacle avoidance, the end point is the node of the initial path; if the UAV does not perform initial path planning before obstacle avoidance, the end point is the UAV's mission end point.
[0150] As an optional implementation, the drone performs initial path planning before performing obstacle avoidance. The initial path is planned based on DEM data, the mission start point and the mission end point, using a global path planning algorithm. When the drone starts to perform a mission, a safe initial path is planned between the mission start point and the mission end point using DEM and a global path planning algorithm (such as A*, RRT and their variants). Usually, all drones in a drone cluster have the same mission start point and mission end point, so all drones in the cluster follow the planned initial path to the mission end point. The planned initial path has multiple nodes. Usually, the direction of the expected velocity points to the next node corresponding to its current position.
[0151] Referring to FIG4(b), according to the second preferred embodiment, the UAV cluster obstacle avoidance is performed based on the static obstacle speed limit area and the dynamic obstacle speed limit area, including steps S501b to S505b:
[0152] S501b: In the velocity domain, a first velocity dynamics constraint region is obtained with the origin of the velocity domain as the origin and the maximum velocity of the UAV as the radius.
[0153] S502b: In the velocity domain, a second velocity dynamics constraint region is obtained with the current velocity of the UAV as the origin and the product of the maximum acceleration of the UAV and the planned time interval as the radius.
[0154] S503b: Obtain the intersection of the first speed dynamics constraint region and the second speed dynamics constraint region in the speed domain to obtain a dynamically feasible speed region.
[0155] S504b: Determine the expected speed according to the static obstacle speed limit area, the dynamic obstacle speed limit area, and the dynamically feasible speed area.
[0156] S505b, controlling the UAV to fly at a desired speed to perform UAV cluster obstacle avoidance.
[0157] Step S504b determines the expected speed according to the static obstacle speed limit area, the dynamic obstacle speed limit area, and the dynamically feasible speed area, including the following two cases:
[0158] (1) When there are static obstacles and / or dynamic obstacles within the obstacle avoidance range of the UAV, the expected speed of the UAV is determined based on the static obstacle speed limit area and / or dynamic obstacle speed limit area and the dynamically feasible speed area.
[0159] Specifically, when only static obstacles exist within the drone's obstacle avoidance range, the drone's expected speed is determined based on the static obstacle speed limit area and the dynamically feasible speed area. When only dynamic obstacles exist within the drone's obstacle avoidance range, the drone's expected speed is determined based on the dynamic obstacle speed limit area and the dynamically feasible speed area. When both static and dynamic obstacles exist within the drone's obstacle avoidance range, the drone's expected speed is determined based on the static obstacle speed limit area, the dynamic obstacle speed limit area, and the dynamically feasible speed area.
[0160] (2) When there are no static obstacles and dynamic obstacles within the obstacle avoidance range of the UAV, the expected speed of the UAV is determined based on the dynamically feasible speed area.
[0161] Specifically, the first velocity dynamics constraint region and the second velocity dynamics constraint region have two positional relationships: the first positional relationship is that the first velocity dynamics constraint region completely covers the second velocity dynamics constraint region, and the second positional relationship is that the two velocity dynamics constraint regions have an intersection. In both positional relationships, the specific method for determining the expected speed follows the principle of determining the speed close to the endpoint in the kinematically feasible speed region as the expected speed. The endpoint here can be a node on the initial path or the UAV's mission endpoint.
[0162] The following combination Figure 5 , the specific implementation methods of the above two preferred embodiments are introduced:
[0163] 1. Yes Figure 5 The meaning of each parameter is introduced
[0164] (1) A is the drone itself, E and F are dynamic obstacles (corresponding to drones E and F, respectively), O1 and O2 are two static obstacles, and τ is the planning time interval.
[0165] (2)ORCA τ A / E The shadow side of refers to the dynamic obstacle speed limiting half plane formed by the dynamic obstacle E on the UAV A, ORCA τ A / F The shaded side of is the dynamic obstacle speed limiting half-plane formed by the dynamic obstacle F on the UAV A. The dynamic obstacle speed limiting half-plane is the dynamic obstacle speed limiting area in the above embodiment.
[0166] ORCA τ A / O1 The shadow side of the static obstacle O1 is the static obstacle speed limiting half plane formed by the static obstacle O1 on the UAV A, ORCA τ A / O2The shadow side of is the static obstacle speed limiting half-plane formed by the static obstacle O2 on the drone A. The static obstacle speed limiting half-plane is the static obstacle speed limiting area in the above embodiment.
[0167] Figure 5 In the figure, the shaded side represents an unadoptable speed region, and the opposite side to the shaded side represents an adoptable speed region (the opposite expression may also be used, for example, the shaded side represents an adoptable speed region, and the opposite side to the shaded side represents an unadoptable speed region).
[0168] 2. Determination of the first velocity dynamics constraint area:
[0169] In the velocity domain, the origin of the velocity domain is taken as the center of the circle and the maximum speed of the UAV is taken as the radius to obtain the first velocity dynamics constraint region D1 (0, v A max ). That is, D1(0, v A max ) is a circular area with the origin of the speed domain as the center and the maximum speed of the drone as the radius, corresponding to Figure 5 R(R=v A max ) is a circular area with radius .
[0170] 3. Determination of the second velocity dynamics constraint area:
[0171] In the speed domain, the current speed v of the UAV is A As the center of the circle, with the maximum acceleration a A max The product of the planned time interval τ is the radius, and the second velocity dynamics constraint area D2 (v A , a A max τ). That is, D2(v A , a A max τ) is the current speed v A is the center of the sphere, with maximum acceleration a A max The circular area with the radius of the product of the planning time interval τ corresponds to Figure 5 In r(r=a A max τ) is a circular area with a radius of
[0172] 4. Method for determining the dynamically feasible speed range:
[0173] According to the first speed dynamics constraint region and the second speed dynamics constraint region, the dynamic feasible speed region D1(0, v A max)∩D2(v A , α A max τ). Specifically, Figure 5 The circle with radius R corresponds to the first velocity dynamics constraint region D1(0, v A max ), the circle with radius r corresponds to the second velocity dynamics constraint area D2 (v A , a A max τ), the area corresponding to the intersection of the circle with radius r and the circle with radius R is the dynamic feasible speed area D1(0, v A max )∩D2(v A , a A max τ).
[0174] 5. When only the first speed dynamics constraint is considered, step S502a is implemented as follows to determine the expected speed based on the static obstacle speed limit area, the dynamic obstacle speed limit area, and the first speed dynamics constraint area:
[0175] (1) Assuming that there are static obstacles and dynamic obstacles (B in the following formula) within the obstacle avoidance range of UAV A, the expected speed v of the UAV is A new is determined as follows:
[0176] According to the static obstacle speed limit area, dynamic obstacle speed limit area and the first speed dynamic constraint area, the expected speed v of UAV A is determined. A new .
[0177] Expected speed v A new The calculation formula is shown in the following formula (1):
[0178]
[0179] In formula (1), v A new Indicates the expected speed, D1(0, v A max ) represents the first velocity dynamics constraint region; d A|B (v) is v to half-plane ORCA τ A / B The Euclidean distance on the edge (non-vertical distance), where B refers to any obstacle different from A, including dynamic obstacles and static obstacles, such as Figure 5The dynamic obstacles E and F (corresponding to drones E and F), and the static obstacles O1 and O2. The expected speed v calculated according to formula (1) A new Should be located in ORCA τ A / E Half-plane, ORCA τ A / F Half plane, Half-plane and first velocity dynamics constraint region D1(0, v A max ) are located in the area enclosed by the two parties.
[0180] When there are only static obstacles or dynamic obstacles in the obstacle avoidance range memory of UAV A, the expected speed v A new The method for determining is the same as above, and the static obstacle speed limit half plane or the dynamic obstacle speed limit area may be considered accordingly, which will not be repeated here.
[0181] (2) If there is no obstacle within the obstacle avoidance range of the UAV, that is, B in formula (1) does not exist, the expected speed of the UAV is determined according to the first velocity dynamics constraint area. At this time, the expected speed v A new The size can be equal to v A max , pointing from the drone's current position to the drone's destination. If the drone performs initial path planning before obstacle avoidance, the destination is the node of the initial path; if the drone does not perform initial path planning before obstacle avoidance, the destination is the drone's mission destination.
[0182] 6. When the first speed dynamics constraint and the second speed dynamics constraint are simultaneously considered, step S504b determines the expected speed based on the static obstacle speed limit area, the dynamic obstacle speed limit area, and the dynamically feasible speed area as follows:
[0183] (1) Assuming that there are static obstacles and dynamic obstacles (B in formula (2)) within the obstacle avoidance range of UAV A, the expected speed v of the UAV is A new is determined as follows:
[0184] According to the static obstacle speed limit area, dynamic obstacle speed limit area and dynamic feasible speed area, the expected speed v of the UAV is determined. A new .
[0185] Expected speed v A new The calculation formula is as follows:
[0186]
[0187] In formula (2), v A new Indicates the expected speed, D1(0, v A max ) represents the first velocity dynamics constraint region, D2(v A , a A max τ) represents the second velocity dynamics constraint region, D1(0, v A max )∩D2(v A , a A max τ) represents the dynamic feasible speed region. A|B (v) is v to half-plane ORCA τ A / B The Euclidean distance on the edge (non-vertical distance), where B refers to any obstacle different from A, including dynamic obstacles and static obstacles, such as Figure 5 The dynamic obstacles E and F (corresponding to drones E and F), and the static obstacles O1 and O2. The expected speed v calculated according to formula (2) A new Should be located in ORCA τ A / E Half-plane, ORCA τ A / F Half-plane, ORCA τ A / O2 Half-plane and dynamically feasible velocity region D1(0, v A max )∩D2(v A , a A max τ) in the area enclosed by them.
[0188] When there are only static obstacles or dynamic obstacles in the obstacle avoidance range of UAV A, the expected speed v A new The method for determining is the same as above, and the static obstacle speed limit area or the dynamic obstacle speed limit area can be considered accordingly, which will not be repeated here.
[0189] (2) If there is no obstacle within the obstacle avoidance range of the UAV, that is, B in formula (2) does not exist, the expected speed v of the UAV is determined according to the dynamic feasible speed area. A new Optionally, the speed close to the end point in the dynamic feasible speed region is determined as the expected speed v A new .
[0190] The first preferred embodiment of step S500 adds a first velocity dynamics constraint and uses a maximum velocity to limit the expected velocity of the drone, thereby preventing the expected velocity of the drone from exceeding the maximum velocity limit and ensuring the flight safety of the drone. The second preferred embodiment of step S500 adds a second velocity dynamics constraint and uses a maximum acceleration to limit the speed change of the drone, preventing sudden changes in the expected velocity of the drone, which could cause the drone to deviate from the expected trajectory and cause a collision. It also prevents excessive velocity changes from causing excessive attitude changes of the drone, which could lead to drone oscillation or even crashes, thereby improving the flight safety of the drone.
[0191] In the above embodiment, before obstacle avoidance begins, the RVO2-3D algorithm can be initialized by presetting parameters such as the first safety distance, the drone's collision radius, the obstacle avoidance range, and the planned time interval τ. If the obstacle avoidance range used to screen static obstacles differs from the obstacle avoidance range used to screen dynamic obstacles, for example, if a first obstacle avoidance range is used to screen static obstacles and a second obstacle avoidance range is used to screen dynamic obstacles, then the first and second obstacle avoidance ranges can be pre-set separately during initialization.
[0192] The drone cluster obstacle avoidance method of the above embodiment is based on the RVO2-3D algorithm. Of course, other local obstacle avoidance algorithms can also be used as the basis to implement the drone cluster obstacle avoidance method of this application, all of which are within the scope of protection of the present invention.
[0193] The first embodiment of the present invention provides a drone swarm obstacle avoidance method. Without the drones being equipped with additional sensors or a high-computing platform, the method uses DEM data to generate static obstacles and calculates static obstacle speed restriction zones. The drones also do not need to predict the flight trajectory of dynamic obstacles. Instead, they can calculate the dynamic obstacle speed restriction zones imposed on the drones by the dynamic obstacles based on dynamic information such as the dynamic obstacle's current position, current speed, and collision radius. By using the static and dynamic obstacle speed restriction zones as the basis for determining the drone's expected speed, the drones can avoid both static and dynamic obstacles. The drone swarm obstacle avoidance method provided by this embodiment eliminates the need for priority planning for a constantly changing drone swarm and eliminates the need to plan the drone's own flight speed based on the trajectories of other drones. This improves the flexibility and real-time performance of drone swarm obstacle avoidance, thereby enhancing drone flight safety.
[0194] It should be clearly understood that the present invention describes how to make and use specific examples, but the principles of the present invention are not limited to any details of these examples. On the contrary, based on the teachings of the content disclosed in the present invention, these principles can be applied to many other embodiments.
[0195] Example 2
[0196] Figure 6 This is a schematic diagram of the architecture of a drone swarm obstacle avoidance system according to a preferred embodiment of the present invention. The drone swarm obstacle avoidance system provided in this embodiment can be used to execute the drone swarm obstacle avoidance method of Example 1 of the present invention. In the following description of the drone swarm obstacle avoidance system, parts that are identical to those of the aforementioned method will not be repeated.
[0197] See also Figure 6 This embodiment provides a UAV swarm obstacle avoidance system, which is applied to UAVs. The UAV swarm obstacle avoidance system is used to implement a UAV swarm obstacle avoidance method, including:
[0198] The static information acquisition module 101 is configured to acquire static information of static obstacles determined based on digital elevation model (DEM) data within a preset range near the current position of the drone.
[0199] The static obstacle speed limit area module 102 is configured to determine the static obstacle speed limit area in a speed domain based on the static information; the speed domain is a coordinate system in a geometric space based on the horizontal and vertical speeds.
[0200] The dynamic information acquisition module 103 is configured to receive status information of other drones and obtain dynamic information of dynamic obstacles based on the status information.
[0201] The dynamic obstacle speed limit area module 104 is configured to determine a dynamic obstacle speed limit area in the speed domain based on dynamic information of the dynamic obstacle.
[0202] The cluster obstacle avoidance module 105 is configured to perform drone cluster obstacle avoidance based on static obstacle speed limit areas and dynamic obstacle speed limit areas.
[0203] As a preferred embodiment, the static information acquisition module 101 is further configured to determine static obstacles based on DEM data within a preset range near the current position of the drone.
[0204] Specifically, the configuration is as follows: obtaining digital elevation model (DEM) data within a preset range near the current position of the drone; determining the size, latitude and longitude coordinates, and altitude of each pixel grid based on the DEM data; and converting the DEM data into static obstacles based on a preset first safety distance and the latitude and longitude and altitude of each pixel grid. The static obstacles have static information, and the static information includes the position and size of the static obstacles.
[0205] As a preferred embodiment, the static information acquisition module 101 is further configured as follows:
[0206] Static obstacles are represented by a first spherical model. Each pixel grid corresponds to a first spherical model. The static information of the static obstacle includes the coordinates of the center of the first spherical model and the radius of the spherical model. The coordinates of the center of the first spherical model are obtained according to the longitude and latitude of each pixel grid and the altitude. The radius of the first spherical model is obtained according to the preset first safety distance and the size of each pixel grid.
[0207] As a preferred embodiment, the static information acquisition module 101 is further configured as follows:
[0208] In order of the altitude of the pixel grids from low to high, each pixel grid is converted into a static obstacle based on the preset first safety distance and the latitude, longitude and altitude of each pixel grid.
[0209] As a preferred embodiment, the static obstacle speed limit area module 102 is further configured to:
[0210] The static obstacle speed limit area of the UAV in the speed domain is calculated based on the UAV's current position, current speed, collision radius, planned time interval, and static information of the static obstacle. The UAV's collision radius is determined based on the size of the UAV and a preset second safety distance. The static obstacle speed limit area is the area formed by the speed that the UAV cannot adopt to avoid static obstacles in the speed domain within the planned time interval.
[0211] See also Figure 7 As a preferred embodiment, the static obstacle speed limit area module 102 includes:
[0212] The static information screening unit 1021 is configured to screen out static information of static obstacles within the obstacle avoidance range from the static information based on a preset obstacle avoidance range.
[0213] The static obstacle speed limit area unit 1022 is configured to calculate the static obstacle speed limit area of the UAV in the speed domain based on the UAV's current position, current speed, collision radius, planning time interval, and static information of the screened static obstacles; wherein the UAV's collision radius is determined based on the size of the UAV and a preset second safety distance; wherein the static obstacle speed limit area is an area formed by the speed that the UAV cannot adopt in the speed domain to avoid static obstacles within the planning time interval.
[0214] See also Figure 8 As a preferred embodiment, the dynamic information acquisition module 103 includes:
[0215] The status information receiving unit 1031 is configured to receive status information of other UAVs including the number, current position, current speed and collision radius of the other UAVs.
[0216] The dynamic information acquisition unit 1032 is configured to model a dynamic obstacle represented by a second spherical model based on the status information of other UAVs, where the dynamic obstacle has dynamic information.
[0217] The dynamic information of the dynamic obstacle includes the number, center coordinates, radius and current speed of the second spherical model; the number of the second spherical model is the number of the other drone to which it corresponds, the center coordinates of the second spherical model are the current position of the other drone to which it corresponds, the current speed of the second spherical model is equal to the current speed of the other drone to which it corresponds plus the preset speed disturbance, and the radius of the second spherical model is the collision radius of the other drone to which it corresponds.
[0218] As a preferred embodiment, the dynamic obstacle speed limit area module 104 is further configured to:
[0219] The dynamic obstacle speed limit area formed by the dynamic obstacle on the drone is calculated based on the drone's current position, current speed, collision radius, planned time interval, and dynamic information of the dynamic obstacle. The collision radius of the drone is determined based on the size of the drone and a preset second safety distance. The dynamic obstacle speed limit area is the area formed by the speed that the drone cannot adopt in the speed domain to avoid dynamic obstacles within the planned time interval.
[0220] See also Figure 9 As a preferred embodiment, the dynamic obstacle speed limit area module 104 includes:
[0221] The dynamic information screening unit 1041 is configured to screen the dynamic information of the dynamic obstacles within the obstacle avoidance range from the dynamic information of the dynamic obstacles based on the preset obstacle avoidance range;
[0222] The dynamic obstacle speed limit area unit 1042 is used to calculate the dynamic obstacle speed limit area formed by the selected dynamic obstacles on the drone based on the drone's current position, current speed, collision radius, planned time interval, and dynamic information of the selected dynamic obstacles. The collision radius of the drone is determined based on the size of the drone and a preset second safety distance. The dynamic obstacle speed limit area is the speed that the drone cannot adopt in the speed domain to avoid dynamic obstacles within the planned time interval.
[0223] See also Figure 10 As a preferred embodiment, the cluster obstacle avoidance module 105 includes:
[0224] The first velocity dynamics constraint region unit 1051a is configured to obtain a first velocity dynamics constraint region in the velocity domain with the origin of the velocity domain as the origin and the maximum velocity of the UAV as the radius;
[0225] The expected speed determining unit 1052a is configured to determine the expected speed according to the static obstacle speed limit area, the dynamic obstacle speed limit area and the first speed dynamics constraint area.
[0226] Furthermore, the expected speed determination unit 1052a is configured to, when there are static obstacles and / or dynamic obstacles within the obstacle avoidance range of the UAV, plan based on the static obstacle speed limit area and / or the dynamic obstacle speed limit area, and the first speed dynamic constraint area to determine the expected speed of the UAV; when there are no static obstacles and dynamic obstacles within the obstacle avoidance range of the UAV, determine the expected speed of the UAV based on the first speed dynamic constraint area.
[0227] The UAV flight control unit 1053a is configured to control the UAV to fly at a desired speed to perform UAV cluster obstacle avoidance.
[0228] See also Figure 11 As a preferred embodiment, the cluster obstacle avoidance module 105 includes:
[0229] The first velocity dynamics constraint region unit 1051b is configured to obtain a first velocity dynamics constraint region in the velocity domain with the origin of the velocity domain as the origin and the maximum velocity of the UAV as the radius;
[0230] The second velocity dynamics constraint region unit 1052b is configured to obtain a second velocity dynamics constraint region in the velocity domain with the current velocity of the UAV as the origin and the product of the maximum acceleration of the UAV and the planned time interval as the radius;
[0231] The dynamically feasible speed region unit 1053b is configured to obtain the intersection of the first speed dynamics constraint region and the second speed dynamics constraint region in the speed domain to obtain the dynamically feasible speed region;
[0232] The expected speed determining unit 1054b is configured to determine the expected speed according to the static obstacle speed limit area, the dynamic obstacle speed limit area, and the dynamically feasible speed area.
[0233] Furthermore, the expected speed determination unit 1054b is configured to, when a static obstacle and / or a dynamic obstacle are within the obstacle avoidance range of the drone, determine the expected speed of the drone based on the static obstacle speed limit area and / or the dynamic obstacle speed limit area, as well as the dynamically feasible speed area. When no static obstacles or dynamic obstacles are within the obstacle avoidance range of the drone, the expected speed of the drone is determined based on the dynamically feasible speed area.
[0234] The UAV flight control unit 1055b is configured to control the UAV to fly at a desired speed to perform UAV cluster obstacle avoidance.
[0235] Example 3
[0236] An embodiment of the present invention further provides a drone, comprising the drone cluster obstacle avoidance system as described in the second embodiment.
[0237] An embodiment of the present invention further provides a memory storing a plurality of instructions, wherein the instructions are used to implement the method described in the first embodiment.
[0238] like Figure 12 As shown, an embodiment of the present invention also provides an electronic device, including a processor 301 and a memory 302 connected to the processor 301, wherein the memory 302 stores multiple instructions, which can be loaded and executed by the processor so that the processor can execute the method described in Example 1.
[0239] Although preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they are aware of the basic inventive concepts. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the invention. Obviously, those skilled in the art may make various changes and modifications to the present invention without departing from the spirit and scope of the invention. Thus, the present invention is intended to include such changes and modifications as fall within the scope of the claims and their equivalents.
Claims
1. A method for avoiding obstacles in a swarm of drones, characterized in that: The UAV cluster obstacle avoidance method is applied to each UAV in the UAV cluster, and the UAV cluster obstacle avoidance method includes: Determine static obstacles based on digital elevation model (DEM) data within a preset range near the current position of the drone; Obtain static information about static obstacles based on the digital elevation model (DEM) data within a preset range near the current position of the drone, including: Obtaining digital elevation model (DEM) data within a preset range near the current position of the drone; Determine the size, latitude and longitude coordinates and altitude of each pixel grid according to the DEM data; Based on a preset first safety distance and the latitude, longitude, and altitude of each pixel grid, the DEM data is converted into a static obstacle having static information, the static information including the position and size of the static obstacle; The converting of the DEM data into static obstacles based on the preset first safety distance and the latitude, longitude, and altitude of each pixel grid includes: converting each pixel grid into a static obstacle based on the preset first safety distance and the latitude, longitude, and altitude of each pixel grid in ascending order of altitude; Determining a static obstacle speed limit area in a speed domain based on the static information includes: Calculate a static obstacle speed limit area of the UAV in the speed domain based on the current position, current speed, collision radius, planning time interval, and static information of the static obstacle of the UAV; The determining of the static obstacle speed limit area in the speed domain based on the static information may include: Based on a preset obstacle avoidance range, filtering out static information of static obstacles within the obstacle avoidance range from the static information; Calculate a static obstacle speed limit area of the UAV in the speed domain based on the current position, current speed, collision radius, planning time interval, and the filtered static information of the static obstacles of the UAV; The collision radius of the UAV is determined based on the size of the UAV and a preset second safety distance; the static obstacle speed limit area is an area formed by the speed that the UAV cannot adopt to avoid static obstacles within the speed domain during the planned time interval; the speed domain is a coordinate system in a geometric space with horizontal and vertical speeds as coordinate axes; Receiving status information of other drones and obtaining dynamic information of dynamic obstacles based on the status information, including: Receiving status information of other drones including the number, current position, current speed, and collision radius of the other drones; Based on the state information of the other UAVs, modeling the dynamic obstacle represented by a second spherical model, wherein the dynamic obstacle has dynamic information; The dynamic information of the dynamic obstacle includes the number, center coordinates, radius and current speed of the second spherical model; the number of the second spherical model is the number of the other drone to which it corresponds, the center coordinates of the second spherical model are the current position of the other drone to which it corresponds, the current speed of the second spherical model is equal to the current speed of the other drone to which it corresponds plus a preset speed disturbance, and the radius of the second spherical model is the collision radius of the other drone to which it corresponds; Determining a dynamic obstacle speed limit area in the speed domain based on the dynamic information of the dynamic obstacle includes: Calculate a dynamic obstacle speed restriction area formed by the dynamic obstacle on the drone based on the drone's current position, current speed, collision radius, planning time interval, and dynamic information of the dynamic obstacle; The determining of the dynamic obstacle speed limit area based on the dynamic information of the dynamic obstacle may include: Based on a preset obstacle avoidance range, filtering out the dynamic information of the dynamic obstacles within the obstacle avoidance range from the dynamic information of the dynamic obstacles; Calculate a dynamic obstacle speed restriction area formed by the selected dynamic obstacles on the drone based on the drone's current position, current speed, collision radius, planning time interval, and dynamic information of the selected dynamic obstacles; The collision radius of the UAV is determined based on the size of the UAV and a preset second safety distance; the dynamic obstacle speed limit area is an area formed by a speed that the UAV cannot adopt in the speed domain to avoid dynamic obstacles within the planned time interval; Performing drone cluster obstacle avoidance based on the static obstacle speed limit area and the dynamic obstacle speed limit area includes: Obtaining a first velocity dynamics constraint region in the velocity domain with the origin of the velocity domain as the origin and the maximum velocity of the UAV as the radius; Determining an expected speed based on the static obstacle speed limit area, the dynamic obstacle speed limit area, and the first speed dynamics constraint area; including: when there are static obstacles and / or dynamic obstacles within the obstacle avoidance range of the UAV, planning is performed based on the static obstacle speed limit area and / or the dynamic obstacle speed limit area, and the first speed dynamics constraint area to determine the expected speed of the UAV; when there are no static obstacles and dynamic obstacles within the obstacle avoidance range of the UAV, determining the expected speed of the UAV based on the first speed dynamics constraint area; Controlling the drone to fly at the expected speed to perform drone cluster obstacle avoidance; The determining of the dynamic obstacle speed limit area based on the dynamic information of the dynamic obstacle may include: Based on a preset obstacle avoidance range, filtering out the dynamic information of the dynamic obstacles within the obstacle avoidance range from the dynamic information of the dynamic obstacles; Calculate a dynamic obstacle speed restriction area formed by the selected dynamic obstacles on the drone based on the drone's current position, current speed, collision radius, planning time interval, and dynamic information of the selected dynamic obstacles; The collision radius of the UAV is determined based on the size of the UAV and a preset second safety distance; the dynamic obstacle speed limit area is an area formed by a speed that the UAV cannot adopt in the speed domain to avoid dynamic obstacles within the planned time interval; The method of performing UAV cluster obstacle avoidance based on the static obstacle speed limit area and the dynamic obstacle speed limit area further includes: Obtaining a first velocity dynamics constraint region in the velocity domain with the origin of the velocity domain as the origin and the maximum velocity of the UAV as the radius; In the velocity domain, a second velocity dynamics constraint region is obtained with the current velocity of the UAV as the origin and the product of the maximum acceleration of the UAV and the planned time interval as the radius; Obtaining the intersection of the first speed dynamics constraint region and the second speed dynamics constraint region in the speed domain to obtain a dynamically feasible speed region; Determining an expected speed based on the static obstacle speed limit area, the dynamic obstacle speed limit area, and the dynamically feasible speed area; including: when there are static obstacles and / or dynamic obstacles within the obstacle avoidance range of the UAV, planning is performed based on the static obstacle speed limit area and / or the dynamic obstacle speed limit area, and the dynamically feasible speed area to determine the expected speed of the UAV; when there are no static obstacles and dynamic obstacles within the obstacle avoidance range of the UAV, determining the expected speed of the UAV based on the dynamically feasible speed area; The drone is controlled to fly at the expected speed to perform drone cluster obstacle avoidance.
2. A drone swarm obstacle avoidance system, applied to drones, the drone swarm obstacle avoidance system is used to implement the method of claim 1, characterized in that: include: A static information acquisition module is configured to acquire static information of static obstacles determined based on digital elevation model (DEM) data within a preset range near the current position of the UAV; a static obstacle speed restriction area module configured to determine a static obstacle speed restriction area in a speed domain based on the static information; the speed domain being a coordinate system in a geometric space with horizontal and vertical speeds as coordinate axes; a dynamic information acquisition module configured to receive status information of other drones and obtain dynamic information of dynamic obstacles based on the status information; a dynamic obstacle speed limit area module configured to determine a dynamic obstacle speed limit area in the speed domain based on dynamic information of the dynamic obstacle; The cluster obstacle avoidance module is configured to perform drone cluster obstacle avoidance based on the static obstacle speed limit area and the dynamic obstacle speed limit area.
3. A drone comprising the drone swarm obstacle avoidance system according to claim 2.
4. An electronic device, characterized in that: It includes a memory and a processor, characterized in that the memory stores a computer program, and when the processor executes the computer program, it implements the drone cluster obstacle avoidance method as claimed in claim 1.
Citation Information
Patent Citations
Aerial carrier flight control method and aerial carrier flight control system
CN105786019A
Formation obstacle avoidance method for static scene
CN112698659A
Unmanned aerial vehicle path planning method based on obstacle position prediction improved artificial potential field method in unknown environment
CN113342047A