1 Intoduction

Nowadays, the Internet of Things (IoT) is not a vision anymore; several intelligently designed architectures, technologies, standards, and protocols by both researchers and technicians in various fields of computer science, electrical engineering, and other related disciplines have made it a reality. Today, controlling the home HVAC system through a smartphone is not considered a magic trick anymore; this is just a drop in the ocean of all possible IoT applications. IoT has found its way in different, sometimes irrelevant, home, business, industrial, medical, and military applications. The main challenge that IoT researchers are now facing is not making it work; but in fact, is how to make it work efficiently. One way to improve the efficacy of IoT systems in accomplishing their intended tasks is through deploying Unmanned Aerial Vehicles (UAVs) which can assist an IoT system in several ways.

UAVs have received a lot of attention in recent years by both the academia and industry. The purpose of this paper is to provide a review on several recent attempts in utilizing this well-developed technology in the IoT context. To the best of the authors’ knowledge there is no available review paper in the literature, which focuses on classifying the different services that a UAV can provide to an IoT system. The following three subsections will provide useful introductory information about the concepts of IoT, UAVs, and UAV-assisted IoT.

1.1 The Internet of Things

The IoT concept was initially defined by Kevin Ashton (1999) as a system comprised of interconnected, cooperating objects which are uniquely identifiable through Radio-Frequency Identification (RFID) technology. Later on, several other technologies such as Wireless Sensor Networks (WSNs), Near-Field Communication (NFC), smart sensing, low-energy communication, cloud computing, etc. have been added to the original concept towards the notions of ambient intelligence and autonomous control [1].

The ultimate aim of any proposed architecture for the IoT system is to provide things with intelligence. In this way, each object will be able to communicate with and make sense of the surrounding social, environmental, and human context [2]. Ubiquitous computing and context-awareness are the key enablers of the ambient intelligence [3]. Ambient intelligence will revolutionize the human’s life on earth. Consider a future in which every object is capable of speaking with its owner; for example, a lost watch could send its location to its possessor [2]. Although a world full of smart objects will make the life easier for humankind, there are still a lot of technical challenges that must be overcome [3].

In an IoT system, there are many physical things characterized by limited resources in terms of computation capacity, memory, and energy resources. Therefore, solutions that are prepared to tackle the issues in such systems, should consider these limitations [4]. Thermostats and HVAC control systems are examples of physical things used in smart homes. IoT also plays an important role in other domains such as transportation, healthcare, industrial automation, and natural or human-made disasters where decision-making is very difficult [5]. However, there could be other non-physical objects present in an IoT system; in other words, we should consider objects in a broader manner. For example, human behavioral data or other information could also be considered as objects. IoT, like the traditional Internet, is comprised of many different networks, which are interconnected and sharing resources through a core network [6].

The IoT system functionalities can be divided into five layers depicted in Fig. 1 [7]. This proposed five-layer protocol stack consists of (in order from bottom to top) perception layer, data link layer, network layer, transport layer, and application layer. Perception layer is responsible for gathering data from the surrounding environment through sensing. Data link layer has the mission of providing services to the network layer through several standard technologies and protocols such as Bluetooth, ZigBee, etc. Route discovery and management, and error reports delivery are performed at the network layer. Transport layer breaks the messages it receives from the application layer into segments. This layer is in charge of providing reliability, integrity, ordered reception of bytes, congestion control, and multiplexing services to the application layer. Application layer is responsible for providing all of the required tools, interfaces, and functions to the developers of different IoT applications. This layer also receives all of the processed data from the network layer.

Fig. 1
figure 1

The IoT system five-layer protocol stack as presented in [7]

1.2 Unmanned Aerial Vehicles

UAVs aka UASs (Unmanned Aircraft Systems) are power-operated reusable airplanes, which fly without human pilots on board. Therefore, unmanned missiles or bombs that are designed for one-time use are not considered to be UAVs. The Q-2 was the first UAV in history, made by Ryan Aeronautical in the 1950s, that was designed for military purposes. US military uses UAVs for dangerous operations in hazardous environments with the intention of avoiding putting human pilots’ lives in danger. Many early UAVs designed for military sectors were costly in terms of construction and maintenance. With the emergence of high power density batteries, miniaturized equipment, and wireless technologies, UAVs found their way in more civilian applications [8]. High mobility and low cost make UAVs attractive and useful technology for several applications such as weather monitoring, forest fire detection, traffic control, cargo transport, emergency search and rescue, communication relaying, etc. [9].

In general, there are two types of UAVs: rotary-wing UAVs and fixed-wing UAVs (as shown in Fig. 2). Although fixed-wing UAVs are capable of carrying heavy payload at high speeds, they are not suitable for stationary inspections. On the other hand, rotary-wing UAVs have limitations in terms of the payload they can carry and the speed they can move at; but because of their design, they can stay at a position for close examination of their surroundings. The choice heavily depends on the kind of application they are used for [9]. Fixed-wing vehicles can fly for longer distances and they are able of sensing images from higher altitudes; for this reason, they are more suitable for large area coverage. Rotary-wing vehicles have higher maneuverability and lower launching time; however, note that rotary motion in these kind of vehicles will cause vibration [10].

Fig. 2
figure 2

Fixed-wing versus rotary-wing UAVs

UAVs in applications such as mapping, surveillance, and search and rescue must follow predefined straight or circular paths in either 2D planes or 3D spaces. Several path-following algorithms have been proposed in the literature to ensure that UAVs will follow their prescribed routes to accomplish their intended missions [11]. Some missions are far beyond a single UAV’s ability due to its limited payload, flight time, size, etc.; consider use cases such as catering communication for disaster-affected areas or monitoring wildlife ecosystems through aerial sensor networks. In these applications, teams of UAVs coordinated through wireless communication networking would be more beneficial. The number of UAVs required may vary greatly from application to application [12]. As UAVs fly autonomously, there is a risk of collision with static or moving obstacles. Several collision avoidance systems have been proposed in literature to tackle this challenging issue [13].

UAVs have some advantages in providing wireless connectivity over other alternatives such as high-altitude platforms (e.g. balloons), satellite systems, and terrestrial communications [9]. First, UAVs deployment is easier and more cost-effective which makes it suitable for on-demand and unexpected applications. Second, UAVs, with their high maneuverability, can establish high-quality, short-range, Line of Sight (LoS) links with all ground nodes in the coverage area. Finally, UAVs are capable of adjusting their mobility and communication parameters simultaneously in order to improve their communication quality.

1.2.1 UAVs’ Taxonomy

UAVs can be classified from different perspectives based on different parameters [14]. From the communication functionality point of view, UAVs are either providers or users of a communication platform. Providers act as base stations, whereas users are wireless nodes associated with some base stations. These communicating UAVs are either high altitude platforms or low altitude platforms. From the altitude and communication range point of view, UAVs are classified into three categories namely small, medium, and large. Small UAVs fly at altitudes less than 300 m with a communication range less than 3 km. On the other hand, large UAVs fly at altitudes as high as 5500 m while providing Beyond Line of Sight (BLoS) communication. The communication range of a medium UAV is between 150 and 250 m. Furthermore, UAVs can be classified based the activities they are engaged in. Some UAVs may be leveraged by either governmental or non-governmental bodies while others could be just utilized by individuals as recreational facilities.

In [15], UAVs are classified based on several parameters such as size, endurance, and capabilities into the following sub-categories:

  1. 1.

    MAV (Micro Air Vehicles) or NAV (Nano Air vehicles): These small-sized UAVs can be easily carried around by their users. However, their limited battery capacity will induce short flight times of about 5 – 30 min. Moreover, they can fly at low altitudes no more than 330 m.

  2. 2.

    VTOL (Vertical Take-Off & Landing): These UAVs are useful in circumstances where horizontal take-off and landing is not possible. They fly mainly at low altitudes. VTOLs consume a considerable amount of energy during hovering flight mode.

  3. 3.

    LASE (Low Altitude, Short-Endurance) aka sUAS (small Unmanned Aircraft Systems): These lightweight UAVs are designed to fly through the medium of small catapult systems or simply hand without the requirement for horizontal take-off. Their flight time does not exceed 2 h and their communication range is within a few kilometers.

  4. 4.

    LASE Close: These UAVs are larger and heavier than LASE UAVs which makes them more capable. They can fly at around 1500 m altitude for multiple hours. However, unlike LASE UAVs they require a runway for horizontal take-off and landing.

  5. 5.

    LALE (Low Altitude, Long Endurance): These UAVs can fly as high as a few thousand meters for a considerable amount of time carrying payloads of several kilograms.

  6. 6.

    MALE (Medium Altitude, Long Endurance): These UAVs are much larger than the low-altitude ones. They can fly as high as around 9000 m along trajectories as long as hundreds of kilometers for many hours.

  7. 7.

    HALE (High Altitude, Long Endurance): HALE UAVs are used in applications where the flight altitude is at least 20,000 m and the UAV should fly thousands of kilometers for more than 30 h.

MAVs are leveraged in applications such as military surveillance, law enforcement, and civilian rescue operations. For small regional scale applications such as traffic surveillance, small UAVs are deployed. HALE UAVs are utilized to monitor the ground surface and the atmosphere condition because of the high altitudes they can fly at. They can also act as aerial communication platforms [10].

1.2.2 UAVs’ Energy Resources

A comprehensive study on different possible UAVs’ electrical energy sources has been performed in [16]. Batteries are mainly used to power small UAVs. However, as UAVs have limited payload weight capacity, heavy large batteries cannot be utilized to power these aircrafts for a long period. For example, LiPo batteries can power UAVs for at most 90 min.

Fuel cells are better alternatives to batteries [16]. Hydrogen-powered UAVs can fly for several hours (estimated around 10 h). Furthermore, refueling is performed very faster than recharging batteries.

A hybrid of different energy sources can also be deployed in order to power UAVs more efficiently [16]. Fuel cells, due to their design, have longer response time than batteries. Batteries can accompany fuel cells to provide energy during peak demand periods as they have shorter response time, more power density, and higher efficiency. Moreover, fuel cells may be used in order to charge batteries. UAVs could also be equipped with photovoltaic solar panels mounted on their wings to fly indefinitely. However, they require batteries for storing energy so that they can fly during nights and generally, when sunlight is not available. Supercapacitors are more efficient and faster energy storage systems which could replace or accompany batteries in hybrid power systems. It is worth noting that in hybrid power systems usually fuel cells are considered as main sources of energy while others are deemed as auxiliaries.

There are so-called “Intelligent Flight Batteries” [17] used to power Mavic UAVs [18]. These batteries can power the UAV for up to 27 min. The flight control system can precisely calculate the remaining flight time based the accurate battery level provided by these energy sources. Moreover, intelligent flight batteries provide some useful information such as real-time battery cell status, circle number, and temperature to the pilot. The battery management system provides some mechanisms to protect the battery against overcharging and over-discharging. Furthermore, in cold weather it activates a low-temperature mode wherein the output power is adapted to the current temperature.

DJI inspire 2 drones are powered by some kind of intelligent flight batteries [19]. These drones can fly for up to 25–27 min using two batteries. These 515 g intelligent batteries are in fact 4280 mAh lithium polymer batteries. Each battery incorporates a self-heating technology that protects it against cold weather.

1.2.3 Disadvantages and Threats of Using UAVs

Several features make UAVs attractive facilities to terrorists [20]. They can easily reach targets because of their high maneuverability. A swarm of UAVs can collaborate with each other to perform deadly operations in large scales. UAVs can be launched from different locations easily and secretly. They enable their operators to perform missions accurately from long distances using advanced technologies. Furthermore, most current counter aerial attacks systems are not efficient enough to detect approaching UAVs. UAVs are very cheaper alternatives to missiles and manned aircrafts. They can also be used to put psychological pressure on human targets by scaring them.

A UAV equipped with different multimedia sensors such as cameras can be utilized to gather information regarding individuals and areas on the ground [20]. In a certain scenario, it is very difficult to identify whether a UAV is being used for espionage or just some recreational activity. They can be used by hostile forces in order to monitor sensitive sites such as nuclear plants and other restricted locations [14].

Some criminals and smugglers leverage UAVs to send or receive illegal items over country borders or even prison walls [20]. There have been some cases where UAVs have been used to smuggle drugs and contraband.

UAVs could also be deployed as electronic snoopers trying to hack and steal information from mobile devices in their communication range [20]. In this way, they pose a threat to users’ privacy by having access to their personal data.

As the number of flying UAVs increases, the possibility of aerial collisions rises as well [20]. For example, a small UAV entering into an airplane engine accidentally may cause a severe damage which may lead to catastrophe. Moreover, large UAVs are considerable barriers to flying helicopters and aircrafts that may cause dangerous incidents if their traffic are not managed systematically. It is worth noting that either the UAV or its payload may fall on people, buildings, structures, etc. on the ground [14]. Although the UAV and its payload may be lightweight, falling from high points would be really threatening.

There is a possibility of hacking or hijacking commercial UAVs as the communication links between UAVs and their control stations are usually unencrypted [20]. There have been some instances where UAVs signals have been intercepted maliciously.

1.2.4 Regulations Regarding the Usage of UAVs

The report provided in [21] has presented a comparative study on UAVs’ usage regulatory activities performed by twelve countries and the European Union. In this section, a brief overview of this report is presented. International Civil Aviation Organization (ICAO) has published a circular titled “Unmanned Aircraft Systems (UAS)” in 2011 in an effort to form a fundamental global regulatory framework [22]. Various authorities all around the globe such as the European Commission are trying to reach a common goal which is a unified set of standard regulations regarding some aspects of deploying UAVs in different countries. Furthermore, some countries have defined some temporary rules for their internal affairs.

Several countries consider weight and type of use as metrics for regulating UAVs usage. For example, in the Europe Union (EU), only UAVs heavier than 150 kg are being monitored by the European Aviation Service Agency and each member is responsible for regulating lighter UAVs’ deployment. In Canada, if a UAV is either heavier than 35 kg or is used for non-recreational activities a special flight operations certificate is required.

Although in most countries regulations are issued by national authorities, in some countries local authorities are also involved in making decisions regarding UAVs deployment. For example, in New Zealand, local authorities and the Department of Conservation decide about the operation of a certain drone in public areas of their territory. In the United Kingdom, although some local authorities are indifferent to UAVs deployment, other provide some specific rules regarding UAVs operation in their jurisdiction.

Some countries require UAVs to be officially registered with authorities. This will help in UAVs identification. In Sweden, it is mandatory that all UAVs deployed be marked with the names and phone numbers of their operators. If a UAV operates within the view of its operator, usually, a certificate number is marked on it. Otherwise, a registration number is used.

Each country has different rules regarding the information and documentation required for obtaining flight authorization. For example, in Canada, the information required are the identity of the operator, contact information of the manager during operation, type and purpose of the operation, routes and altitudes of the UAV, and other important identifying details.

In several countries, a UAV operator is obligated to exhibit some qualifications before being permitted to control the UAV. In Australia, for example, passing some training courses to obtain necessary qualifications is mandatory. An operator should have a predefined minimum number of hours of experience in operating UAVs. Furthermore, a body requesting a permission to operate UAVs must possess the required facilities and personnel.

Several countries have issued some rules to restrict the deployment of UAVs with respect to flying zones, radio frequencies utilized for communication, a requirement for availability of visual line of sight between UAVs and their operators, installation of safety devices on flying UAVs, and Insurance. To mention a few examples, in France, flying over people gatherings, sensitive locations (such as nuclear plants), some specified historical monuments, natural reserves, and national parks is prohibited. In China, a specific radio spectrum is devoted to UAVs’ communication. In Australia, unless prior authorization is granted, a visual light of sight must be maintained during the operation. In Sweden, each UAV is required to be equipped with a device enabling emergency shutdown of the UAV and an override system for UAVs with autopilot capability, among others. In Germany, Poland, China, and some other countries each UAV operator must obtain a third party liability insurance. Incidents may cause severe damages to third parties on the ground.

China authorities have leveraged some electric fences to stop UAVs from entering some prohibited areas. Each UAV is connected to a UAS cloud which monitors UAVs and raises an alarm if crossing is detected.

Some countries have issued regulations concerning privacy matters connected with UAVs deployment. A UAV’s operator in Germany should follow some data privacy and data protection rules. Otherwise, its UAV operation will not be authorized. As another example, the Swedish Administrative Supreme Court is in charge of deciding about the usage of cameras mounted on UAVs for recording purposes. Flying over private properties in Poland is considered as an infringement of personal right.

1.2.5 UAVs Development Cost

A framework for estimating the cost of developing a UAV is proposed in [23]. The total cost is made up of costs related to six different components: air vehicle; payload; ground station; software; integration, assembly, test & checkout; and training. As UAVs are operated remotely, there is no need for integrating a cockpit including all its features such as seats, control sticks, etc. Studies estimated a weight saving of around 500 lb. The avionic systems used in UAVs weigh around 20 lb. Due to this considerable saving, different kinds of sensors could be easily mounted on UAVs. Ground stations are necessary for controlling UAVs. Each UAV periodically send reports to operators and the ground pilot residing at the station. For achieving an error-free operation, a backup station and a secondary power source is required. Software programs developed for UAVs and ground stations are complex fail-safe programs that usually have built-in testing modules. These testing modules examine the correctness and effectiveness of the programs periodically. Some unique tests are designed to evaluate the performance of UAVs and ground stations independently and in combination with each other. Some sensor and modules are required to measure different parameters such as accelerometer, temperature, pressure, etc. Several examinations must be performed to characterize the possibility of failure. Unlike pilots of manned aircrafts, UAVs’ pilots do not experience training in real conditions. They train using simulators and should be careful when they are dealing with sensor measurements. Moreover, some training programs are required for the personnel working at the control station.

1.3 UAV-Assisted Services

UAVs are well-developed technologies which could help IoT systems in accomplishing their envisioned tasks in several respects. In fact, high mobility, re-programmability during run-time, easy deployment, ubiquitous monitoring, and high autonomy in flying in controlled airspaces make these devices attractive auxiliaries that could enhance the performance of IoT systems. UAVs can be equipped with sensors, cameras, and other IoT devices and be treated as on-demand mobile flying IoT nodes [14]; to put it in a different way, third-party IoT applications could send requests to UAVs flying in their surroundings to do some jobs for them in addition to their dictated primary missions. Of course, UAV owners will receive revenue for providing these value-added services.

Authors in [14] have provided a comprehensive survey on UAVs, their potential for providing services to IoT systems from the sky, their envisioned UAV-based architecture, IoT equipment which UAVs can be equipped with, different wireless technologies for drone-to-drone and drone-to-ground communication in multi-UAV scenarios, collision avoidance and obstacle detection, and computation offloading to help UAVs to overcome their limited resources.

On the contrary, the focus of this paper is on IoT systems and different services that UAVs can provide for them based on the recent published literature in this area. As authors in [14] have claimed, UAVs could be considered as integral parts of IoT systems. In Fig. 3, an example model of a UAV-assisted IoT system is displayed. In this model, the UAV follows a circular trajectory and UAV-mounted antennas are deployed to collect and transmit data from/to sensing devices on the ground. Moreover, the UAV leverages Simultaneous Wireless Information and Power Transfer (SWIPT) technique in order to simultaneously transmit data and power to sensor nodes. Sensing devices split the received signal into two streams of received data and received power; in this way, they can charge their battery while receiving data from the UAV. Different UAVs equipped with different peripherals are able to provide different services to IoT devices. In this paper, UAV-assisted services are classified into four broad domains as displayed in Fig. 4. For data-related services, UAVs act as mobile agents collecting, disseminating, or searching for data throughout the network. Battery-charging services are provided by deploying UAV-mounted energy transmitters to charge IoT devices wirelessly. UAV-mounted base stations are used to relay information and extend the network’s coverage in order to provide communication services. Finally, for Mobile Edge Computing services, UAV-mounted cloudlets are leveraged to provide computing services to resource-limited smart devices.

Fig. 3
figure 3

An example model of a UAV-assisted IoT system

Fig. 4
figure 4

UAV-assisted services classification

Based on this classification, this paper is organized as follows. Section 2 presents UAV-assisted data-related services. Section 3 presents UAV-assisted battery-charging. Section 4 presents UAV-assisted communications. Section 5 presents UAV-assisted Mobile Edge Computing (MEC). Section 6 presents possible future directions to help researchers in understanding the current challenges in the field. Concluding remarks are provided in Sect. 7.

2 UAV-Assisted Data-Related Services

Data and its processed form i.e. information are important parts of an IoT system. All applications require data transmission and analysis in one way or another. UAVs can assist an IoT system in collection, dissemination, and searching for required data. In the following subsections, recent literature on UAV-assisted data-related services is summarized (Fig. 5).

Fig. 5
figure 5

Data-related services classification

2.1 UAV-Assisted Data Collection

Yi et al. [24] have taken into account UAVs’ fully controllable mobility and low operational cost and proposed a scheme based on Deep Reinforcement Learning (DRL) to collect information from distributed sensors in an IoT system. A UAV can fly at close distances to sensor nodes and establish LoS links with them; this will yield more energy efficient communication with high throughput. An Age of Information (AoI) parameter has been defined as the difference between the reception time of the last received packet at the destination and its origination time. Based on their proposed model a UAV flies towards sensor nodes to collect data and returns to its original location within a predefined duration. With the goal of AoI optimization in mind, they have formulated the problem of finding the best UAV flight trajectory and sensors transmission scheduling as a finite-horizon Markov decision process. A DRL-based algorithm has been proposed to solve the problem.

Yoo et al. [25] have considered the problem of data collection from large number of sensors in IoT sensor networks. Sensor nodes are distributed over very large and remote areas which are usually inaccessible to human operators, and UAVs are possible solutions for collecting sensed data from them. They have used a location dependent Multi-Layer Information (MLI) map in their study and designed some utility functions based on sensor nodes density, energy consumption, UAV’s flight time, and risk. Genetic algorithm has been used to optimize the overall weighted sum of the utility functions in order to find the best possible flying path for the UAV. The optimization has been done under the total end-to-end flight time, UAV energy consumption, and prohibited areas constraints.

Timely delivery of data is of paramount importance in several IoT applications. Energy limited nature of IoT devices leads to frequent data losses which in turn elongates the measured AoI of the received information. Abd-Elmagid and Dhillon [26] have formulated a problem to minimize the average peak AoI through an IoT system. They have considered AoI as a parameter to guarantee data freshness at the destination node. A UAV can act as a mobile relay in scenarios where a direct communication between a source–destination pair is not possible. In their formulated problem, the UAV’s flight trajectory as well as energy resource allocation and service time duration for transmitting data at both the source node and the UAV are considered to be optimized simultaneously. An efficient iterative algorithm has been proposed to solve the problem; the convergence of this algorithm is demonstrated analytically. As an important sub-problem, they consider a case in which the UAV’s trajectory cannot be altered. In some applications, changing the UAV’s path is not possible due to some energy or mission-related constraints.

During Public Safety (PS) threatening events, there is an urgent need for communication between disaster-struck people and the first responders; Public Safety Networks (PSNs) are there to provide this communication. Two types of communication namely D2D and infrastructure-based are prevalent in PSN networks. There is a possibility of integrating a PSN and an IoT system toward a relatively new communication paradigm called PS-IoT; all the User Equipment (UE) devices, first responders’ communication terminals, and IoT devices within the disaster-struck area are parts of this new paradigm. Sikeridis et al. [27] have done a research on utilizing a UAV to assist the PS-IoT system in collecting information from the source nodes. In their proposed system, each node dynamically choose its role (either coalition head or coalition member) based on a distributed game-theoretic role selection mechanism. A reinforcement learning-based approach is used to form coalitions throughout the network. The UAVs positioning considering its speed limits as well as the PS-IoT devices’ uplink transmission powers are jointly optimized through a distributed resource management mechanism.

In another research, Liu et al. [28] have designed a system in which a UAV is used to collect information across the network. In this work, the problem of allocating energy resources at both the UAV and wireless IoT devices is formulated as a dynamic game. The authors use dynamic programming to achieve the Nash equilibriums of the formulated game.

In UAV-assisted sensor networks, UAV’s mobility makes it difficult for sensor nodes to establish connection with the UAV whenever they want. Ramli et al. [29] propose a hybrid mac protocol for data collection in a UAV-assisted WSN. In their proposed protocol, named HP-MAC, the time frame is divided into two phases: the registration phase, and the data-gathering phase. During the registration phase CSMA/CA protocol is used to allow sensor nodes send/receive registration request/reply messages to/from the UAV; a prioritization scheme is used to assign more priority to nodes at the edge of the UAV’s coverage area. Each node is assigned some time slots during the data-gathering phase to send its data. Simulation results demonstrate the superiority of HP-MAC protocol over some benchmark schemes in terms of packet delivery ratio, throughput, fairness, and transmission delay.

Dong et al. [30] proposed a scheme for data collection in WSNs based on UAV and Mobile Agent (MA) technologies. MA is a software program that can travel from node to node to process and collect information based on the sensed data by sensor nodes. Computations required in a sensor network application may be either simple or complex; for example, calculating the maximum temperature of a room is a simple computation, whereas calculation of the air pollution status is a complex one with more parameters included. Using MAs is beneficial since it makes calculations on-demand without requiring the nodes to preinstall some software programs to process various data received from the environment. On the other hand using a UAV will help to distribute the energy consumption throughout the network by communicating with each sensor node one by one so that hot spot situations will be avoided. In this work, the network will be partitioned into several groups based on the network density. A node with the highest remaining energy will be elected as a group leader. The UAV will dispatch MAs to group leaders to collect the required information. The MAs travelling trajectory is dynamically changed according to the network’s density. The ultimate aim of this design is to save the time and energy of sensor nodes.

Liu et al. [31] have utilized a UAV to guarantee data freshness in a WSN. A UAV is dispatched from the monitoring center to collect data from sensor nodes one by one and return to its original location for delivering data. AoI is defined as the time difference between the instant of delivering data and the instant of sensing data from the environment. Dynamic programming is used to obtain Max-AoI-optimal and Ave-AoI-optimal UAV trajectories based on maximum and average AoI values respectively. Dynamic programming complexity rises as the network size increases; in this case, a genetic algorithm based approach is utilized to find the near-optimal path. Theoretical analysis demonstrates that the two age-optimal paths are in fact two shortest Hamiltonian paths in a WSN.

UAV-assisted data collection in mobile WSNs is considered in a research project by Ma et al. [32]. Data gathering by a mobile flying UAV from mobile sensors is challenging due in part to frequently changing topology which cause sensor nodes to have limited time communication with the UAV. In their proposed system model the UAV and mobile sensors move along predefined paths with different speeds (mobile sensors are randomly deployed). By considering the impact of UAV’s speed and flying height, and sensors density and moving speed, the problem is formulated into an optimization problem to improve the number of collected packets and the number of sensor nodes with at least one successful transmission. Four algorithms is proposed based on the combination of multi-data-rate schemes and contact duration time parameter to solve the optimization problem. The performances of the proposed algorithms are compared based on a weighted fairness metric and the number of collected packets. Weighted fairness metric is calculated by taking into account either the number of collected packets or the number of allocated time slots.

Liu et al. [33] have analyzed the performance of the single or multi-UAV assisted data collection in a clustered WSN. They define per-node capacity as a function of the number of sensor nodes, the size of the cluster, and the number of UAVs. They find that per-node capacity increases when multiple UAVs are deployed. Furthermore, they find the optimum cluster size to enhance the per-node capacity.

Arabi et al. [34] deem UAV technology as an opportunity to prolong the lifetime of the network as well as a moving base station to collect information across the network. The UAV’s role in extending the network lifetime will be elaborated later in this paper. The authors in this work formulate the problem of UAV’s navigation as a traveling salesman with time windows problem to find the best UAV trajectory so as to reduce the energy expenditure in the UAV. They also intend to gain efficient downtime of the UAV to collect information from nodes in its covered area.

A priority-based data gathering framework is proposed by Say et al. [35] to enhance the throughput and lifetime of a WSN. In a traditional WSN, data is transmitted in a hop-by-hop manner toward the destination node. As the network size increases, the number of transmitted packets as well as the distances between sensor nodes increases as well. This will lead to more collisions and energy expenditure. The authors propose a UAV-assisted scheme to improve the reliability, data-freshness, and network lifetime. In their proposed architecture, a UAV is utilized as a mobile relay to collect data from sensor nodes. Their intention is to prolong the network lifetime by reducing the number of retransmissions between sensor nodes and the UAV, and the transmission distance between sensor nodes. Sensor nodes in the UAV’s coverage area are divided into several frames according to their locations and different priorities are assigned to each frame. A smaller contention window size will be assigned to a frame with a higher priority. A frame selection based routing algorithm is proposed to achieve shorter transmission trajectories between the source and destination nodes. Simulation results proves the efficiency of their work in terms of energy consumption, data delivery ratio, throughput, and transmission delay.

Uddin et al. [36] have taken into account the problem of collecting up-to-date data from crop fields by forming dynamic clusters. They argue that predefined clusters is not practical due to frequent fluctuations of sensor nodes, the probability of preselected cluster head becoming inactive, and unawareness of sensor nodes of the UAV’s trajectory. In their proposed scheme, a UAV sends beacon packets to ground nodes in its coverage area to trigger the cluster formation based on its current path and the type of required data. A Bayesian probability-based cluster head selection process is used to select the best node as the cluster head. Simulation results and real-life testbed examination proves the efficiency of their proposed scheme in improving the network lifetime while maintaining a good throughput.

A UAV-aided WSN system is proposed by Zhan et al. [37]. In their proposed system, sensor nodes utilize a sleep and wake-up mechanism to save more energy. A node wakes up when it receives a waking up beacon message from the nearby UAV with a good signal strength. The problem of jointly optimizing the UAV’s trajectory and sensor nodes’ wake-up schedule (under a general fading channel model for UAV-sensor node links) is formulated as a mixed integer non-convex optimization problem. An efficient iterative algorithm is proposed to find a sub-optimal solution to this difficult problem. The goal is to minimize the maximum energy expenditure of all sensor nodes and at the same time guarantee that the required amount of data will be collected reliably from all nodes.

Lhazmir et al. [38] propose an IoT system model comprised of multiple sensor nodes distributed over a rural area assisted by several UAVs flying over non-concentric circular regions. In their proposed model UAVs form a network among themselves to forward the collected data toward the sink node. The contact probability for ground-to-air and air-to-air communications as well as transmission and collision probabilities are analyzed. They also investigate the end-to-end throughput for different values of node density.

2.2 UAV-Assisted Data Dissemination

Xue et al. [39] consider the problem of data dissemination in UAV-assisted IoT systems. They aim at increasing the amount of data disseminated among IoT devices in a certain region. To achieve this goal, they formulate an optimization problem to enhance the UAV’s 3D flight states and available resources subject to the minimum required data at each IoT device, available energy budget of the UAV, and practical UAV’s flight constraints. An efficient algorithm with guaranteed convergence is proposed to solve this challenging problem.

Fan et al. [40] propose a UAV-assisted data dissemination scheme in a Vehicular Ad-Hoc Network (VANET). In their proposed scenario, a vehicle wants to transmit some data to some other vehicles in some region covered by multiple UAVs. There are several paths (consisting of vehicle-to-vehicle, vehicle-to-infrastructure, and air-to-ground links) available to send the data from the source to destination nodes. The goal is to deliver the data within a predefined time limit. The throughput of each link is proportional to the data rate and transmission delay values of that link. They formulate the problem as a graph knapsack problem. Since this problem is NP-complete, a polynomial time approximation algorithm is proposed to find the path with the maximum throughput.

UAV-assisted data dissemination in a VANET has also been considered in another research by Zeng et al. [41]. In their proposed system model, multiple UAVs are employed with the intention of improving the system throughput while minimizing data dissemination delay. A control server predicts the vehicles mobility and channel states based on the reported information received from vehicles by utilizing a recursive least squares algorithm with low complexity and in real-time. Furthermore, a maximum vehicle coverage algorithm is proposed to schedule the UAV movement in 2D plane so as to enhance the utilization of the UAV in transmitting data.

Lu et al. [42] propose a data dissemination protocol in Vehicle to everything (V2X) networks. Their proposed protocol composed of two successive phases namely proactive caching and file sharing phases respectively. Vehicles are capable of caching their required data through off-peak hours to reduce the burden of the backhaul network during peak hours. During proactive caching phase UAVs send requested data files to vehicles. A spatial scheduling algorithm is proposed to optimize the UAV trajectory in order to accelerate the caching process and improve the network throughput. In the file sharing phase data files are transmitted through V2V links to reach destinations. To enhance the efficiency of the file sharing process a relay ordering algorithm is utilized to find the best possible relay nodes.

2.3 UAV-Assisted Content-Based Sensor Search

WSNs at the core of IoT systems infrastructure are comprised of different sensor nodes each equipped with different sensing devices. These various sensing peripherals make sensor nodes useful for various applications. A challenging issue in these systems is the identification of suitable sensor nodes for a particular application. Sharma et al. [43] have considered this issue and proposed a cost-based optimization function to find the best spots for UAVs placement in order to achieve a low overhead sensor identification process. Optimized localization will reduce the operational costs, enhance the coverage, and reduce the transmission delay of collected data.

3 UAV-Assisted Battery-Charging

IoT devices operate on limited capacity batteries. An IoT device with depleted battery is considered to be either dead or inactive (in case the battery is rechargeable). All architectures, designs, and protocols proposed for IoT systems should be energy efficient to guarantee that the system will be operational for a long time. One way to increase the lifetime of an IoT system is through energy harvesting from ambient environment. UAVs can act as energy sources in an IoT network by transmitting energy through Radio Frequency (RF) signals to IoT nodes. Several works in the literature have considered UAV-assisted battery charging. Some research projects considered the case where UAVs send RF signals solely to recharge batteries; these projects are discussed in the section titled UAV-Assisted Wireless Power Transfer (WPT). Other remaining projects considered UAVs as transmitters of both data and energy through a single RF signal at each downlink communication instance; these projects are classified under the name UAV-Assisted Simultaneous Wireless Information and Power Transfer (SWIPT).

3.1 UAV-Assisted WPT

Sikeridis et al. [27] propose to utilize a UAV to recharge IoT devices in addition to collecting information from them in a PS-IoT system (Their proposed scheme for collecting data is discussed is Sect. 2.1). In their scheme a node follows a harvest-transmit-store fashion to harvest energy from the received signal from the UAV; in other words, at each timeslot a node harvests energy, transmits its data to the coalition head to be forwarded to the UAV, and stores the remaining harvested energy for future use.

Liu et al. [28] have also considered UAV-assisted WPT in an IoT environment. As mentioned in Sect. 2.1, they also utilize the UAV to collect information from IoT devices. Based on their proposed scheme, IoT devices are divided into two groups considering their energy consumption. The UAV transmits different amounts of energy to nodes belonging to different groups. The problem of allocating energy resources at the UAV for transferring energy and at IoT devices for transmitting data is formulated as a dynamic game. Solving this game to achieve Nash equilibrium will yield an optimal resource allocation at the UAV for energy transfer.

A UAV-assisted Radio Frequency Energy Transfer (RFET) framework is proposed by Suman et al. [44]. They define an RFET zone as an area containing sensor nodes that can harvest energy from the UAV. Two charging strategies namely Static Charging Time Allocation (SCTA) and Optimal Charging Time Allocation (OCTA) are proposed considering the minimum energy requirement of each WSN node. In SCTA strategy only the charging time is optimized, whereas in OCTA strategy the overall charging and flight times are jointly optimized. The authors design an energy consumption model of the UAV to calculate the number of rounds required for the UAV to charge WSN nodes. They use this metric for performance evaluation.

Arabi et al. [34] utilize a UAV to extend the lifetime of an IoT system (in addition to collecting information which is discussed in Sect 2.1). They aim at achieving an efficient trade-off between energy transferring and data collection. For this reason, firstly, the try to find the maximum amount of time for collecting data from IoT devices in case the target is maximizing the amount of data collected, and secondly, they try to determine the maximum amount of data that can be collected, if the target is guaranteeing a typical network lifetime. As discussed in Sect 2.1 the optimum UAV trajectory is calculated. Furthermore, the authors model the battery level of an IoT device as a Birth–Death process considering the device activity rate and recharging time.

Suzuki et al. [45] propose a UAV navigation system in a battery-less agricultural sensor network to navigate the UAV through near-optimal points in order to wirelessly charge sensor nodes. Each node sends feedback on the amount of power it has just received to the UAV. An algorithm is designed to help the UAV in quickly finding an appropriate spot for transferring energy to a sensor node. This algorithm analyzes the distance between the UAV and the sensor node, and the direction of the sensor node by taking into account the amounts of power the node receives from different spots. In this way, the total amount of time needed to recharge sensor nodes in sparse agricultural sensor systems is reduced which yield a lower energy consumption at the energy-constrained UAV.

Du et al. [46] utilize a UAV mounted with a single antenna and a central computing unit to serve an IoT system in several cycles. At each cycle the UAV flies from an initial point, provide WPT, communication, and computation services to IoT devices, and finally returns to its original location. Their proposed system model is more elaborated later is this paper.

Su et al. [47] propose a system model in which UAVs act as carriers of wireless energy transmitters instead of charging the IoT devices themselves (because of the energy constraints of the UAV). They propose a novel multi-period charging process to guarantee the sustainability of network operation. The authors consider the Markovian characteristic of the charging process since future state is dependent on the current state and action. The interaction between the UAV and IoT devices is modeled as a multistage dynamic bipartite matching with one-sided preferences. A four-step algorithm is designed to maximize the amount of energy received at each device considering the limitations of energy consumption at UAVs and wireless power transmitters. This algorithm is a combination of Markov Decision Process (MDP), Random Serial Dictatorship (RSD) matching algorithm, and Bellman equation.

Suman et al. [48] investigate different path loss models in urban/suburban and agricultural rural arias for Air to Ground (AtG) Radio Frequency Energy Transfer (RFET). The charging time of each WSN node depends on the received power at each node which is affected by path loss. In this research, they simulate RFET in different environments using corresponding path loss models to estimate related performance parameters. The accuracy of the simulations is verified by conducting real emulated settings measurements.

3.2 UAV-Assisted SWIPT

Huang et al. [49] propose a UAV-assisted SWIPT scheme in an IoT system comprised of IoT devices each equipped with a power splitter. They target minimum energy harvested maximization among all devices throughout the network, subject to minimum average data rate requirement at each node, UAV’s energy budget for transmission, and UAV’s maximum speed. To this end, the authors try to optimize the UAV’s transmitted power and trajectory. This optimization problem is difficult to solve directly; so an efficient algorithm is proposed to solve the optimization problem by decomposing it into two more tractable sub-problems. A feasibility analysis is performed to derive a reasonable threshold for average data rata received at each IoT node.

A secure UAV-assisted SWIPT system in an IoT environment consisting of a single Information Receiver (IR) and multiple Energy Receivers (ERs) is proposed in a research project conducted by Hong et al. [50]. In their proposed model, the locations of ERs are perfectly known and some of them try to eavesdrop the information sent to the IR node. The authors intend to optimize the UAV’s transmission power and trajectory in order to improve the IR’s secrecy rate taking into account the minimum required energy of each ER, UAV’s energy and mobility limitations, and UAV’s initial and final locations. They design an optimization algorithm to solve this non-convex problem through dividing it into two easier to solve sub-problems.

Huang et al. [51] present an IoT system model assisted by multiple UAVs. They need to solve a user association issue in their proposed system due to the presence of multiple UAVs. They aim at maximizing the minimum average data rate received among the IoT devices. The authors formulate an optimization problem to jointly optimize UAVs’ 3D locations, user association, UAV’s transmission powers and power splitting ratio of each node subject to the minimum required energy at each ground device and UAVs’ transmission energy limits. A feasibility analysis is performed to set a reasonable threshold for minimum required energy based on real situations. An optimization algorithm is designed to solve this non-convex problem by splitting it into two sub-problems.

Na et al. [52] propose a multicarrier based UAV-assisted WPC (Wireless Powered Communication) scheme in an IoT system. WPC is a mechanism derived from SWIPT in which IoT devices use the harvested energy to transmit information to the UAV. In their designed system, a UAV acts as an aerial base station flying at a fixed altitude transferring energy and transmitting information on subcarriers to IoT devices. The authors formulate an optimization problem to jointly optimize the UAV trajectory and resource allocation at an Orthogonal Frequency Multiple Access (OFDM) based network. In their proposed model, each timeslot is divided into two sub-slots; one for downlink transmission and the other for uplink transmission. At each downlink sub-slot, the UAV send data through a subset of subcarriers and use the remaining subcarriers for energy transferring. At each uplink sub-slot, IoT devices transmit information to the UAV using the harvested energy. An iterative algorithm is proposed to solve this non-convex problem. By optimizing the UAV’s trajectory, sub-slot, subcarrier set, and subcarrier power allocation, they intend to maximize the minimum achievable rate for uplink transmission at each timeslot considering the achievable sum rate for downlink transmission of all IoT nodes.

Sun et al. [53] present an mmWave (millimeter Wave) communication based UAV-assisted SWIPT in an IoT system comprised of multiple authorized IoT devices and some eavesdroppers distributed following independent Homogeneous Poisson Point Processes (HPPPs). Ground authorized IoT devices are divided into two groups namely High Rate Security Requirement (HRSR) and Energy-Constrained with Low-rate Requirement (ECLR). The authors design a Directional Modulation (DM) scheme; in their proposed scheme, switched phased array transmission architecture is employed to improve the security for HRSR users while SWIPT with power splitting is utilized for ECLR users. They perform theoretical analysis under Non-Orthogonal Multiple Access (NOMA) and Orthogonal Multiple Access (OMA) schemes to derive connection outage probability, secrecy outage probability, and effective secrecy throughput of the HRSR users. Moreover, connection outage probability and closed-form expressions for the energy-information coverage probability of the ECLR users are developed under both NOMA and OMA schemes. An active antenna selection optimization problem is formulated with the aim of improving the secrecy performance. Adaptive Genetic Simulated Annealing (AGSA) algorithm is leveraged to solve this problem based on the output of theoretical analysis.

UAV-assisted SWIPT in a cellular IoT system is analyzed by Wang et al. [54]. In their proposed model UEs are distributed on the ground following Thomas cluster processes and realistic path loss models are deployed for UAVs and ground BSs communications. Furthermore, they have adopted 3D antenna patterns for UAVs and ground BSs. Power splitting policy is leveraged at IoT devices to simultaneously receive information and energy from the received signal. Based on theoretical analysis, complementary cumulative distributed function (CCDF) and probability density function (PDF) of the distance of UEs from UAVs and other BSs is derived. Moreover, the association probability of each aerial and terrestrial BS, and energy probabilities of the network are characterized. The authors jointly analyze the energy and SINR coverages by presenting the successful transmission probability. It is demonstrated that reducing cluster size will induce better network performance. On other hand, they evaluate the effects of UAVs heights on association and network performance.

A UAV-assisted SWIPT and data collection scheme in a WSN is proposed by Li et al. [55]. In their proposed scheme, they utilize SWIPT with power splitting at sensor nodes to simultaneously transfer energy and transmit response messages to sensor nodes. The authors’ aim is to achieve an online scheduling strategy for energy transfer and data collection in order to prevent battery depletion and buffer overflow at ground devices. This problem is formulated as an MDP by considering battery levels and data queue sizes of nodes, the UAV’s waypoints based on UAV’s trajectory, and channel conditions as states. A deep reinforcement learning based scheduling algorithm is proposed to get an optimal solution. In this way, the selection of the ground device, modulation scheme, and instantaneous patrolling velocity of the UAV are jointly optimized.

Sun et al. [56] propose a UAV-assisted mmWave communication between a source and an energy-constrained destination node. In their proposed system model, the UAV acts as a relay transmitting information and transferring energy to the destination node equipped with a power splitter. More on this work is presented later in this paper.

Mamaghani and Hong [57] design a secure communication scheme in a UAV-assisted SWIPT system. Their designed model comprised of a UAV transmitting confidential information to an energy-constrained destination ground node using SWIPT, and a passive ground eavesdropper. Another UAV is utilized to assist secure communication and energy transferring by producing jamming signals. Two different UAV-jamming physical layer security schemes are leveraged; in Gaussian Jamming Transmission (GJT) scheme, the destination node is not familiar with jamming signals; on the other hand, in Friendly UAV Jamming (FUJ) scheme, the destination has prior knowledge of the jamming signals. The information transmitting UAV has only a partial information about the location of the eavesdropper. An average secrecy rate optimization problem is formulated. An efficient iterative algorithm is proposed to find a sub-optimal solution to this problem by solving three optimization sub-problems namely transmission powers of UAVs, power splitting ratio at the destination node, and UAV trajectory.

4 UAV-Assisted Communications

UAVs have the potential to act as wireless base stations relaying information between source and destination nodes in an IoT network. In hotspot areas where the capacity of ground BSs is not enough to handle the requests of abundant user equipment devices, some of the communication responsibility could be offloaded to UAVs flying around the area. On the other hand, ground BSs could not be deployed efficiently in some harsh and remote environments which could be covered by aerial communications provided by UAVs in order to extend the network’s coverage. Furthermore, in disaster struck areas where ground BSs are severely damaged, UAVs can provide emergency communications for survivors and rescuers from the sky. In the following subsections, recent literature on UAV-assisted BS-offloading and coverage, and UAV-assisted emergency communications are summarized.

4.1 UAV-Assisted BS-Offloading and Coverage

Yan et al. [58] propose a joint access selection and resource allocation optimization scheme in a UAV-assisted IoT network. The UAVs act as flying BSs assisting the network by offloading the communication requests from ground BSs in hotspot areas. A hierarchical Stackelberg game framework is presented to jointly optimize the UAVs’ access selection strategies and the ground BSs’ resource allocation schemes. Ground BSs act as leaders and allocate their resources based on the UAVs’ access selection decisions. On the other hand, UAVs act as followers and decide about their access selection strategies based upon the communication resources allocated by grounds BSs.

Jiang et al. [59] consider a throughput maximization problem in a UAV-assisted IoT system. The UAV is equipped with a caching memory to cache popular multimedia data in order to reduce the UAV’s energy consumption while improving the throughput. An optimization problem is formulated to optimize the UAV’s 3D location, caching strategy, multimedia data reception throughput, UAV’s coverage, and coverage throughput considering the UAV’s memory constraints. The authors solve the optimization problem by dividing it into two sub-problems. One sub-problem is solved to find the optimal 3D placement for the UAV. The other probabilistic caching placement sub-problem is resolved to find the optimal caching strategy.

A multi-UAV-assisted communication model in an IoT network is designed by Zhang et al. [60]. In their proposed model, two types of UAVs are employed to help the ground IoT nodes connect to the Internet via sky-haul links to the satellite. An HFU (Hovering Flight UAV) hovers over the area’s center while a single or multiple CFUs (Circular Flight UAV) fly over the edge line of the area. Utilizing CFUs improve the QoS of downlink transmission and guarantees the uplink transmission for edge users. The authors propose a UAV association scheme to let the users choose a UAV of their own preference. In their theoretical analysis, only fully established connections are considered. Fully established connections are those that their association time is longer than the channel access delay. By using stochastic geometry the coverage probability and the achievable rate for downlink transmission is evaluated subject to the spatial distribution of ground IoT devices. Furthermore, they conduct system-level simulations to examine the achievable performance improvements by utilizing multiple CFUs.

Na et al. [52] propose to utilize a UAV as an aerial base station in an OFDM-based IoT environment to transmit and receive information from IoT devices based on a multi-carrier WPC model. Their proposed scheme is summarized in Sect 3.2.

Sun et al. [56] consider utilizing a UAV as a relay between a source and an energy constrained destination in an mmWave communication based network. In their proposed system model, multiple eavesdroppers are distributed on the ground following independent homogeneous Poisson point processes. Their aim is to improve the secrecy performance of the communications. A Nakagami-m small scale fading model is used for downlink communication channels. Furthermore, they consider terrestrial mmWave communication blockage due to several impediments on the ground, while taking into account the 3D antenna gain model. The performance of two relay protocols namely Amplify and Forward (AF) and Decode and Forward (DF) are compared by deriving the closed-form expressions of the average achievable secrecy rate and energy coverage probability under utilization of each protocol. These expressions demonstrate the impact of several parameters such as power splitting ratio, transmit power, UAV’s location, and carrier frequency on the system performance. Based on simulation results, the energy coverage probability is reciprocally in proportion to the UAV’s distance from the destination. Moreover, in order to improve the average secrecy rate, the UAV should be placed closer to a node with a relatively low transmit power.

Ji et al. [61] present a multi-UAV-assisted relay scheme in an ultra-densely deployed IoT system where a direct communication between source and destination node is not possible and the destination may suffer from an aggregate interference from time to time. The communication channels between IoT devices and UAVs follow Nakagami-m fading model. UAVs utilize either Time Switch (TS) or Power Splitting (PS) strategies to harvest energy from the received signal. The source node select an optimal UAV relay based on an SNR maximization criterion. An optimization problem is formulated to jointly optimize the transmission power, scaling factor, and UAV relay selection. Theoretical analysis demonstrates that this optimization yields a better system throughput while at the same time reduces Bit Error Rate (BER) and system outage probability. Simulation experiments are conducted to prove the effectiveness of the proposed method and the correctness of the theoretical analysis.

In a sparsely deployed cellular IoT system, IoT devices at the edge of a cell should consume a considerable amount of energy to transmit their collected information to the base station. Deploying additional ground BSs is time-consuming and costly. On the other hand, using ground BSs with almost equal heights as anchor nodes to calculate the 3D position of IoT devices does not induce accurate results. Wang et al. [62] propose a UAV-assisted IoT system to overcome these challenges. In their proposed model, a UAV is deployed as an aerial base station to collect information from edge devices efficiently. Moreover, the UAV acts as an aerial anchor node to help calculating accurate 3D location of ground devices. With the intention of minimizing the maximum energy consumption of all IoT devices, an optimization problem is formulated to jointly optimize the UAV’s trajectory and devices’ transmission schedule considering the uncertainty of devices’ locations. This optimization problem is divided into three sub-problems which are solved iteratively using the differential evolution algorithm.

A novel UAV-assisted VANET system called VDNet (Vehicle-Drone hybrid vehicular ad-hoc Network) is proposed by Wang et al. [63]. In their proposed system model, some vehicles are equipped with an on-board drone that can act either as an intermediate node in a multi-hop communication or as a carrier dispatched to deliver the information directly to the destination. A distributed location-based routing protocol is developed to efficiently and in a timely manner deliver data to the destination utilizing both inter-vehicle immediate communications and carry-and-forward relaying schemes. The performance of this protocol is further enhanced by leveraging the on-board UAVs in some vehicles. A distributed database system is designed to store the location history of each vehicle. Furthermore, a distributed location prediction algorithm is presented which helps each vehicle in the routing process based on the stored information in the database.

Oubbati et al. [64] design a UAV-assisted hybrid routing protocol for VANETS assisted by an ad-hoc network of flying UAVs. In their proposed mechanism, UAVs are utilized to analyze the density of vehicles moving in an area. A delay-tolerant routing protocol is utilized to forward information through an optimal combination of vehicle-to-vehicle, vehicle-to-UAV, and UAV-to-vehicle links. On the other hand, a reactive routing protocol is proposed to find an optimal aerial path through UAVs, when the density of vehicles between source and destination nodes is very low. This work is an extension of their previously proposed routing protocol UVAR (UAV-Assisted VANET Routing protocol) [65]. In UVAR, a UAV is leveraged to relay information when direct communication between vehicles is not possible due to the presence of some obstacle.

Islam and Shin [66] present a secure communication scheme in a UAV-assisted IoT system. Their aim is to preserve communications against cyber-threats and ensure data integrity. A UAV is used as a relay between IoT devices and a Mobile Edge Computing (MEC) server. Each IoT device signs and encrypts its data before transmitting it to the UAV. UAV relays the information to the MEC server after decryption and successful verification of its source identity. Data is stored at a blockchain that resides on the MEC server upon reception of consent from validators.

In a clustered WSN where each sensor node can candidate itself as a Cluster Head (CH), there is a possibility for a compromised node to become a CH. Wang et al. [67] consider this issue and propose a complementary framework to enhance the security of LEACH (Low-Energy Adaptive Clustering Hierarchy) protocol. In their proposed scheme, a UAV is leveraged as mobile relay between sink and WSN nodes to collect and disseminate information throughout the network. Moreover, the UAV gathers the residual energy information from every sensor node in order to determine suitable and unsuitable candidates for CH election process at each cluster. The information regarding appropriate candidates is broadcasted by UAV to all sensor nodes. In this way, a malicious node cannot continue operation as a cluster head for a considerable amount of time.

Fan et al. [68] propose a scheme wherein an ad-hoc network of UAVs is deployed to assist a VANET by relaying data in infrastructure-less areas where V2V communication is considerably poor. With the intention of maximizing data dissemination through, they formulate a graph knapsack problem to find an optimal combination of Air-to-Ground (A2G) and V2V links for delivering information. A polynomial time approximation algorithm is presented to solve this NP-complete problem for discovering an appropriate transmission route.

4.2 UAV-Assisted Emergency Communications

Base stations in cellular IoT systems and cluster heads in D2D communications are usually mains powered and thus are susceptible to power cut due to the occurrence of several disasters. Liu et al. [69] propose a UAV-assisted communication recovery scheme in heterogeneous IoT (Het-IoT) systems experiencing emergency situations. Furthermore, they design a distributed SIC (Successive Interference Cancellation)-free NOMA multiple access mechanism to improve spectral efficiency of emergency communications. The authors formulate a multi-objective resource allocation problem in order to optimize the channel assignments and power allocations throughout the entire Het-IoT system considering the UAV’s hovering time, the power budgets, and the access probability limitations. This problem is solved in a stepwise manner using a reweighted message-passing algorithm.

Liu et al. [70] consider the limitations of conventional network access schemes in disaster struck cellular systems and propose a novel resource allocation and network access scheme in a UAV-assisted IoT system in order to provide communication to a large portion of Machine Type Devices (MTD) during the time of emergency. Furthermore, taking energy budget of the UAV into account, they try to minimize the energy consumption of the UAV for data relaying so as to enlarge the hovering time duration.

A UAV’s coverage is limited due to its limited capacity battery. Liu et al. [71] design a UAV-assisted emergency recovery scheme wherein the coverage of the UAV is extended leveraging D2D communications among nodes outside the coverage area and nodes covered directly by a stationary hovering UAV. Moreover, a Shortest Path Routing (SPR) algorithm is proposed to find the smallest possible number hops for downlink and uplink transmissions. In this way, the coverage of the UAV and QoS of downlink and uplink communications is enhanced. The authors derive the closed-form expressions for the number of hops and outage probability for uplink and downlink communications. In order to optimize the spectral efficiency, a transceiver design using a multi-antenna resource for uplink and downlink transmissions is formulated as a non-convex problem which is transformed into a convex equivalent and solved using the Second-Order Cone Programming (SOCP).

Wang et al. [72] propose a framework wherein the social ties information is leveraged to form dynamic clusters in stochastic environments. They consider the interference of strong UAVs’ line of sight communications in terrestrial communications and design a scheme to utilize a combination of air-to-ground and device-to-device communications. In their proposed model, a UAV transmits the emergency information to a ground node which multicasts this information to its socially related ground devices. A many-to-one matching game is formulated and solved using the rotation-swap algorithm to increase the speed of data dissemination at each time slot. The dynamic spectrum sharing issue is expressed utilizing a dynamic hypergraph coloring approach to model the cumulative interference. Solving this coloring problem induce minimum mutual interference while the graph is updated dynamically.

5 UAV-Assisted Mobile Edge Computing (MEC)

Mobile Edge Computing (MEC) is considered as an effective method by both the academia and industry to overcome time constrained computation issues in resource limited mobile devices. The idea of MEC is to bring cloud computing services to closer distances from users so as to reduce delay and backhaul links congestion. UAVs equipped with storage, computation, and communication capabilities can act as aerial MEC servers at the edge of an IoT system. In this way, resource constrained IoT devices can offload their computation tasks, either partially or completely, using direct line of sight links to MEC-server-mounted UAVs. Figure 6 displays an example UAV-assisted MEC system. In this system, a UAV-mounted cloudlet receives an offloaded task from an IoT device in the UAV’s coverage region and sends the results back upon task’s execution completion. Furthermore, the UAV could relay some tasks to a ground BS-mounted cloudlet, if its resources are not sufficient to accommodate processing of all offloaded tasks. In this section, several recent research projects on UAV-assisted MEC are summarized.

Fig. 6
figure 6

A schematic representation of a UAV-assisted MEC system

Zhang et al. [73] propose a UAV-assisted MEC scheme in a Social Internet of Vehicles (SIoV) system. SIoV is a new paradigm emerged by integrating advanced vehicle-to-everything communications and social networking properties into an Internet of Vehicles (IoV) system. Applications in an SIoV network are usually computation-intensive and delay constrained. Therefore, deploying Rode Side Units (RSUs), equipped with caching and computational units, as MEC servers is very beneficial in SIoV applications. In their proposed model, an MEC-mounted UAV is deployed to assist ground RSUs in computing users’ offloaded tasks. Moreover, RSUs are capable of caching popular social contents in order to decrease the load on backhaul communications during peak hours. A popularity factor is defined to calculate the probability of caching a part of a social content in an RSU caching memory. The authors formulate on optimization problem to jointly optimize the vehicles transmission power and UAV’s trajectory. In this way, the total utility of the UAV-assisted system is improved.

Zhang et al. [74] design a UAV-assisted MEC system comprised of multiple ground smart mobile devices. They consider the issue of stochastic computation-intensive task offloading in these systems and propose an average weighted energy consumption minimization problem subject to the number of offloading computation tasks, the CPU cycle frequency of mobile devices and MEC-mounted UAV, and UAV’s trajectory scheduling limitations. This problem is divided into three sub-problems of finding optimal stochastic computation offloading policy, computation resource allocation, and UAV’s flying trajectory scheduling which are solved iteratively by utilizing a joint optimization algorithm.

A UAV-assisted IoT system is proposed by Hu et al. [75] wherein a UAV is deployed to simultaneously act as an MEC server and a relay to further communicate some offloaded computation tasks to an MEC-mounted access point. The authors formulate an average weighted energy consumption (of both UAV and ground user equipment devices) minimization problem considering user equipment devices’ task constraints, the information-causality constraints, the bandwidth allocation constraints, and the UAV’s trajectory constraints. This minimization problem is divided into three sub-problems of computation resource scheduling optimization, bandwidth allocation optimization, and finding an optimal UAV’s trajectory. These three sub-problems are solved iteratively by leveraging an alternating optimization algorithm with guaranteed convergence.

As mentioned earlier in Sect. 3.1, Du et al. [46] design a UAV-assisted IoT system by deploying a UAV mounted with a single antenna and a central processing unit in an IoT environment. During a cycle, the UAV provides WPT and computing services to multiple IoT devices on the ground while it is flying over IoT devices from an initial point to another location and returning to its origin. A Time Division Multiple Access (TDMA) based workflow model is proposed to achieve parallel processing of multiple users’ tasks in order to enhance the UAV’s energy efficiency. By leveraging this multi-workflow model, the IoT devices association, computing resources allocation, UAV hovering time, wireless powering duration, the uplink data rate, and the services sequence of IoT devices are jointly optimized to achieve minimum UAV’s energy consumption.

Liu et al. [76] propose the utilization of a UAV mounted with an energy transmitter and an MEC server to assist an IoT system. To model the energy consumption of the UAV they consider the effect of UAV’s acceleration in addition to velocity on energy expenditure. Moreover, taking into account the broadcast nature of radio frequency signals transmitted for energy harvesting at active sensor devices (sensor devices with data to be processed), they propose to utilize neighboring sensor devices (which also receive the transmitted signal) to assist the active node by processing some parts of its computation tasks. In their proposed scheme, the UAV can complete the offloaded task in multiple consecutive time slots. With the intention of minimizing the UAV’s energy expenditure, an optimization problem is formulated to jointly optimize the number of offloading bits, the CPU frequencies, the transmit power of the active sensor devices, and the UAV’s trajectory considering the active sensor devices computing task constraints, the information causality constraints, energy harvesting causality constraints, and UAV’s trajectory constraints. Two algorithm with proven convergence namely Successive Convex Approximation (SCA) based algorithm and Decomposition and Iteration (DAI) based algorithm are proposed to solve this non-convex problem. Simulation results demonstrates the superiority of SCA-based algorithm when the size of the data offloaded is relatively large. On the other hand, DAI-based algorithm is better when the data size is relatively small.

Zhang et al. [77] propose a UAV-assisted MEC and relaying scheme in an IoT environment in which the UAV can either act as an MEC server or act as a relay to communicate the offloaded task bits to an access point whenever direct communication between IoT devices and the access point is not possible. In their proposed model, the computation times of tasks at access point are negligible and tasks should be completed in a predefined period. Moreover, during the course of flying between predefined initial and final locations pair, the velocity of the UAV is limited with a specified maximum speed and Orthogonal Frequency Division Multiple Access (OFDMA) scheme is used by the UAV to provide communication for IoT terminals. A minimization problem is formulated to minimize the total communication-related, computation-related, and the UAV’s flight related energy expenditures by jointly optimizing the computations bits allocation, time slot scheduling, transmit power allocation, and UAV’s trajectory. This non-convex problem is decomposed into two sub-problems which are solved using an iterative algorithm.

Li et al. [78] present a UAV-assisted MEC scheme in an IoT environment. In their proposed model, a UAV-mounted cloudlet is deployed to collect offloaded tasks’ data, process them, and send back the corresponding results during a predefined cycle. With the intention of improving computation service efficiency and minimizing the UAV’s energy expenditure, an optimization problem is formulated to jointly optimize the UAV’s trajectory and computation and communication resources allocation. The resource allocation is optimized with respect to limitations regarding the users’ communication energy budgets, their computation capability, and UAV’s mechanical operation. This non-convex problem is transformed to a solvable one. Furthermore, the problem is divided into two sub-problems that the UAV and IoT devices solve cooperatively. The authors also consider a scenario wherein the IoT devices’ future locations are unknown in advance. In this scenario, they propose a spatial distribution estimation technique to predict the users’ locations. Based on the predicted locations, an energy-optimized UAV’s trajectory is discovered.

A NOMA-based UAV-assisted MEC scheme in large-scale access networks such as WSNs and IoT is designed by Diao et al. [79]. They take into account the UAV’s trajectory, interference among ground mobile terminals, and computation resource allocation effects on ground devices’ energy consumption and propose a min–max problem to minimize the maximum amount of energy expenditure among mobile terminals. In order to solve this min–max problem, they propose an optimization problem to jointly optimize the UAV’s trajectory, task data allocation, and computing resource allocation subject to the mobile terminals’ task delay, total amount of task data, and UAV’s trajectory constraints. This problem is transformed into two convex sub-problems that are solved by an iterative algorithm. Furthermore, in order to reduce the complexity, the authors also consider a fixed-point service scheme wherein the UAV provides computing services to ground terminals while hovering over a fixed point. In this proposed scheme, they develop and solve an optimization problem to discover the optimum hovering location.

Zhou et al. [80] present an integrated air-ground MEC system in which a combination of UAVs and ground moving vehicles are deployed to assist fixed BS mounted MEC servers in providing communication and computation services to IoT devices. To mention two examples of benefits which air-ground integration will bring to IoT systems, UAVs can provide line of sight connectivity to devices placed at the edges of ground BSs’ coverage areas and ground moving vehicles can provide multi-hop communication and computing services in hot spot areas when UAVs are depleted of battery power. By optimizing the UAV’s trajectory, the proposed architecture is suitable to provide several services such as content caching and mobile delivery, distributed big data processing and analysis, ultra-low latency support, etc.

Alsenwi et al. [81] propose an energy-efficient UAV-assisted MEC system in an IoT environment. In order to minimize the energy consumption of both UAV and IoT devices, they formulate an optimization problem in order to jointly optimize task offloading to the UAV, bandwidth allocation to IoT devices, IoT devices’ local computation resources allocation, and UAV’s computation resource allocation. This non-convex problem is transformed into four convex sub-problems that are solved alternately using Block Coordinate Descent (BCD) algorithm.

Zhou et al. [82] propose the deployment of a UAV in an IoT environment to assist IoT devices by charging their batteries using WPT technique and providing computation service to them using a mounted MEC server. In order to maximize the weighted sum of computation bits offloaded by all IoT devices under both binary and partial offloading modes, they formulate an optimization problem to jointly optimize the CPU frequencies, the offloading times, the transmit powers of users, and the UAV trajectory. Moreover, under binary offloading mode, the nodes’ decisions on whether to offload their tasks or compute them locally are optimized considering the trade-off between the achievable computation rate and the operation cost. Two alternative two-stage and three-stage algorithms are utilized to solve the non-convex problems under partial offloading and binary offloading modes respectively.

In real scenarios, a third party UAV flying over an IoT system may not provide computing services to IoT devices at no cost. Moreover, users might not be willing to take the risk of offloading their computation tasks to the UAV since it may not be able to accommodate the processing of all offloaded computation tasks by all users in the area. Mitsis et al. [83] take these two challenges into account and propose a usage-based pricing mechanism and a user’s risk-based-behavior aware data offloading decision-making scheme in a UAV-assisted MEC system. Particularly, the prospect theoretic utility functions are formulated to capture the users’ behaviors in decision-making process considering the pricing mechanism. Furthermore, the theory of the tragedy of the commons is exploited in order to model the UAV’s computation resources utilization. A non-cooperative game among users is designed to maximize the expected utility function of each user. The existence of Pure Nash Equilibrium (PNE) for this formulated game is proven and an iterative algorithm is used to achieve PNE.

Zhang et al. [84] formulate a computation efficiency maximization problem in a multi-UAV assisted MEC system wherein users offload their computation tasks partially to the UAV mounted MEC servers. Computation efficiency is a metric which takes into account both computation bits and energy consumption of MEC system simultaneously. In order to maximize the computation efficiency, they formulate a non-convex optimization problem to jointly optimize users association, computation and communication resources allocation, and trajectory scheduling of UAVs. This problem is solved using an iterative optimization algorithm.

Guo and Liu [85] propose a UAV-assisted edge computing system wherein a UAV-mounted cloudlet is deployed to fly horizontally over areas with high densities in a stepwise manner while providing computation service to IoT devices. As UAVs consume a considerable amount of energy for hovering, in their proposed model, the UAV is assumed to fly for a few seconds in a small circular trajectory over a high-density area before moving to service IoT devices in another area. In this way, the UAV is deemed approximately stationary over each area with respect to the whole trajectory. In order to minimize the total energy consumption for task computation at both UAV and IoT devices subject to the maximum allowed time for task computation and UAV’s energy budget, the authors formulate an optimization problem to jointly optimize the task offloading decision-making process (binary mode is used), bit allocation for uplink and downlink communication, and the UAV trajectory. An iterative algorithm is proposed to solve this non-convex problem.

Selim et al. [86] present a Device to Device (D2D) communication based UAV-MEC system where smart devices have an additional option of offloading parts of their computation tasks to neighboring devices via D2D communication. With the intention of minimizing the energy consumption at smart devices, they formulate and solve an optimization problem to jointly optimize the UAV trajectory, bit allocation to UAV and neighboring partner devices, and task partitioning. Moreover, the authors examine the effect of several parameters such as UAV’s altitude, number of D2D pairs, and maximum CPU speed of UAV-mounted cloudlet on energy consumption.

An energy consumption and completion time minimization problem in a fixed-wing UAV-aided MEC scheme in an IoT environment is taken into account by Zhan et al. [87]. Considering computation offloading, resource allocation, UAV trajectory, and completion time optimization subject to UAV’s propulsion energy consumption, dynamics of the CPU frequency scaling for computing, information-causality constraints for task offloading, and the energy budget of the IoT devices, they formulate and solve two optimization problems. First, in order to minimize the UAV’s energy consumption, they try to achieve a less-energy-consuming speed and an energy-efficient resource allocation. Second, with the intention of minimizing task completion time, maximum achievable UAV’s flying speed is calculated while taking into account task requirements and energy budget of each device. The authors provide a Pareto-optimal solution to reach a trade-off between two contradicting solutions of formulated problems.

Zhang and Ansari [88] present a UAV-assisted IoT system where UAVs and a Macro Base Station (MBS) are equipped with computing servers. The UAV either provides computing services directly to IoT devices or act as a relay to further communicate the offloaded tasks to the MBS. The authors formulate a problem to minimize the average latency of all user equipment devices considering the UAVs placement, the devices association, communication resource allocation at both access and backhaul links, and computation resource allocation at UAVs and the MBS. This NP-hard problem is decomposed into one non-linear and two linear sub-problems. An approximation algorithm is presented to solve the non-linear sub-problem. Another approximation algorithm is designed to solve the original problem based on the solutions achieved for sub-problems.

A multi-level UAV-assisted MEC architecture is proposed by Chen et al. [89] wherein a UAV is deployed to either compute offloaded tasks locally or relay them for computation at remote powerful ground MEC servers. The UAV is capable of charging its battery through harvesting solar energy. Four battery levels are defined in order to determine the UAV’s energy status. A Markov decision process based algorithm is designed to select the best offloading level (computing locally, at the UAV, or at the remote MEC server) and resource allocation based on the current energy status of the UAV and available system resources.

In Table 1, the reviewed UAV-assisted MEC systems are compared with respect to the number of UAVs (single/multiple), available ground computing units, and additional services provided by the UAV. As you can see, most systems consider single UAV deployment. Moreover, the only additional UAV-assisted services provided in some schemes are BS-offloading & Coverage and WPT.

Table 1 Comparison of Reviewed UAV-Assisted MEC Schemes

6 Future Directions

An overview of the classification of the literature surveyed in this research is displayed in Fig. 7. As a meticulous reader may notice, some works belong to more than one group. For example the research presented in [55] considers both UAV-assisted data-collection and UAV-assisted SWIPT services simultaneously in an IoT environment. Considering the current status of research in the area of UAV-assisted IoT systems, in this section we provide some useful insights on how the research in this area should be extended in the future.

Fig. 7
figure 7

An overview of the UAV-assisted services classification

To the best of our knowledge, only one paper in the literature has paid attention to UAV-assisted content search in a wireless sensor network. In an IoT environment comprised of multiple sensor devices each equipped with one or several sensing peripherals, the ability of the UAV to find desirable contents for a specific application would be very beneficial. For example, consider a case in an agricultural IoT system where different sensor nodes are distributed randomly in a farmland to collect information regarding soil’s moisture, temperature, available minerals, etc. In this case, the UAV’s ability to find the locations of suitable sensor devices for collecting required data for a particular decision making process would enhance either the UAV’s trajectory or placement which in turn results in a greater energy saving, less delay, and an improved system performance. More research in this area is needed in order to enhance identification and location estimation of sensor devices subject to UAV’s energy constraints, available computation resources, and maximum permissible delay for collecting and processing data.

Several research projects presented in the literature has moved toward leveraging UAVs to provide a combination of two different services to smart ground devices. The ultimate aim is to model IoT systems where UAVs are capable of providing multiple services to IoT users on demand. The great obstacles to reach this goal are UAVs’ limitations regarding available energy stored in their batteries, computation resources capacity, and available communication resources. To demonstrate the superiority of multi-service provisioning, assume that a UAV in a smart agricultural IoT system is providing all data-related services presented in this paper. The UAV is able to locate preferred sensor nodes, flies toward them in an optimized trajectory, disseminates commands sent by monitoring station to them, waits for commands execution, collects required information, and finally gets back to the monitoring center.

Most of the proposed architectures for UAV-assisted IoT systems have focused on a single UAV deployment. Although, designing multi-UAV assisted systems would be more challenging, leveraging multiple UAVs will improve system utility and throughput. In an IoT environment where multiple integrated privately owned UAVs together with third party UAVs are flying above IoT devices, parallel service provisioning will become possible. These UAVs could be different with respect to their computation and communication capabilities while providing different sets of services to their associated users. Third party UAVs are usually commissioned to perform some tasks for their owners. Providing some incentivization mechanisms to persuade UAVs’ owners to provide services to IoT nodes in addition to accomplishing their pre-intended tasks is a challenging problem which requires further analysis. Furthermore, as the number of UAVs flying over an area increases, the possibilities of collision among UAVs and signal interference increase as well. So scheduling UAVs trajectories and available communication resources allocation become more complicated and demand careful consideration. Finally, decisions at IoT devices on selecting a suitable UAV for providing their intended services should be made wisely based on UAV’s capabilities, associated costs (for third party UAVs), channel conditions, UAV’s trajectory, etc.

UAVs energy consumption in providing different services to an IoT system needs further analysis. Although UAVs’ operations’ energy efficiency has been taken into account in almost all of the proposed schemes, usually some elements in the energy consumption model have been neglected in order to simplify the problem. A holistic model should consider all flight related elements (such as speed, acceleration, and propulsion), computation related elements (such as CPU frequency, memory and caching operations, and task size), and communication related elements (such as utilized wireless technology, interference, signal frequency, and channel propagation model). Furthermore, UAVs could use some energy scavenging methods to prolong their lifetime. For example, they can be equipped with some energy harvesting modules to transform ambient solar, wind, and thermal energy into electrical energy. Moreover, some mains powered ground energy transmitters could be deployed to charge UAVs wirelessly.

Leveraging peer-to-peer communication model among UAVs and IoT devices could be a promising solution to enhance system’s overall performance. In most existing literature, UAVs only act as servers receiving service requests from smart devices. UAVs equipped with sensing modules could act as wireless sensing nodes and directly sense the required information from a particular region. In this way, in some cases there is no need for transmitting information from ground sensor nodes. Designing schemes to determine when UAV’s perceived information is reliable and when additional information from ground devices is necessary requires careful examination. This will reduce the ground-to-air communication instances and the energy, time, and spectral costs associated with them. However, UAV’s energy consumption and its limited energy budget should be considered.

Some recent literature have proposed multi-level MEC systems with the assistance of UAVs. In these systems, smart devices have to choose whether to compute their tasks locally, offload them to the UAV, or utilize the UAV as a relay to offload their tasks to a remote ground MEC server. In these scenarios, deploying an ad-hoc network of UAVs to compute offloaded tasks in a distributed fashion would greatly enhance the system’s performance in terms of energy consumption, delay, and reliability. Tasks should be divided into several parts and distributed among several UAVs to be computed in parallel. Some parts could also be offloaded to the ground MEC servers to reduce the burden on UAVs’ computation resources. The question of how to assign parts to UAVs and/or MEC servers should be carefully analyzed.

Last but not least, it is very important to consider UAVs deployment in closed and roofed environments. Almost all of the surveyed research projects assume network models wherein UAVs are deployed in free spaces and can fly freely toward IoT devices to establish close-range communication with them. In confined-environment applications such as smart homes, IoT devices could not be reached easily by flying UAVs due to the presence of several obstacles. In these scenarios, a cluster-based architecture where a cluster head is selected based on its reachability by the UAV among other factors would be beneficial.

7 Conclusion

UAVs’ high mobility, flexibility, swift and easy deployment, and line of sight communication features have made them attractive auxiliary technologies in providing different services to IoT infrastructure devices. In this survey, multiple recent projects in the area of UAV-assisted IoT systems have been classified, based on the services provides by UAVs to IoT devices, into four broad domains of UAV-assisted data-related services, UAV-assisted battery charging, UAV-assisted communications, and UAV-assisted MEC. At each category, the main points of each presented algorithm, system design, or architecture have been summarized. Finally, some useful propositions on how the works in this area could be extended in the future have been provided. We hope that this research would pave the way for interested researchers in identifying and solving challenging issues in the area of UAV-aided IoT systems.