Unmanned aerial vehicle control method based on server, and server

WO2026200671A1PCT designated stage Publication Date: 2026-10-01HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2026/084477
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-03-27
Filing Date
2026-03-19
Publication Date
2026-10-01

Smart Images

  • Figure CN2026084477_01102026_PF_FP_ABST
    Figure CN2026084477_01102026_PF_FP_ABST
Patent Text Reader

Abstract

The present application discloses an unmanned aerial vehicle control method based on a server, and a server, which can enable unmanned aerial vehicles to fly more safely. The method of the present application comprises: a tenant may send a control request to a server, wherein the control request is used to indicate a first space in which an unmanned aerial vehicle is located and a second space that the unmanned aerial vehicle needs to reach, such that the server may acquire a three-dimensional map generated on the basis of an environment in which the unmanned aerial vehicle is located, wherein the three-dimensional map comprises a plurality of three-dimensional grids used to indicate a plurality of spaces obtained by dividing the environment; the server may process the three-dimensional map on the basis of a non-flyable third space among the plurality of spaces, to obtain a processed three-dimensional map, wherein the processed three-dimensional map comprises the plurality of three-dimensional grids and first labels of the plurality of three-dimensional grids, and the first labels of the plurality of three-dimensional grids are used to indicate whether the plurality of spaces are flyable; and the server may use the processed three-dimensional map to acquire a target path from the first space to the second space, and instruct the unmanned aerial vehicle to fly on the basis of the target path.
Need to check novelty before this filing date? Find Prior Art

Description

A server-based drone control method and server

[0001] This application claims priority to Chinese Patent Application No. 202510381824.6, filed on March 27, 2025, entitled "A Server-Based Unmanned Aerial Vehicle Control Method and Server", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of cloud technology, and in particular to a server-based drone control method and server. Background Technology

[0003] With the rapid development of cloud technology, more and more tenants are choosing to use cloud services provided by cloud vendors to complete their aerial business. For example, tenants can use the remote control services provided by cloud vendors to control their drones so that the drones can fly according to the tenants' needs and complete the aerial business specified by the users.

[0004] In related technologies, tenants can specify the start and end points of a drone in its operating environment to the server. The server can then use a map simulating the operating environment to perform a series of processes, thereby constructing multiple candidate paths from the start point to the end point. The server can then select the drone's target path from these candidate paths and control the drone to fly along the target path to reach the end point and complete its aerial operations.

[0005] In the process described above, the server obtains the target path of the drone from multiple candidate paths, mainly considering the drone's starting point and destination, and taking into account fewer factors. This results in the target path selected by the server not being the optimal path, which leads to insufficient practicality and security of the target path. Summary of the Invention

[0006] This application provides a server-based drone control method and server, which enables drones to fly more efficiently and safely.

[0007] The first aspect of this application provides a server-based drone control method, wherein the server is used to manage tenant drones, and the method includes:

[0008] When a tenant needs to control their drone to fly using the server, the tenant can input the control request they have set for the drone into the control interface provided by the server. In this way, the server can receive the control request for the tenant's drone through the control interface. The control request is used to indicate the first space where the drone is located and the second space that the drone needs to go to.

[0009] Upon receiving a control request, the server can obtain a 3D map generated based on the environment where the drone is located. The 3D map can be composed of multiple 3D grids, which can represent multiple spaces divided by the environment. The first space can contain at least one of these multiple spaces, and the second space can also contain at least one of these multiple spaces.

[0010] After obtaining the 3D map, the server can identify the non-flyable third spaces among these multiple spaces and process the 3D map based on these third spaces to obtain a processed 3D map. The processed 3D map may contain these multiple 3D grids and their first labels. It is worth noting that the first labels of these multiple 3D grids are used to indicate whether the drone can fly in these multiple spaces.

[0011] After obtaining the processed 3D map, the server can use it to construct a target path from the first space to the second space. Then, the server can instruct the drone to start from the first space and fly along the target path to reach the second space. It is important to note that the target path starts in the first space and ends in the second space; the spaces it passes through do not include the third space.

[0012] As can be seen from the above method, since the processed 3D map obtained by the server contains multiple 3D grids carrying corresponding first labels, the first label of any one of these grids can indicate whether the space represented by that grid is flyable. Therefore, when the server constructs the target path of the UAV based on the processed 3D map, the target path can point from the first space where the UAV is located to the second space that the UAV needs to reach, without passing through the non-flyable third space. It not only considers the UAV's starting point (i.e., the first space) and ending point (i.e., the second space), but also the places where collisions may occur along the way (i.e., the third space). The factors considered are more comprehensive, which can improve the practicality and safety of the target path to a certain extent, and thus enable the UAV to fly more efficiently and safely to a certain extent.

[0013] In one possible implementation, the third space includes the space containing obstacles in the environment, the space containing no-fly zones in the environment, the space adjacent to the space containing obstacles, and the space adjacent to the space containing no-fly zones. In the aforementioned implementation, the environment stores multiple objects, and any one of these objects can occupy at least one space in the environment. Since some of these objects are not obstacles or no-fly zones, the server can consider the space containing obstacles, the space containing no-fly zones, the space adjacent to the space containing obstacles, and the space adjacent to the space containing no-fly zones as the third space. Therefore, in subsequent processing, the server can process multiple 3D grids of the 3D map based on the third space, successfully imbuing these grids with a first label. This label indicates which parts of the space are winged and which are not, enabling the subsequent construction of a target path that avoids the non-winged areas.

[0014] In one possible implementation, the method further includes: the server processing the processed 3D map based on the wind direction and speed of the environment to obtain a reprocessed 3D map, wherein the reprocessed 3D map contains multiple 3D grids, first labels for the multiple 3D grids, and second labels for the multiple 3D grids, the second labels indicating whether multiple spaces are suitable for flight with the wind; the server obtaining a target path from the first space to the second space based on the processed 3D map includes: the server obtaining a target path from the first space to the second space based on the reprocessed 3D map. In the aforementioned implementation, after obtaining the processed 3D map, the server can further process the processed 3D map using the wind direction and speed of the environment where the drone is located to obtain a reprocessed 3D map, which may contain multiple 3D grids, first labels for the multiple 3D grids, and second labels for the multiple 3D grids. The first labels for the multiple 3D grids indicate whether multiple spaces divided by the environment are suitable for flight, and the second labels for the multiple 3D grids indicate whether multiple spaces are suitable for flight with the wind. Then, the server can use the reprocessed 3D map to obtain a target path from the first space to the second space. Subsequently, the server can instruct the drone to fly along the target path. Since the space traversed in the middle of the target path is all flyable space, and most of the space it passes through is wind-friendly, it is evident that the target path constructed by the server for the drone not only avoids potential collision points as shown in the diagram, but also allows it to pass through some wind-friendly areas. In this way, while ensuring the drone's safe flight, it also reduces the power consumption required by the drone during flight, thus contributing to energy saving for the drone.

[0015] In one possible implementation, the server processes the processed 3D map based on the environmental wind direction and speed to obtain a further processed 3D map. This includes: the server performing simulations based on the environmental wind direction, wind speed, and the processed 3D map to obtain the wind direction and wind speed of multiple 3D grids; and the server further processing the processed 3D map based on the wind direction and wind speed of these multiple 3D grids to obtain a further processed 3D map. In the aforementioned implementation, after obtaining the environmental wind direction and speed, the server can use these factors and the processed 3D map to perform simulations, thereby obtaining the wind direction and wind speed of the multiple 3D grids contained in the processed 3D map. After obtaining the wind direction and wind speed of these multiple 3D grids, the server can calculate the second labels for these grids and add them to the processed 3D map. This results in a further processed 3D map containing the multiple 3D grids, their first labels, and their second labels. Therefore, the server can use simulation calculations to comprehensively consider the effects of obstacles and tailwinds, accurately planning the optimal flight path for the drone. This allows the drone to adapt to various operational scenarios and successfully complete the tenant's business.

[0016] In one possible implementation, the method further includes: the server processing the processed 3D map based on the space where the base station is located in the environment and the engineering parameters of the base station to obtain a reprocessed 3D map. The reprocessed 3D map includes multiple 3D grids, first labels for the multiple 3D grids, and third labels for the multiple 3D grids. The third labels are used to indicate the signal strength of the multiple spaces. The server obtaining a target path from the first space to the second space based on the processed 3D map includes: the server obtaining the target path from the first space to the second space based on the reprocessed 3D map. In the aforementioned implementation, after obtaining the processed 3D map, the server further processes the processed 3D map using the space where the base station is located in the environment of the UAV and the engineering parameters of these base stations to obtain a reprocessed 3D map. The reprocessed 3D map may include multiple 3D grids, first labels for the multiple 3D grids, and third labels for the multiple 3D grids. The first labels for the multiple 3D grids are used to indicate whether the multiple spaces divided by the environment are flyable, and the third labels for the multiple 3D grids are used to indicate the signal strength of the multiple spaces. Then, the server can use the reprocessed 3D map to obtain the target path from the first space to the second space. Subsequently, the server can instruct the drone to fly along the target path. Since the space traversed along the target path is all flyable space, and most of the space it passes through has strong signal strength, it is evident that the target path constructed by the server for the drone not only avoids potential collision points as shown in the diagram, but also passes through a portion of the space with strong signal strength. In this way, while ensuring the safe flight of the drone, the communication quality between the drone and the server can also be guaranteed, thus ensuring accurate control of the drone.

[0017] In one possible implementation, the server processes the processed 3D map based on the space where the base stations are located and their engineering parameters, resulting in a further processed 3D map. This involves: the server simulating the space where the base stations are located, their engineering parameters, and the processed 3D map to obtain the signal strength of multiple 3D grids; and then processing the processed 3D map again based on the signal strength of these multiple 3D grids. In this implementation, after obtaining the space where the base stations are located and their engineering parameters, the server can use these elements and the processed 3D map to perform simulation, thereby obtaining the third labels of the multiple 3D grids contained in the processed 3D map. These third labels are then added to these multiple 3D grids in the processed 3D map, resulting in the further processed 3D map. Therefore, the processed 3D map can contain these multiple 3D grids, their first labels, and their third labels. Thus, the server can use simulation calculations to comprehensively consider the influence of various factors such as obstacles and signal strength, thereby accurately planning the optimal flight path for the drone. This allows the drone to adapt to various operational scenarios and successfully complete the tenant's business.

[0018] A second aspect of this application provides a server for managing a tenant's drones. The server includes: a receiving module for receiving control requests for the drones, wherein the control requests indicate a first space where the drone is located and a second space that the drone needs to reach; an acquisition module for acquiring a 3D map generated based on the environment where the drone is located, based on the control requests, wherein the 3D map includes multiple 3D grids, the multiple 3D grids indicate multiple spaces included in the environment, and the multiple spaces include the first space and the second space; a first processing module for processing the 3D map based on a non-flyable third space among the multiple spaces to obtain a processed 3D map, wherein the processed 3D map includes multiple 3D grids and first labels for the multiple 3D grids, the first labels indicating whether the multiple spaces are flyable; and a notification module for acquiring a target path from the first space to the second space based on the processed 3D map, and notifying the drone to fly according to the target path, wherein the target path does not pass through the third space.

[0019] In one possible implementation, the third space includes the space containing obstacles in the environment, the space containing no-fly zones in the environment, the space adjacent to the space containing obstacles, and the space adjacent to the space containing no-fly zones.

[0020] In one possible implementation, the server further includes: a second processing module, used to process the processed 3D map based on the wind direction and wind speed of the environment to obtain a reprocessed 3D map, wherein the reprocessed 3D map contains multiple 3D grids, first labels of the multiple 3D grids and second labels of the multiple 3D grids, the second labels being used to indicate whether multiple spaces are suitable for flight with the wind; and a notification module, used to obtain a target path from the first space to the second space based on the reprocessed 3D map.

[0021] In one possible implementation, the second processing module is used to: simulate based on the wind direction and wind speed of the environment and the processed 3D map to obtain the wind direction and wind speed of multiple 3D grids; and process the processed 3D map based on the wind direction and wind speed of the multiple 3D grids to obtain a further processed 3D map.

[0022] In one possible implementation, the server further includes: a third processing module, used to process the processed 3D map based on the space where the base station is located in the environment and the engineering parameters of the base station, to obtain a reprocessed 3D map, wherein the reprocessed 3D map contains multiple 3D grids, first labels of the multiple 3D grids and third labels of the multiple 3D grids, the third labels being used to indicate the signal strength of the multiple spaces; and a notification module, used to obtain the target path from the first space to the second space based on the reprocessed 3D map.

[0023] In one possible implementation, the third processing module is used to: perform simulation based on the space where the base station is located, engineering parameters, and the processed 3D map to obtain the signal strength of multiple 3D grids; and process the processed 3D map based on the signal strength of the multiple 3D grids to obtain a further processed 3D map.

[0024] A third aspect of this application provides a computing device cluster, the computing device cluster including at least one computing device, each computing device including a processor and a memory: the memory is used to store instructions; the processor is used to cause the computing device cluster to perform the method described in the first aspect or any possible implementation of the first aspect according to the instructions.

[0025] A fourth aspect of this application provides a computer storage medium storing one or more instructions that, when executed by one or more computers, cause the one or more computers to perform the method described in the first aspect or any possible implementation of the first aspect.

[0026] A fifth aspect of this application provides a computer program product storing instructions that, when executed by a computer, cause the computer to perform the method described in the first aspect or any possible implementation of the first aspect.

[0027] In this embodiment, when a tenant needs to command their drone to fly, the tenant can send a control request for the drone to the control interface provided by the server. Since this control request indicates the first space where the tenant's drone is located and the second space the drone needs to reach, the server can obtain a 3D map generated based on the drone's environment. This 3D map contains multiple 3D grids, which indicate multiple spaces divided by the environment. Then, the server can process the 3D map based on the non-flyable third space within these multiple spaces to obtain a processed 3D map. The processed 3D map contains these multiple 3D grids and their first labels, which indicate whether these spaces are flyable. The server can then use the processed 3D map to obtain the target path from the first space to the second space and instruct the drone to fly along the target path. In the aforementioned process, since the processed 3D map obtained by the server contains multiple 3D grids carrying corresponding first labels, the first label of any one of these 3D grids can indicate whether the space represented by that grid is flyable. Therefore, when the server constructs the target path of the UAV based on the processed 3D map, the target path can point from the first space where the UAV is located to the second space that the UAV needs to reach, without passing through the non-flyable third space. It not only considers the UAV's starting point (i.e., the first space) and ending point (i.e., the second space), but also considers places where collisions may occur along the way (i.e., the third space). The factors considered are relatively comprehensive, which can improve the practicality and safety of the target path to a certain extent, and thus enable the UAV to fly more efficiently and safely to a certain extent. Attached Figure Description

[0028] Figure 1 is a schematic diagram of a cloud service system provided in an embodiment of this application;

[0029] Figure 2 is a schematic flowchart of a server-based drone control method provided in an embodiment of this application;

[0030] Figure 3 is a schematic diagram of a three-dimensional map provided in an embodiment of this application;

[0031] Figure 4 is another schematic flowchart of the server-based drone control method provided in the embodiments of this application;

[0032] Figure 5 is another schematic diagram of the three-dimensional map provided in the embodiment of this application;

[0033] Figure 6 is another schematic flowchart of the server-based drone control method provided in the embodiment of this application;

[0034] Figure 7 is another schematic diagram of a three-dimensional map provided in an embodiment of this application;

[0035] Figure 8 is another schematic flowchart of the server-based drone control method provided in the embodiments of this application;

[0036] Figure 9 is another schematic diagram of a three-dimensional map provided in an embodiment of this application;

[0037] Figure 10 is a schematic diagram of the server provided in an embodiment of this application;

[0038] Figure 11 is a schematic diagram of a computing device provided in an embodiment of this application;

[0039] Figure 12 is a schematic diagram of a computing device cluster provided in an embodiment of this application;

[0040] Figure 13 is a schematic diagram of computer devices in a computer cluster connected via a network according to an embodiment of this application. Detailed Implementation

[0041] This application provides a server-based drone control method and server, which enables drones to fly more efficiently and safely.

[0042] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of elements is not necessarily limited to those elements, but may include other elements not explicitly listed or inherent to those processes, methods, products, or apparatuses.

[0043] With the rapid development of cloud technology, more and more tenants are choosing to use cloud services provided by cloud providers to complete their aerial business. For example, tenants can use the remote control services provided by cloud providers to control their drones so that the drones can fly according to the tenant's needs, thereby completing the aerial business specified by the user, such as logistics transportation, sightseeing photography, civil inspection and other various businesses.

[0044] In related technologies, tenants can specify the start and end points of a drone in its operating environment to the server. The server can then use a map simulating this operating environment to perform a series of processes, thereby constructing multiple candidate paths from the start point to the end point. Next, the server can select one of these candidate paths as the drone's target path according to certain filtering criteria and send the target path to the drone, enabling the drone to fly along the target path and reach the end point to complete its aerial mission.

[0045] In the process described above, the server obtains the target path of the drone from multiple candidate paths, mainly considering the drone's starting point and ending point. The factors considered are relatively singular, which means that the target path selected by the server is not the optimal path. This leads to insufficient practicality (e.g., the drone may not be able to maintain a high flight speed along the target path) and safety (e.g., there may be potential risks of collision on the target path), making it impossible for the drone to fly efficiently and safely.

[0046] To address the aforementioned issues, this application provides a server-based drone control method. It should be noted that the server used to implement this method can be applied in various scenarios. For example, the server can be a cloud management platform or cloud instance within a cloud service system. In this case, the server belongs to the owner of the cloud service system, i.e., the cloud vendor. Alternatively, the server can be a control server in a drone control system. In this case, the server typically belongs to the owner of the drone control system, i.e., the drone manufacturer or tenant, etc. The following section will briefly introduce this application embodiment using a cloud service system as an example. Figure 1 is a structural diagram of a cloud service system provided in this application embodiment. As shown in Figure 1, the cloud service system includes infrastructure that can provide cloud services and a cloud management platform that manages this infrastructure. The cloud management platform and the infrastructure will be described separately below:

[0047] A cloud management platform provides comprehensive management of the infrastructure across the entire cloud service system. (For example, following a tenant's instructions, the platform can create multiple cloud instances within the infrastructure, which can then control the tenant's drones, etc.) The platform can also be accessible to tenants outside the cloud service system and respond to their requests. For instance, it can provide various interfaces, such as login and control interfaces, for tenant clients (e.g., the tenant's terminal device or the browser on that device) to access. Specifically, the platform can authenticate a tenant's client through the login interface, allowing the client to log in after successful authentication. For example, the cloud management platform can also allow the tenant's client to send control requests for the tenant's drones to the cloud management platform via a control interface. Since this control request indicates the space where the tenant's drone is located (also known as the drone's starting point) and the space the drone needs to reach (also known as the drone's destination), the cloud management platform can obtain a 3D map generated based on the drone's (operational) environment. This 3D map contains multiple 3D grids, any one of which can represent one of the multiple spaces divided by the environment. Then, the cloud management platform can process the 3D map based on the non-flyable spaces within these multiple spaces to obtain a processed 3D map. This processed map contains the multiple 3D grids and their labels, indicating whether the spaces are flyable. The cloud management platform can then use the processed 3D map to obtain the target path from the drone's current location to the space the drone needs to reach, and instruct the drone to fly along the target path to reach its destination.

[0048] The infrastructure comprises multiple cloud instances created by the cloud management platform. Each of these cloud instances occupies a certain amount of computing resources (e.g., central processing unit (CPU) and graphics processing unit (GPU), etc.), a certain amount of storage resources (e.g., memory and disk), and a certain amount of network resources (e.g., network interface cards, etc.). Therefore, these multiple cloud instances as a whole possess a large number of resources, and thus, they can work together to provide high-quality remote services to tenants.

[0049] Furthermore, these multiple cloud instances can be used to run applications specified by the tenant (e.g., drone control applications, etc.). These applications can be provided to the tenant by the cloud management platform (also known as cloud-native applications or cloud services, etc.) or the tenant's own applications, etc., without specific restrictions here.

[0050] Furthermore, the tenant's drone can be directly controlled by the cloud management platform (i.e., the target path of the drone is generated and sent to the drone by the cloud management platform), or it can be indirectly controlled by the cloud management platform through a cloud instance (i.e., the cloud management platform can notify the cloud instance to generate the target path of the drone and send it to the drone), without any restrictions.

[0051] Furthermore, multiple cloud instances in the infrastructure can be presented in various ways. For example, these multiple cloud instances can be physical servers selected by the cloud management platform in the infrastructure; they can also be bare metal servers (BMS) selected by the cloud management platform in the infrastructure; they can also be virtual machines (VMs) created by the cloud management platform on physical servers using virtualization technology; they can also be containers created by the cloud management platform on physical servers using virtualization technology; they can also be micro VMs created by the cloud management platform on physical servers using virtualization technology, and so on.

[0052] Furthermore, for multiple cloud instances in the infrastructure, these instances can be deployed on the same site or different sites. These sites can be presented in various forms, such as one or more regions within the infrastructure, one or more availability zones (AZs) within the infrastructure, one or more data centers (DCs) within the infrastructure, one or more server rooms within the infrastructure, or one or more racks within the infrastructure.

[0053] Based on the aforementioned cloud service system, when a tenant needs to command their drone to fly, the tenant can send a control request for the drone to the control interface provided by the cloud management platform. Since this control request indicates the space where the tenant's drone is located and the space the drone needs to reach, the cloud management platform can obtain a 3D map generated based on the drone's environment. This 3D map contains multiple 3D grids, which indicate multiple spaces divided by the environment. Then, the cloud management platform can process the 3D map based on the non-flyable spaces within these spaces, resulting in a processed 3D map. This processed map contains the multiple 3D grids and their labels, indicating whether the spaces are flyable. The cloud management platform can then use the processed 3D map to obtain the target path from the drone's current location to the space the drone needs to reach, and instruct the drone to fly along this path to achieve its destination. In the aforementioned process, since the processed 3D map obtained by the cloud management platform contains multiple 3D grids with corresponding labels, the label of any one of these 3D grids can indicate whether the space represented by that grid is flyable. Therefore, when the cloud management platform constructs the target path of the UAV based on the processed 3D map, the target path can point from the space where the UAV is located to the space that the UAV needs to reach, without passing through non-flyable spaces. It not only considers the UAV's starting point (its space) and ending point (its destination), but also places where collisions may occur along the way (non-flyable spaces). The factors considered are relatively comprehensive, which can improve the practicality and safety of the target path to a certain extent, and thus enable the UAV to fly more efficiently and safely to a certain extent.

[0054] To further understand the server-side workflow, the following section provides a detailed description of the workflow using several embodiments. First, a first embodiment of the server-based drone control method is introduced. Figure 2 is a flowchart illustrating a server-based drone control method provided in this application embodiment. As shown in Figure 2, the server can be used to manage tenants' drones. The method includes:

[0055] 201. The server receives a control request for the drone, wherein the control request is used to indicate the first space where the drone is located and the second space that the drone needs to reach.

[0056] In this embodiment, when a tenant needs to control their drone to fly via the cloud, the server can provide a control interface to the tenant's client (e.g., the drone control bar on the tenant's interface). The tenant can then input control requests for their drone into the control interface via their client. In this way, the server can receive the control requests sent by the tenant's client to the tenant's drone through the control interface. These control requests indicate the first space where the drone is located (also known as the drone's starting point) and the second space the drone needs to reach (also known as the drone's destination).

[0057] For example, when a tenant needs to control their drone to fly, the tenant can log in to the server. The server can provide a tenant interface, which includes a drone control bar. The tenant can then input control requests for their drone into the drone control bar. The control request can include information such as the drone's identifier, the space 1 where the drone is located, and the space 2 that the drone needs to reach. Thus, the control request can indicate that the tenant needs to make the drone fly from space 1 to space 2.

[0058] In this way, the server can receive control requests for its drones through the drone control panel.

[0059] 202. Based on the control request, the server obtains a 3D map generated based on the environment where the drone is located. The 3D map contains multiple 3D grids, which are used to indicate multiple spaces contained in the environment. The multiple spaces include a first space and a second space.

[0060] Upon receiving the control request, the server can parse the control request to determine that the tenant requests to control its drone to fly from the first space to the second space. Therefore, the server can obtain a 3D map generated based on the environment where the drone is located.

[0061] It should be noted that the server uses certain mapping equipment to pre-map the environment in which the drone is located (i.e., the real world or real working environment in which the drone is located, etc.) to obtain three-dimensional geographic data. Then, certain algorithms are used to process the three-dimensional geographic data to obtain three-dimensional grid data. The three-dimensional grid data is the three-dimensional map. Therefore, the three-dimensional map can be composed of multiple three-dimensional grids. Any one of these three-dimensional grids can represent one of the multiple spaces divided by the environment. The first space contains at least one of these multiple spaces, and the second space also contains at least one of these multiple spaces.

[0062] As in the example above, as shown in Figure 3 (Figure 3 is a schematic diagram of a three-dimensional map provided in an embodiment of this application), after receiving the control request, the server can determine that the tenant needs to make its drone fly from space 1 to space 2. Therefore, the server can obtain a three-dimensional map describing the environment in which the drone is located. This three-dimensional map can be the three-dimensional grid data of the environment converted from the three-dimensional geographic data of the environment. Therefore, the three-dimensional map contains a large number of three-dimensional grids. As can be seen from Figure 3, each of these multiple three-dimensional grids can represent one of the multiple spaces divided by the environment.

[0063] 203. The server processes the 3D map based on the non-flying third space in multiple spaces to obtain the processed 3D map. The processed 3D map contains multiple 3D grids and the first label of each 3D grid. The first label is used to indicate whether multiple spaces are flyable.

[0064] After obtaining the 3D map, the server can identify the non-flying third spaces among these multiple spaces. It should be noted that the third space can contain several of these multiple spaces. In this way, the server effectively divides these multiple spaces into two parts: one part consists of several non-flying spaces (i.e., the aforementioned third spaces), and the other part consists of several flyable spaces. Therefore, the server can generate flight risk values ​​for these multiple spaces. For any one of these spaces, if the space is flyable, its flight risk value is usually less than a certain threshold, indicating that the drone can fly in that space (i.e., the space is flyable). If the space is non-flyable, its flight risk value is usually greater than or equal to the threshold, indicating that the drone cannot fly in that space (i.e., the space is non-flyable). In this way, the server can use the flight risk values ​​of these multiple spaces as the first labels of multiple 3D grids in the 3D map, mapping them to these 3D grids to obtain the processed 3D map. Therefore, the processed 3D map can contain these multiple 3D grids and their first labels.

[0065] Specifically, the server can determine the third space in the following ways:

[0066] Any object in this environment can occupy at least one space within that environment, and therefore, the object can occupy at least one grid in the 3D map. Generally speaking, some objects in this environment are non-obstacles (e.g., roads, etc.), while others are obstacles (e.g., buildings, etc.). Furthermore, some objects in this environment are not no-fly zones, while others are no-fly zones (e.g., airports, schools, etc.). Therefore, the server can consider the space where obstacles are located, the space where no-fly zones are located, the space adjacent to the space where obstacles are located (the space adjacent to the space where obstacles are located can also be called a buffer space; the size of the buffer space is generally not limited and can be set according to actual needs), and the space adjacent to the space where no-fly zones are located (buffer space), etc., as third spaces.

[0067] Continuing with the example above, after obtaining the 3D map, the server, under the guidance of maintenance personnel or based on the annotations of various objects in the environment, can identify obstacles in the environment and further determine the spaces where the obstacles are located and the buffer spaces near these spaces. The server can determine the spaces where the obstacles are located and the buffer spaces as non-flying spaces, while the remaining spaces are flyable spaces. Therefore, the server can generate flight risk values ​​for multiple spaces in the environment (for a certain space, if its flight risk value is greater than a certain threshold, it means that the drone cannot fly in that space; if its flight risk value is less than the threshold, it means that the drone can fly in that space). These values ​​are then used as labels 1 for multiple 3D grids in the 3D map and mapped onto the multiple 3D grids to obtain the processed 3D map. In this way, the processed 3D map contains multiple 3D grids and labels 1 for these multiple 3D grids. That is, these multiple 3D grids carry their own labels 1, which are used to indicate whether the drone can fly in these multiple spaces.

[0068] 204. Based on the processed 3D map, the server obtains the target path from the first space to the second space and instructs the drone to fly according to the target path, wherein the target path does not pass through the third space.

[0069] After obtaining the processed 3D map, the server can use certain algorithms (e.g., A* algorithm, PSO algorithm, GA algorithm, etc.) to process the processed 3D map, the corresponding 3D grid of the first space in the processed 3D map, and the corresponding 3D grid of the second space in the processed 3D map, thereby obtaining the target path from the first space to the second space. Then, the server can instruct the drone to start from the first space and fly along the target path to reach the second space. It should be noted that although the target path starts from the first space and ends in the second space, the spaces it passes through do not include the third space; that is, all the spaces it passes through are avionics.

[0070] Continuing with the example above, after obtaining the processed 3D map, the server can use an algorithm to process the processed 3D map, the 3D grid 1 corresponding to (occupying) space 1 in the processed 3D map, and the 3D grid 2 corresponding to space 2 in the processed 3D map. This will generate a target path from space 1 to space 2. The target path does not pass through any non-flyable spaces; all spaces it traverses are flyable. Therefore, the server can send the target path to the drone, enabling it to fly from space 1 to space 2 along the target path.

[0071] The above is a detailed description of the first embodiment of the server-based drone control method provided in this application. The second embodiment of the server-based drone control method provided in this application will be described below. Figure 4 is another flowchart illustrating the server-based drone control method provided in this application. As shown in Figure 4, this method can be implemented through the cloud service system shown in Figure 1. The server in the cloud service system can be used to manage tenants' drones. The method includes:

[0072] 401. The server receives a control request for the drone, wherein the control request is used to indicate the first space where the drone is located and the second space that the drone needs to reach.

[0073] 402. Based on the control request, the server obtains a 3D map generated based on the environment where the drone is located. The 3D map contains multiple 3D grids, which are used to indicate multiple spaces contained in the environment. The multiple spaces include a first space and a second space.

[0074] 403. The server processes the 3D map based on the non-flyable third space in multiple spaces to obtain a processed 3D map. The processed 3D map contains multiple 3D grids and the first label of each 3D grid. The first label is used to indicate whether multiple spaces are flyable.

[0075] For a description of steps 401 to 403, please refer to the relevant descriptions of steps 201 to 203 in the embodiment shown in Figure 2, which will not be repeated here.

[0076] 404. The server processes the processed 3D map based on the wind direction and wind speed in the environment to obtain a reprocessed 3D map. The reprocessed 3D map contains multiple 3D grids, first labels for the multiple 3D grids, and second labels for the multiple 3D grids. The second labels are used to indicate whether multiple spaces are suitable for flight with the wind.

[0077] After obtaining the processed 3D map, the server can also collect the (real) wind direction and (real) wind speed of the environment uploaded by the device deployed in the environment where the drone is located. Using the wind direction and wind speed of the environment, the server can perform a series of processing on the processed 3D map to obtain a reprocessed 3D map. The reprocessed 3D map can contain multiple 3D grids, a first label for each grid, and a second label for each grid. The first label for each grid is used to indicate whether the multiple spaces divided by the environment are flyable, and the second label for each grid is used to indicate whether the multiple spaces are flyable with the wind, i.e., whether the multiple spaces are energy-saving spaces.

[0078] Specifically, the server can obtain the reprocessed 3D map in the following ways:

[0079] After obtaining the wind direction and wind speed of the environment, the server can use the wind direction, wind speed and the processed 3D map to perform simulation, thereby obtaining the wind direction and wind speed of multiple 3D grids contained in the processed 3D map.

[0080] After obtaining the wind direction and wind speed of these multiple 3D grids, the server can calculate the flight vector of any one of these 3D grids based on its wind direction and wind speed (which can also be called the wind vector of the 3D grid). If the flight vector of the 3D grid is greater than or equal to a certain threshold, it means that the UAV can fly with the wind in the space indicated by the 3D grid (i.e., the space is suitable for tailwind flight). If the flight vector of the 3D grid is less than the threshold, it means that the UAV cannot fly with the wind in the space indicated by the 3D grid (i.e., the space is not suitable for tailwind flight). The server can then perform similar operations on the other 3D grids, thus ultimately obtaining the flight vectors of all the 3D grids.

[0081] In this way, the server can use the flight vector of this 3D grid as the second label of multiple 3D grids in the processed 3D map, and map it to these multiple 3D grids in the processed 3D map, thereby obtaining a further processed 3D map. Therefore, the processed 3D map can contain these multiple 3D grids, the first label of these multiple 3D grids, and the second label of these multiple 3D grids.

[0082] For example, as shown in Figure 5 (Figure 5 is another schematic diagram of the 3D map provided in this application embodiment, and Figure 5 is drawn based on Figure 3), after obtaining the processed 3D map, since the environment where the drone is located has winds of a certain direction and magnitude, the winds in this environment may be conducive to the drone's flight or may hinder the drone's flight. Therefore, the server can obtain the wind direction and wind speed of this environment, and use the wind speed, wind direction, and processed 3D map of this environment to perform simulation calculations, thereby obtaining the wind speed and wind direction of multiple 3D grids in the processed 3D map. For any one of these multiple 3D grids, the wind direction of this 3D grid can be regarded as A, and the wind direction of this 3D grid can be regarded as B. The server can calculate the flight vector T of this 3D grid using the following formula: T = A × B. When T is greater than or equal to 0, it means that the drone can fly with the wind in the space indicated by the 3D grid. When T is less than 0, it means that the drone cannot fly with the wind in the space indicated by the 3D grid (such as normal flight or headwind flight, etc.). In this way, the server can obtain the flight vectors of these multiple 3D grids.

[0083] The server can then use the flight vectors of these multiple 3D grids as labels 2 for the multiple 3D grids in the processed 3D map, and map them onto the multiple 3D grids in the processed 3D map to obtain a reprocessed 3D map. In this way, the reprocessed 3D map contains these multiple 3D grids, their labels 1, and their labels 2. That is, each of the multiple 3D grids carries its own label 1 and label 2. The label 1 of these multiple 3D grids indicates whether the drone can fly in these multiple spaces, and the label 2 of these multiple 3D grids indicates whether the drone can fly with the wind in these multiple spaces.

[0084] It should be understood that this embodiment is only used as an illustrative example of the server obtaining the wind speed and direction of multiple three-dimensional grids through simulation calculations. In practical applications, multiple sophisticated measuring devices can be deployed in multiple spaces in the environment where the drone is located. Each measuring device can collect the wind direction and wind speed of that space and report it to the server. Therefore, the server can finally obtain the wind direction and wind speed of these multiple spaces. Since these multiple spaces correspond to multiple three-dimensional grids in the three-dimensional map, it is equivalent to obtaining the wind direction and wind speed of these multiple three-dimensional grids. No limitation is made here.

[0085] 405. Based on the reprocessed 3D map, the server obtains the target path from the first space to the second space and instructs the drone to fly according to the target path, wherein the target path does not pass through the third space.

[0086] After obtaining the reprocessed 3D map, the server can use certain algorithms (e.g., A* algorithm, PSO algorithm, GA algorithm, etc.) to process the reprocessed 3D map, the corresponding 3D grid of the first space in the reprocessed 3D map, and the corresponding 3D grid of the second space in the reprocessed 3D map, thereby obtaining the target path from the first space to the second space. Then, the server can instruct the drone to start from the first space and fly along the target path to reach the second space. It should be noted that although the target path starts from the first space and ends in the second space, the spaces it passes through do not include the third space; that is, all the spaces it passes through are avionics, and most of the spaces it passes through are suitable for downwind flight.

[0087] Continuing with the example above, after obtaining the reprocessed 3D map, the server can use an algorithm to process the reprocessed 3D map, the corresponding 3D grid 1 for space 1 in the reprocessed 3D map, and the corresponding 3D grid 2 for space 2 in the reprocessed 3D map. This will generate a target path from space 1 to space 2. The target path does not pass through any non-flyable areas; all the spaces it passes through are flyable, and most of these spaces are suitable for downwind flight. Therefore, the server can send the target path to the drone, enabling it to fly from space 1 to space 2 along the target path.

[0088] The above is a detailed description of the second embodiment of the server-based drone control method provided in this application. The third embodiment of the server-based drone control method provided in this application will be described below. Figure 6 is another flowchart illustrating the server-based drone control method provided in this application. As shown in Figure 6, this method can be implemented through the cloud service system shown in Figure 1. The server in the cloud service system can be used to manage tenants' drones. The method includes:

[0089] 601. The server receives a control request for the drone, wherein the control request is used to indicate the first space where the drone is located and the second space that the drone needs to reach.

[0090] 602. Based on the control request, the server obtains a 3D map generated based on the environment where the drone is located. The 3D map contains multiple 3D grids, which are used to indicate multiple spaces contained in the environment. The multiple spaces include a first space and a second space.

[0091] 603. The server processes the 3D map based on non-flying third spaces in multiple spaces to obtain a processed 3D map. The processed 3D map contains multiple 3D grids and first labels for the multiple 3D grids. The first labels are used to indicate whether multiple spaces are flyable.

[0092] For a description of steps 601 to 603, please refer to the relevant descriptions of steps 201 to 203 in the embodiment shown in Figure 2, which will not be repeated here.

[0093] 604. Based on the space where the base station is located in the environment and the engineering parameters of the base station, the server processes the processed 3D map to obtain a further processed 3D map. The processed 3D map contains multiple 3D grids, first labels of multiple 3D grids, and third labels of multiple 3D grids. The third labels are used to indicate the signal strength of multiple spaces.

[0094] After obtaining the processed 3D map, the server can also acquire the spatial location of base stations and their engineering parameters in the environment where the drone is located through data acquisition devices deployed in that environment. Using the spatial location of these base stations and their engineering parameters, the server can perform a series of processing steps on the processed 3D map to obtain a reprocessed 3D map. The reprocessed 3D map may contain multiple 3D grids, a first label for each grid, and a third label for each grid. The first label for each grid indicates whether the multiple spaces divided by the environment are flight-friendly, and the third label for each grid indicates the signal strength of these multiple spaces, i.e., the communication capabilities that these multiple spaces can provide.

[0095] Specifically, the server can obtain the reprocessed 3D map in the following ways:

[0096] After obtaining the space where these base stations are located and their engineering parameters, the server can use the space where these base stations are located, their engineering parameters, and the processed 3D map to perform simulation, thereby obtaining the signal strength of multiple 3D grids contained in the processed 3D map. This signal strength is used to indicate the signal strength provided by the base stations to these multiple spaces in the environment (i.e., the signal strength of these multiple spaces), which is the communication performance that the UAV can have in these multiple spaces.

[0097] It should be noted that for any one of these spaces, the stronger the signal strength in that space, the stronger the communication performance of the drone in that space; conversely, the weaker the signal strength in that space, the weaker the communication performance of the drone in that space.

[0098] After obtaining the signal strength of these multiple 3D grids, the server can use the signal strength of these multiple 3D grids as the third label of the multiple 3D grids in the processed 3D map, and map it to these multiple 3D grids in the processed 3D map, thereby obtaining the 3D map after further processing. Therefore, the processed 3D map can contain these multiple 3D grids, the first label of these multiple 3D grids, and the third label of these multiple 3D grids.

[0099] For example, as shown in Figure 7 (Figure 7 is another schematic diagram of the three-dimensional map provided in the embodiment of this application, and Figure 7 is drawn based on Figure 3), after obtaining the processed three-dimensional map, since there are a certain number of base stations in the environment where the UAV is located, these base stations can provide a certain signal coverage range to realize communication between the UAV and the server. In order to ensure the communication quality between the UAV and the server, the server can obtain the space where the base station is located in the environment and the operating parameters of the base station, and use the space where the base station is located, the operating parameters of the base station and the processed three-dimensional map to perform simulation calculations, thereby obtaining the signal strength of multiple three-dimensional grids in the processed three-dimensional map, which is used to indicate the signal strength of multiple spaces in the environment, that is, the communication performance that the UAV can have in these multiple spaces.

[0100] The server can then use the signal strength of these multiple 3D grids as labels 3 for the multiple 3D grids in the processed 3D map, and map them onto the multiple 3D grids in the processed 3D map to obtain a reprocessed 3D map. In this way, the reprocessed 3D map contains these multiple 3D grids, their labels 1, and their labels 3. That is, each of the multiple 3D grids carries its own labels 1 and 3. The labels 1 of these multiple 3D grids indicate whether the drone can fly in these multiple spaces, and the labels 3 of these multiple 3D grids indicate the communication capabilities that the drone can possess in these multiple spaces.

[0101] 605. Based on the reprocessed 3D map, the server obtains the target path from the first space to the second space and instructs the drone to fly according to the target path, wherein the target path does not pass through the third space.

[0102] After obtaining the reprocessed 3D map, the server can use certain algorithms (e.g., A* algorithm, PSO algorithm, GA algorithm, etc.) to process the reprocessed 3D map, the corresponding 3D grid of the first space in the reprocessed 3D map, and the corresponding 3D grid of the second space in the reprocessed 3D map, thereby obtaining the target path from the first space to the second space. Then, the server can instruct the drone to start from the first space and fly along the target path to reach the second space. It should be noted that although the target path starts from the first space and ends in the second space, the spaces it passes through do not include the third space; that is, all the spaces it passes through are avionics, and most of these spaces have relatively strong signal strength.

[0103] Continuing with the example above, after obtaining the reprocessed 3D map, the server can use an algorithm to process the reprocessed 3D map, the corresponding 3D grid 1 for space 1 in the reprocessed 3D map, and the corresponding 3D grid 2 for space 2 in the reprocessed 3D map. This will yield a target path from space 1 to space 2. The target path does not pass through any non-flyable spaces; it only traverses flyable spaces, and most of these spaces have relatively strong signal strength. Therefore, the server can send the target path to the drone, enabling it to fly from space 1 to space 2 along the target path.

[0104] The above is a detailed description of the third embodiment of the server-based drone control method provided in this application. The fourth embodiment of the server-based drone control method provided in this application will be described below. Figure 8 is another flowchart illustrating the server-based drone control method provided in this application. As shown in Figure 8, this method can be implemented through the cloud service system shown in Figure 1. The server in the cloud service system can be used to manage tenants' drones. The method includes:

[0105] 801. The server receives a control request for the drone, wherein the control request is used to indicate the first space where the drone is located and the second space that the drone needs to reach.

[0106] 802. Based on the control request, the server obtains a 3D map generated based on the environment where the drone is located. The 3D map contains multiple 3D grids, which are used to indicate multiple spaces contained in the environment. The multiple spaces include a first space and a second space.

[0107] 803. The server processes the 3D map based on non-flying third spaces in multiple spaces to obtain a processed 3D map. The processed 3D map contains multiple 3D grids and first labels for the multiple 3D grids. The first labels are used to indicate whether multiple spaces are flyable.

[0108] For a description of steps 801 to 803, please refer to the relevant descriptions of steps 201 to 203 in the embodiment shown in Figure 2, which will not be repeated here.

[0109] 804. The server processes the processed 3D map based on the wind direction, wind speed, location of the base station, and engineering parameters of the base station, resulting in a further processed 3D map. The processed 3D map contains multiple 3D grids, a first label for each grid, a second label for each grid, and a third label for each grid. The second label indicates whether the multiple spaces are suitable for flight with the wind, and the third label indicates the signal strength of the multiple spaces.

[0110] For a description of step 804, please refer to the relevant descriptions of step 404 in the embodiment shown in Figure 4 and step 604 in the embodiment shown in Figure 6, which will not be repeated here.

[0111] 805. Based on the reprocessed 3D map, the server obtains the target path from the first space to the second space and instructs the drone to fly according to the target path, wherein the target path does not pass through the third space.

[0112] For a description of step 805, please refer to the relevant descriptions of step 405 in the embodiment shown in Figure 4 and step 605 in the embodiment shown in Figure 6, which will not be repeated here.

[0113] As shown in Figure 9 (Figure 9 is another schematic diagram of the three-dimensional map provided in this embodiment of the application, and Figure 9 is drawn based on Figure 3), the server can obtain the wind direction and wind speed of the environment, and use the wind speed and wind direction of the environment and the processed three-dimensional map to perform simulation calculations, thereby obtaining the wind speed and wind direction of multiple three-dimensional grids in the processed three-dimensional map. The server can calculate the wind speed and wind direction of multiple three-dimensional grids, thereby obtaining the flight vectors of these multiple three-dimensional grids.

[0114] The server can also obtain the space where the base station is located in the environment and the base station's operating parameters, and use the space where the base station is located, the base station's operating parameters, and the processed 3D map to perform simulation calculations, thereby obtaining the signal strength of multiple 3D grids in the processed 3D map.

[0115] The server can then use the flight vectors of these multiple 3D grids as labels 2 for the multiple 3D grids in the processed 3D map, and the signal strengths of these multiple 3D grids as labels 3 for the multiple 3D grids in the processed 3D map, mapping them to the multiple 3D grids in the processed 3D map to obtain a reprocessed 3D map. In this way, the reprocessed 3D map contains these multiple 3D grids, their respective labels 1, 2, and 3; that is, each of the multiple 3D grids carries its own label 1, label 2, and label 3.

[0116] After obtaining the reprocessed 3D map, the server can use an algorithm to process the reprocessed 3D map, the corresponding 3D grid 1 for space 1 in the reprocessed 3D map, and the corresponding 3D grid 2 for space 2 in the reprocessed 3D map. This will yield a target path from space 1 to space 2. The target path does not pass through any non-flyable areas; all the spaces it passes through are flyable, mostly with tailwinds and strong signal areas. Therefore, the server can send the target path to the drone, enabling it to fly from space 1 to space 2 along the target path.

[0117] In this embodiment, when a tenant needs to command their drone to fly, the tenant can send a control request for the drone to the control interface provided by the server. Since this control request indicates the first space where the tenant's drone is located and the second space the drone needs to reach, the server can obtain a 3D map generated based on the drone's environment. This 3D map contains multiple 3D grids, which indicate multiple spaces divided by the environment. Then, the server can process the 3D map based on the non-flyable third space within these multiple spaces to obtain a processed 3D map. The processed 3D map contains these multiple 3D grids and their first labels, which indicate whether these spaces are flyable. The server can then use the processed 3D map to obtain the target path from the first space to the second space and instruct the drone to fly along the target path. In the aforementioned process, since the processed 3D map obtained by the server contains multiple 3D grids carrying corresponding first labels, the first label of any one of these 3D grids can indicate whether the space represented by that grid is flyable. Therefore, when the server constructs the target path of the UAV based on the processed 3D map, the target path can point from the first space where the UAV is located to the second space that the UAV needs to reach, without passing through the non-flyable third space. It not only considers the UAV's starting point (i.e., the first space) and ending point (i.e., the second space), but also considers places where collisions may occur along the way (i.e., the third space). The factors considered are relatively comprehensive, which can improve the practicality and safety of the target path to a certain extent, and thus enable the UAV to fly more efficiently and safely to a certain extent.

[0118] Furthermore, in this embodiment, the target path constructed by the server for the drone not only avoids areas where collisions may occur in the diagram, but also allows it to pass through a portion of the space for tailwind flight. In this way, while ensuring the safe flight of the drone, the power consumption required by the drone during flight can also be reduced, thereby saving energy for the drone.

[0119] Furthermore, in this embodiment, the target path constructed by the server for the drone not only avoids areas where collisions may occur in the diagram, but also passes through a portion of space with strong signal strength. In this way, while ensuring the safe flight of the drone, the communication quality between the drone and the server can also be guaranteed, thus ensuring accurate control of the drone.

[0120] Furthermore, in this embodiment, the target path constructed by the server for the drone comprehensively considers the influence of various factors such as obstacles, tailwind, and signal strength, thereby accurately planning the optimal flight path for the drone. This enables the drone to adapt to various operational scenarios (e.g., low-altitude operations, high-altitude operations, etc.) and successfully complete the tenant's business.

[0121] The above is a detailed description of the server-based drone control method provided in the embodiments of this application. The server provided in the embodiments of this application will be described below. Figure 10 is a schematic diagram of the server provided in the embodiments of this application. As shown in Figure 10, the server is used to manage the tenant's drones, and the server includes:

[0122] The receiving module 1001 is used to receive a control request for the drone, wherein the control request is used to indicate the first space where the drone is located and the second space that the drone needs to reach; for example, the receiving module 1001 is used to implement step 201 of the embodiment shown in FIG2.

[0123] The acquisition module 1002 is used to acquire a 3D map generated based on the environment where the UAV is located, based on a control request. The 3D map contains multiple 3D grids, which are used to indicate multiple spaces contained in the environment. The multiple spaces include a first space and a second space. For example, the acquisition module 1002 is used to implement step 202 of the embodiment shown in FIG2.

[0124] The first processing module 1003 is used to process a three-dimensional map based on a third space that is not flyable in multiple spaces to obtain a processed three-dimensional map. The processed three-dimensional map includes multiple three-dimensional grids and first labels for the multiple three-dimensional grids. The first labels are used to indicate whether multiple spaces are flyable. For example, the first processing module 1003 is used to implement step 203 of the embodiment shown in FIG2.

[0125] The notification module 1004 is used to obtain a target path from a first space to a second space based on the processed 3D map, and to notify the drone to fly along the target path, wherein the target path does not pass through a third space. For example, the notification module 1004 is used to implement step 204 of the embodiment shown in FIG2.

[0126] In one possible implementation, the third space includes the space containing obstacles in the environment, the space containing no-fly zones in the environment, the space adjacent to the space containing obstacles, and the space adjacent to the space containing no-fly zones.

[0127] In one possible implementation, the server further includes: a second processing module, used to process the processed 3D map based on the wind direction and wind speed of the environment to obtain a reprocessed 3D map, wherein the reprocessed 3D map contains multiple 3D grids, first labels of the multiple 3D grids and second labels of the multiple 3D grids, the second labels being used to indicate whether multiple spaces are suitable for flight with the wind; and a notification module, used to obtain a target path from the first space to the second space based on the reprocessed 3D map.

[0128] In one possible implementation, the second processing module is used to: simulate based on the wind direction and wind speed of the environment and the processed 3D map to obtain the wind direction and wind speed of multiple 3D grids; and process the processed 3D map based on the wind direction and wind speed of the multiple 3D grids to obtain a further processed 3D map.

[0129] In one possible implementation, the server further includes: a third processing module, used to process the processed 3D map based on the space where the base station is located in the environment and the engineering parameters of the base station, to obtain a reprocessed 3D map, wherein the reprocessed 3D map contains multiple 3D grids, first labels of the multiple 3D grids and third labels of the multiple 3D grids, the third labels being used to indicate the signal strength of the multiple spaces; and a notification module, used to obtain the target path from the first space to the second space based on the reprocessed 3D map.

[0130] In one possible implementation, the third processing module is used to: perform simulation based on the space where the base station is located, engineering parameters, and the processed 3D map to obtain the signal strength of multiple 3D grids; and process the processed 3D map based on the signal strength of the multiple 3D grids to obtain a further processed 3D map.

[0131] It should be noted that the information interaction and implementation process between the modules / units of the above-mentioned device are based on the same concept as the method embodiment of this application, and the resulting technical effects are the same as those of the method embodiment of this application. For details, please refer to the description in the method embodiment shown above in the embodiment of this application, and it will not be repeated here.

[0132] Please refer to Figure 11, which is a schematic diagram of a computing device provided in an embodiment of this application. As shown in Figure 11, the computing device 1100 (which can be used to present the aforementioned server) includes: a processor 1101, a memory 1102, a communication interface 1103, and a bus 1104. The processor 1101, the memory 1102, and the communication interface 1103 are coupled through the bus (not shown in the figure). The memory 1102 stores instructions. When the execution instructions in the memory 1102 are executed, the computing device 1100 executes the method executed by the server in the above method embodiment.

[0133] The computing device 1100 may be one or more integrated circuits configured to implement the methods described above, such as: one or more application-specific integrated circuits (ASICs), or one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs), or a combination of at least two of these forms of integrated circuits. Furthermore, when the units in the device can be implemented in the form of a processing element scheduler, the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processor capable of calling programs. Alternatively, these units may be integrated together and implemented as a system-on-a-chip (SOC).

[0134] The processor 1101 can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.

[0135] The memory 1102 can be volatile memory or non-volatile memory, or may include both. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0136] The memory 1102 stores executable program code, and the processor 1101 executes the executable program code to implement the functions of the aforementioned receiving module, acquisition module, first processing module, and notification module, thereby realizing the aforementioned server-based UAV control method. That is, the memory 1102 stores instructions for executing the aforementioned server-based UAV control method.

[0137] The communication interface 1103 uses transceiver modules such as, but not limited to, network interface cards and transceivers to enable communication between the computing device 1100 and other devices or communication networks.

[0138] In addition to the data bus, the 1104 bus can also include a power bus, a control bus, and a status signal bus. The bus can be a Peripheral Component Interconnect Express (PCIe) bus, an Extended Industry Standard Architecture (EISA) bus, a Unified Bus (Ubus or UB), a Compute Express Link (CXL) bus, a Cache Coherent Interconnect for Accelerators (CCIX) bus, etc. The bus can be divided into address bus, data bus, and control bus.

[0139] Please refer to Figure 12, which is a schematic diagram of a computing device cluster provided in an embodiment of this application. As shown in Figure 12, the computing device cluster 1200 includes at least one computing device 1100.

[0140] As shown in Figure 12, the computing device cluster 1200 includes at least one computing device 1100. The memory 1102 of one or more computing devices 1100 in the computing device cluster 1200 may store the same instructions for executing the above-described server-based UAV control method.

[0141] In some possible implementations, the memory 1102 of one or more computing devices 1100 in the computing device cluster 1200 may also store partial instructions for executing the aforementioned server-based drone control method. In other words, a combination of one or more computing devices 1100 can jointly execute the aforementioned server-based drone control method.

[0142] It should be noted that the memory 1102 in different computing devices 1100 within the computing device cluster 1200 can store different instructions, which are used to execute certain functions of the aforementioned server. That is, the instructions stored in the memory 1102 of different computing devices 1100 can implement the functions of one or more modules, such as the receiving module, the acquisition module, the first processing module, and the notification module.

[0143] In some possible implementations, one or more computing devices 1100 in the computing device cluster 1200 can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc.

[0144] Please refer to Figure 13, which is a schematic diagram of computer devices in a computer cluster 1300 provided in this embodiment of the application being connected via a network. As shown in Figure 13, two computing devices 1100A and 1100B are connected via a network. Specifically, they are connected to the network through the communication interfaces in each computing device.

[0145] In one possible implementation, the memory in computing device 1100A stores instructions for performing the functions of modules such as the receiving module. Meanwhile, the memory in computing device 1100B stores instructions for performing the functions of modules such as the acquisition module, the first processing module, and the notification module.

[0146] It should be understood that the functions of computing device 1100A shown in Figure 13 can also be performed by multiple computing devices. Similarly, the functions of computing device 1100B can also be performed by multiple computing devices.

[0147] This application also relates to a computer storage medium storing a program for signal processing, which, when run on a computer, causes the computer to perform the steps executed by the server in the embodiments shown in FIG2, FIG4, FIG6 or FIG8.

[0148] This application also relates to a computer program product that stores instructions that, when executed by a computer, cause the computer to perform the steps executed by the server in the embodiments shown in Figures 2, 4, 6, or 8.

[0149] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0150] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.

[0151] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0152] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0153] If the integrated unit is implemented as 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 this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

Claims

1. A server-based unmanned aerial vehicle (UAV) control method, characterized in that, The server is used to manage the tenant's drones, and the method includes: The server receives a control request for the drone, wherein the control request is used to indicate the first space where the drone is located and the second space that the drone needs to reach; Based on the control request, the server obtains a 3D map generated based on the environment where the drone is located. The 3D map contains multiple 3D grids, which are used to indicate multiple spaces contained in the environment. The multiple spaces include the first space and the second space. The server processes the 3D map based on a non-flyable third space among the multiple spaces to obtain a processed 3D map. The processed 3D map includes the multiple 3D grids and a first label for the multiple 3D grids. The first label is used to indicate whether the multiple spaces are flyable. Based on the processed 3D map, the server obtains a target path from the first space to the second space and notifies the drone to fly along the target path, wherein the target path does not pass through the third space.

2. The method according to claim 1, characterized in that, The third space includes the space where the obstacle is located in the environment, the space where the no-fly zone is located in the environment, the space adjacent to the space where the obstacle is located, and the space adjacent to the space where the no-fly zone is located.

3. The method according to claim 1 or 2, characterized in that, The method further includes: The server processes the processed 3D map based on the wind direction and wind speed of the environment to obtain a reprocessed 3D map. The reprocessed 3D map includes the plurality of 3D grids, a first label for the plurality of 3D grids, and a second label for the plurality of 3D grids. The second label is used to indicate whether the plurality of spaces are suitable for flight with the wind. Based on the processed 3D map, the server obtains the target path from the first space to the second space, including: Based on the reprocessed 3D map, the server obtains the target path from the first space to the second space.

4. The method according to claim 3, characterized in that, The server processes the pre-processed 3D map based on the wind direction and wind speed of the environment to obtain a further processed 3D map, including: The server performs simulation based on the wind direction and wind speed of the environment and the processed 3D map to obtain the wind direction and wind speed of the multiple 3D grids. The server processes the processed 3D map based on the wind direction and wind speed of the multiple 3D grids to obtain a further processed 3D map.

5. The method according to claim 1 or 2, characterized in that, The method further includes: The server processes the processed 3D map based on the space where the base station is located in the environment and the engineering parameters of the base station to obtain a further processed 3D map. The processed 3D map includes the plurality of 3D grids, a first label of the plurality of 3D grids and a third label of the plurality of 3D grids. The third label is used to indicate the signal strength of the plurality of spaces. Based on the processed 3D map, the server obtains the target path from the first space to the second space, including: Based on the reprocessed 3D map, the server obtains the target path from the first space to the second space.

6. The method according to claim 5, characterized in that, The server processes the pre-processed 3D map based on the spatial location of the base station in the environment and the engineering parameters of the base station, resulting in a further processed 3D map, including: The server performs simulation based on the space where the base station is located, the engineering parameters, and the processed 3D map to obtain the signal strength of the multiple 3D grids; The server processes the processed 3D map based on the signal strength of the multiple 3D grids to obtain a further processed 3D map.

7. A server-side component, characterized in that, The server is used to manage the tenant's drones, and the server includes: A receiving module is configured to receive a control request for the drone, wherein the control request is configured to indicate the first space where the drone is located and the second space that the drone needs to reach; The acquisition module is used to acquire a three-dimensional map generated based on the environment where the UAV is located, based on the control request. The three-dimensional map includes multiple three-dimensional grids, which are used to indicate multiple spaces included in the environment, including the first space and the second space. The first processing module is used to process the three-dimensional map based on the non-flyable third space among the plurality of spaces to obtain a processed three-dimensional map, wherein the processed three-dimensional map includes the plurality of three-dimensional grids and a first label of the plurality of three-dimensional grids, and the first label is used to indicate whether the plurality of spaces are flyable; The notification module is used to obtain a target path from the first space to the second space based on the processed 3D map, and to notify the UAV to fly according to the target path, wherein the target path does not pass through the third space.

8. The server according to claim 7, characterized in that, The third space includes the space where the obstacle is located in the environment, the space where the no-fly zone is located in the environment, the space adjacent to the space where the obstacle is located, and the space adjacent to the space where the no-fly zone is located.

9. The server according to claim 7 or 8, characterized in that, The server also includes: The second processing module is used to process the processed 3D map based on the wind direction and wind speed of the environment to obtain a reprocessed 3D map, wherein the reprocessed 3D map includes the plurality of 3D grids, a first label of the plurality of 3D grids and a second label of the plurality of 3D grids, the second label being used to indicate whether the plurality of spaces are suitable for flight with the wind; The notification module is used to obtain a target path from the first space to the second space based on the reprocessed 3D map.

10. The server of claim 9, wherein, The second processing module is used for: Simulations are performed based on the wind direction and wind speed of the environment and the processed 3D map to obtain the wind direction and wind speed of the multiple 3D grids. Based on the wind direction and wind speed of the multiple three-dimensional grids, the processed three-dimensional map is further processed to obtain a reprocessed three-dimensional map.

11. The server according to claim 7 or 8, characterized in that, The server also includes: The third processing module is used to process the processed 3D map based on the space where the base station is located in the environment and the engineering parameters of the base station to obtain a further processed 3D map. The processed 3D map includes the plurality of 3D grids, a first label of the plurality of 3D grids and a third label of the plurality of 3D grids. The third label is used to indicate the signal strength of the plurality of spaces. The notification module is used to obtain a target path from the first space to the second space based on the reprocessed 3D map.

12. The server according to claim 11, characterized in that, The third processing module is used for: Simulations are performed based on the space where the base station is located, the engineering parameters, and the processed 3D map to obtain the signal strength of the multiple 3D grids. Based on the signal strength of the multiple 3D grids, the processed 3D map is further processed to obtain a reprocessed 3D map.

13. A computing device cluster, characterized in that, The computing device cluster includes at least one computing device, each computing device including a processor and memory: The memory is used to store instructions; The processor is configured to, according to the instructions, cause the computing device cluster to perform the method of any one of claims 1 to 6.

14. A computer storage medium, characterized in that, The computer storage medium stores one or more instructions that, when executed by one or more computers, cause the one or more computers to perform the method of any one of claims 1 to 6.

15. A computer program product, characterized in that, The computer program product stores instructions that, when executed by a computer, cause the computer to perform the method described in any one of claims 1 to 6.