Abstract
Keywords
1. Introduction
In recent years, the use of unmanned aerial vehicles (UAVs) in surveillance and monitoring tasks has been increased significantly. Missions, such as area coverage, may be repetitive or dangerous and as such can be solved in a more efficient and safe way using a controlled fleet of UAVs, as is highlighted in Bernard et al. (2011); Maza et al. (2011).
Area and perimeter surveillance are some of the most well-known UAV applications. Perimeter surveillance missions can be approached as a patrolling mission along a defined path - the perimeter - as in Elmaliach et al. (2008). On the other hand, area surveillance missions could be divided in two different problems: an area coverage path planning problem and a patrolling mission along that path.
The patrolling mission is useful in monitoring and surveillance applications. In this mission, the area has to be covered again and again. A frequency-based patrolling approach involves the frequency of visits as the parameter to optimize. In this paper, the maximal minimum frequency will be minimized, as in Baseggio et al. (2010).
Coverage path planning tries to build an efficient path for the UAVs which ensures that every point in the area can be monitored from at least one position along the path, as in Huang (2001). Minimizing the path length will be the criterion to optimize.
Area coverage is used in many applications such as monitoring in natural, industrial or civilian environments Daniel et al. (2011), search and rescue missions in distressing situations Wong et al. (2010), automated inspections, planetary explorations, intruder detection, and domestic applications such as vacuum cleaning Zhang et al. (2007).
The area coverage problem with sensor networks has been widely studied in the literature: Di Giamberardino & Gabriele (2008); Gobel & Krzesinski (2008); Hung & Lui (2010); Kordari & Blankenship (2008); Li et al. (2009); Saravi & Kahaei (2011). In this case, the challenge is to maximize the area to cover with a given amount of sensors, assuming a defined coverage range for each sensor. In a multi-UAV system - each UAV equipped with communication, navigation and sense capabilities allowing it to become a node of the mobile sensor network which can be steered to the region of interest.
In this paper, as in Maza & Ollero (2007), the area coverage problem is proposed with a team of aerial mobile robots. Then, the objective is not to maximize the covered area, but to minimize the time in which the whole area is monitored. A second objective could be to reduce the overlapping or redundancy in the covered area.
The multi-UAV approach potentially offers some technical benefits, such as easy and fast deployment, higher spatial coverage, ability to run repetitive missions, robustness against robot failures, etc. In addition, a multi-UAV system can perform the area coverage faster than a single UAV, as shown in Hazon et al. (2006).
So, the use of fleets of small UAVs in the surveillance problem, as in Beard et al. (2006) potentially increases the efficiency of the system to complete the mission. However, UAVs have limited communication range and memory capacity. Additionally, as they are more fragile, the loss of any UAV during the mission is more probable. Then, the coordination problem between all the robots, assuming that limitations, is an interesting issue.
The coordination problem involves two challenges: ‘What information should the UAVs interchange?' and ‘How should each UAV read that information?’ The ‘coordination variables’ and ‘coordination functions’, defined in McLain & Beard (2003), can be used to solve the problem. In this paper a ‘one-to-one’ strategy, where each pair of neighbours solve an independent coordination problem, is applied to obtain the whole team cooperation in the mission. In the previous work Acevedo et al. (2012) this approach is used for simple area surveillance and considering a homogeneous team of robots and rectangular areas without obstacles.
In this paper it is assumed that the UAVs can be heterogeneous since they can have different capabilities, such as different speeds, as in Meuth et al. (2009). The area coverage mission can be divided into sub-area coverage tasks and assigned to the UAVs depending of their capabilities.
Therefore, a distributed and decentralized approach, where each UAV can survey a section of the coverage path in an independent but coordinated way, is proposed in this paper. The presented algorithm forces UAV meetings where they exchange the minimum necessary information. The system allows obtaining an efficient, dynamic, fault-tolerant and scalable global solution from local algorithms. Also, it has to be robust to the loss of UAVs and adaptable to the UAVs' capabilities.
The paper is organized as follows. Section 2 summarizes other related work. Section 3 describes the adopted approach to optimize the solution and poses the problem to solve. Section 4 proposes an algorithm to coordinate the robots in the patrolling mission. Section 5 explains the coverage algorithm used to generate the covering path. Section 6 describes the proposed system for area and perimeter surveillance with aerial robots. Section 7 analyses the more important features of the obtained solution. Finally, section 8 offers some results of simulations to validate the approach and section 9 contains the conclusions and future developments.
2. Related work
The robot surveillance problem is the subject of many papers in the literature from designing a surveillance robot, as in Beainy & Commuri (2009), to proposing a complete frontier system to detect and avoid intruders, Darbha et al. (2010). In this paper, as in Bernard et al. (2011); Hsieh et al. (2007); Maza et al. (2011), the surveillance problem is approached using aerial systems.
The area coverage problem with mobile robots can be solved from two different approaches: on-line or off-line algorithms. In the on-line coverage algorithms the area to cover is unknown a priori, and step-by-step has to discover obstacles, compute their paths and avoid collisions. In Guruprasad et al. (2012), an on-line solution is proposed, in which both Voronoi spatial partitioning and coverage are handled in a distributed manner, with minimal communication overhead. On the other hand, in the off-line algorithms, as in Huang (2001), the robots have a map of the area and the obstacles, and can plan the path to cover the whole area.
Different approaches have been developed in the literature to solve area coverage path planning. Gabriely & Rimon (2001) and Hazon & Kaminka (2008) propose a method which creates a spanning tree and generate the coverage paths as the boundary around it. A neural network which creates a gradient field is proposed in Yang & Luo (2004), and the coverage path is obtained from the gradient field.
The Boustrophedon Cellular Decomposition, Choset & Pignon (1997), is one of the most well-known methods to obtain a coverage path. This technique implies the area division in smaller sub-areas that can be covered with a simple back and forth method. This method is extended to a multi-robot system with limited communications in I. Rekleitis & Choset (2004).
The use of a multi-robot system in the coverage problem has been addressed by many researchers in recent years. Hazon et al. (2006) proposes an on-line multi-robot algorithm based on approximation cell decomposition. Increasing the number of robots allows better performance and robustness when compared to single robot coverage. Multi-robot area coverage and patrolling has gained interest in recent years due to its relevance to various security applications. Many authors have focused on a frequency-based approach, maximizing the minimal frequency or guaranteeing uniform frequency, Elmaliach et al. (2008), or a maximal minimum frequency as in Baseggio et al. (2010), and others maximizing the chances of detecting an adversary trying to penetrate through the patrol path, Agmon et al. (2011).
In a similar way, authors such as Kingston et al. (2008) solve the patrolling mission using an approach based on ‘coordination variables’. The ‘coordination variables' can be defined as the minimum information that all the robots need to share to solve a problem in a coherent way from a distributed approach Ren (2006). Then, they allow coordinating the multi-robot system in a distributed and decentralized way to cooperate on common objectives using the minimum information exchange. The authors of Geng (2009) analyse how the ‘coordination variables' allow achieving consensus between the robots in few iterations. Based on the concept of ‘coordination variables’, but with less storage requirements, the ‘one-to-one' coordination is proposed in Acevedo et al. (2012) to solve an area surveillance mission with a team of homogeneous aerial robots in rectangular areas.
Other authors, as in Cheng & Dasgupta (2010); Cheng et al. (2009), address the area coverage problem with multiple robots using a team formation technique, i.e., a formation control instead of patrolling motion coordination.
Finally, given a set of aerial robots with different capabilities, the problem can be addressed as a coverage mission to divide into several different tasks to assign to the different robots according to their capabilities. So, the area coverage problem can be addressed as a task allocation problem, as proposed in Meuth et al. (2009) which uses probability decomposition in a system with different aerial and ground robots. In kook Yun & Rus (2010), the authors propose a decentralized task allocation to assign different workspaces to the robots. Also, other authors, as in Viguria et al. (2010), propose a distributed task allocation problem assuming communication constraints for surveillance missions with a group of aerial robots.
3. Frequency-based approach
A team of UAVs that has to monitor a defined area or perimeter to detect any unexpected event is considered. That event is assumed independent of the UAVs' motions, i.e., it is not an enemy which knows the defence strategy. Then, the probability
This definitions means that the probability
A patrolling mission along a given path implies repetitive visits to any position along the path by the patrolling agents (in this case mobile aerial robots) to optimize a defined parameter.
A frequency-based approach looks for a solution where the parameter to optimize is the frequency of visit to the path positions. There are some different frequency-based performance criteria, for example:
Uniformity criteria, where the aim is to obtain the same minimum frequency for all the points along the path.
Average frequency, which tries to maximize the average frequency for all the points along the path.
Maximal minimum frequency where the aim is to maximize the minimum frequency in which any point along the path is monitored.
3.1 Problem formulation
A patrolling mission with a team of heterogeneous aerial mobile robots to monitor an entire area or perimeter can be formally described as follows (see Fig. 1):

An area is surveyed by a team of quad-rotors with communication and storage limitations.
A set of
Each aerial robot
where
The coverage range function
Each aerial robot
where
where
Each aerial robot
The same communication range is considered for all the robots,
The function
where δ
The criterion to solve the problem will be to obtain a motion planning for each robot

An area is surveyed by a team of quad-rotors in an optimal manner.
3.2 Efficient solutions
Assuming a closed path defined as (4), a large enough communication range
Each aerial robot
Each aerial robot
All the aerial robots move - equally spaced - in the same direction along the path
where
Figure 2 shows a team of quad-rotors performing this solution.
In Acevedo et al. (2012), it is proved that the above solution minimizes the elapsed time since the last monitoring visit to all the positions along the path and that time can be computed as:
where
The uniform point-visit frequency is defined as
The work described in this paper looks for an extension of Acevedo et al. (2012) to teams of heterogeneous aerial robots, i.e., it is possible that not all the aerial robots can move with the same maximum speeds
Then, applying the previous solution implies either reducing the speeds of faster robots or adopting a solution without the slower robots. Namely, a fixed speed would be chosen, such as only the aerial robots with a greater speed could join the mission.
Assuming that the set of robots is ordered such as
ν1max ≤ ν2max ≤… ν
On the other hand, assuming that the communication range is not large enough, the previous solution does not ensure a continuous information exchange between all the robots.
Then a different solution, where the neighbour robots contact periodically, is proposed.
Each aerial robot
Each aerial robot
Each. mobile robot
The length
Neighbour robots have to travel in different directions,
The solution, keeping a periodical information interchange, is performed by a team of quad-rotors as shown in Fig. 3.

An area is patrolled by a team of quad-rotors in an efficient manner maintaining a periodical information interchange.
Using this solution, each robot spends the same time covering its own segment
The motion plan cannot accomplish the uniform criteria, however, it tries to optimize the maximal minimum frequency criteria. Then, it is possible to calculate the maximum elapsed time.
In the steady state, each aerial robot covers its own segment
The above solution ensures the periodical information exchange between all the UAVs.
4. Distributed patrolling algorithm
A distributed and decentralized algorithm should guarantee that a multi-agent system obtains a common objective from local decisions. In this case, the agents are the aerial robots and the common objective is that the robots move according to the distribution and motion plan described in the previous section to cover efficiently a path
In this case a ‘one-to-one’ coordination strategy is used. The ‘one-to-one’ coordination is based in the concept of ‘coordination variables’, but applied independently for each pair of contacting robots. The ‘one-to-one’ coordination strategy implies that when a pair of aerial robot contact, they share information about their actual tasks. Then the whole shared set of tasks is divided between each robot according to their capabilities.
In this case, each aerial robot shares the segment that they are covering. Then a new larger segment, consisting of the union of the two previous segments, is divided between the two aerial robots related to their maximum speeds (see Fig. 4).

When two quad-rotors contact, they share their actual patrolling segments and redistribute them according to their maximum speeds.
To apply the distributed algorithm, each aerial robot
The aerial robot tries to move at its maximum speed to cover its own segment in the minimum time, updating its local information meanwhile. Even if a robot knows it has reached the end of its own segment, it keeps on moving until it comes into contact with another robot or fixed station. A robot
When an aerial robot
Algorithm 1. Distributed patrolling algorithm.
Now, the aerial robot can compute its new segment to cover based on local and received information, see Algorithm 2.
Algorithm 2. Division segment algorithm.
Then, if any of the robots is out of its own segment, they travel together to the common endpoint between their segments, adapting their speeds. In the steady state, the neighbouring robots move in the opposite direction to force a periodical contact.
Finally, when an aerial robot arrives at the end of the path, it initializes its local information according to its direction and reverses it.
5. Area coverage path planning
An area coverage path planning should compute a path such that a robot travelling along it can monitor the whole area. Then, given an area
In this paper, a decomposition-based algorithm is proposed to calculate the coverage path. If the area to be covered is irregular and has obstacles, it is approximated by many regular areas without obstacles.
Then, the problem is to cover rectangular areas (four vertexes) and a list of rectangular (four vertexes) obstacles. Depending on the resolution, any irregular area with zones that cannot be accessed can be approximated, such as Fig. 5 shows.

Area approximation according to the circumscribing rectangle and the list of obstacles.
The Algorithm 3 receives the coverage range
For each obstacle

A rectangular area is divided into a list of sub-areas according to the list of inside obstacles.
Then, all the areas in the list

Simple coverage path planning strategy for simple rectangular areas.
Finally, the function ‘join’ is used repeatedly to join the nearest points along the paths in order to combine them into a single coverage path to survey the entire irregular area with obstacles.
Algorithm 3. Coverage Path Planning algorithm.
5.1 Coverage path quality
It is assumed that all the aerial robots move with their maximum speeds either if they move in a straight line or they are turning. Then, given that the entire area is always covered by the path, the best path will be the shortest path.
If the entire area without obstacles to cover measures
The above optimal length is sometimes infeasible, but it can be used as a reference to calculate the quality of a coverage path of length
6. Proposed system
A distributed system which takes into account the communications constraints will be proposed to solve the surveillance mission. Both the area and the perimeter surveillance problem will be solved as a patrolling mission. The path to patrol will be defined by the objective to survey: a perimeter or an area.
A modular system is proposed to solve the surveillance problem in a decentralized manner. The system can be applied to irregular areas with obstacles. Each module is in charge of different functions. Figure 8 defines the architecture.

Proposed system defined as set of independent modules.
The area
The control and navigation module stabilizes the UAV and guides it along a path, running the ‘move’ function. Also this module computes the robot's current position. The control and navigation module uses a model of the aerial robot.
The communication module runs the 'send’ and ‘receive’ functions to exchange information with any other aerial robot close enough (6).
The monitoring module executes the ‘update’ function. This module can update the information about the area which verifies the expression (2).
Given an area to cover, the path generator module calculates a path defined by expression (4), executing the Algorithm 3 described in section 5. If the mission is not an area of surveillance, but a perimeter surveillance, this module will compute the path as the defined perimeter.
Finally, the decision module executes the Algorithm 1 described in section 4, using the rest of the modules. In addition, the decision module executes the ‘divide’ and ‘fusion’ functions. Then, this module is in charge of coordinating the whole team in a distributed and decentralized way to cooperate in the surveillance mission. This module decides the altitude, speed, direction, etc. of the aerial robot, both to coordinate the patrolling mission and to select a different action according to the monitoring information
7. Solution analysis
The proposed system coordinates a team of heterogeneous aerial mobile robots to cooperate in surveillance missions, in such a way that any position in the area or perimeter to survey is monitored periodically.
One of the most interesting features offered by the system is that it is totally distributed, which is a useful approach when there is no permanently opened communication channel between all the robots. It is also a decentralized system as there is no leader which rules the rest of the team.
The proposed system allows each aerial robot to decide in a local manner its own next action to enhance the global performance. When two robots meet, they divide the path to patrol in order to reduce the elapsed time until any given point along the path is visited again. However, when a robot does not meet another one it continues patrolling, ensuring that there are no segments along the path not being patrolled.
The following subsections summarize other interesting features.
7.1 Convergence
The presented approach, where all the robots have the same coverage range, implies that all the robots will calculate the same covering path. Also, the proposed system forces the aerial robots to change direction in the path endpoints. So, it is ensured that all the robots will exchange information with their neighbour and each one can execute the distributed patrolling algorithm.
Then, it is necessary to check if the distributed algorithm converges to the desired solution (13). In Acevedo et al. (2012), it is proved that by using ‘one-to-one’ coordinations, the whole area can be distributed correctly between all the robots.
7.2 Robustness
Since the proposed system is decentralized, any robot failure can be recovered by the whole team. So, the proposed approach is dynamic and can deal with changes in the environment (number of robots, speed of robots, path length, etc.). The system is robust, flexible and fault-tolerant.
For example, assuming a fully steady state in the system, each robot
Now, they share the sum of their own segment plus the
7.3 Shared information in a finite time at the whole team level
Let us compute now the maximum time in which any information related to an event detected by a robot
7.4 Cooperative approach with heterogeneous robots
In the approach presented in this paper, the robots of the team cooperate to fulfil the surveillance mission. A cooperative approach allows taking advantage of the different capabilities of each robot. For instance, all the mobile robots have capabilities to detect intrusions, but only some of them can go to the intrusion position, some robots can move faster than others, etc.
The proposed approach tries to take advantage of the different capabilities of each robot to obtain a more efficient cooperative solution. For example, the fastest robots patrol larger segments than the slowest robots. Each robot covers a length according to its own maximum speed (13), optimizing the maximal minimum frequency-based criteria.
Also, assuming a team of
7.5 Scalable system
The proposed system is theoretically fully scalable. Each robot does not have to store information about all the rest of the team, but only its own local information. Also, each robot only has to interchange information with its neighbours, independently of the full size of the team. So, for each aerial robot the problem is always: a segment to cover and one or two neighbours to exchange information.
8. Simulation results with a team of heterogeneous quad-rotors
The Matlab simulations presented here are based on the ones performed by Etter et al. (2011), to test a leader-following algorithm. The authors have included some modifications to be able to test the proposed system. Therefore, the system has been implemented to be executed by each quad-rotor with a radio to exchange information.
A set of simulations has been performed with a team of six heterogeneous aerial robots to monitor an urban area with buildings (see Fig. 9). The aerial robot can fly with an altitude of 5 metres, so the buildings should be considered as obstacles. All the robots have low storage and communications capabilities. Pairs of robots can only communicate if the distance between them is less than 2 metres. Each aerial robot can only store information about the path to follow, the segment to cover, its own local states variables (speed, position,…) and an info vector about monitored events detected in the area. However, they cannot store information from other robots.

Simulation snapshots where the quad-rotors, the buildings and a black cylinder representing the path initial position are shown. A video with the simulation can be downloaded from http://grvc.us.es/staff/jjacevedo/IJARS2012/
Furthermore, all the robots have the same angle of vision to monitor the area: π/8. On the other hand, each robot could move with a different speed (between 0.25 and 0.5

The closed path generated with the Algorithm 3) is drawn in grey. The fixed obstacles are represented in black.
Now, the complete simulations will be detailed. In the first step of the simulation, five of the aerial robots start surveying the area, using the decentralized system proposed in section 6. Each robot executes the Algorithm 1 to patrol the same path. Figure 11 shows the positions along the path for all the robots. The system converges with a team of heterogeneous robots, from a distributed approach. All the aerial robots cooperate to survey the area. At time 1200 seconds, a sixth aerial robot goes into the area and runs the distributed algorithms to patrol the zone. The simulation results show how the system performs with the new team composition and converge to a more efficient solution. Finally, at time

Five heterogeneous quad-rotors perform an area coverage mission and the system converges to an efficient solution where the path length is correctly distributed according to their maximum speeds. At time
Finally, we present how information is detected and shared between all the aerial robots. Then, a simple variable (initialized to ‘zero') is included in the model, and when an aerial robot knows that someone is in its covering zone (defined by its position, its altitude and its angle of vision), this variable changes to ‘one’. When two robots come into contact, they interchange their info variables and store the maximum value.
Figure 12 shows how, at

Each colour represents a different aerial robot. When the value changes from ‘0’ to ‘1’, it means that a new robot has detected an event or has received information about a new event. The first ‘black’ change does not represent a robot, but indicates when the event happens.
The simulation results presented here show the convergence and the robustness (with dynamic team of robots). Also it is shown that the system performs well with heterogeneous UAVs (different capabilities) and that any information detected is shared among the whole team. The team of aerial robots works in a coordinated and cooperative manner. Figure 13 shows the maximum and average elapsed time, defined as (7), in the area.

The blue line indicates for each time the maximum elapsed time since the last monitoring visit to any position in the area along the time. The red line indicates the average value of the elapsed times in all the positions into the area along the time.
A non-cooperative approach is tested in the same scenario, where each aerial robot surveys independently the entire area (following the same path) without communication with the rest of the team. Figure 14 shows the maximum and average elapsed time in the area, using a non-cooperative approach where each aerial robot follows a random direction to travel along the path. Furthermore, the times in which the detection is known by each robot are shown in Fig. 15.

The blue line indicates for each time the maximum elapsed time since the last monitoring visit to any position in the area along the time. The red line indicates the average value of the elapsed times in all the positions into the area along the time.

Each colour represents a different aerial robot. When the value changes from ‘0’ to ‘1’, it means that a new robot has detected an event or has received information about a new event. The first ‘black’ change does not represent a robot, but indicates when the event happens.
Comparing the obtained results for the cooperative and the non-cooperative approach, it can be deduced that the proposed cooperative approach offers a more efficient solution (see figures 13 and 14) both for detecting or sharing event information (see figures 12 and 15). The maximum and average elapsed time is better using the proposed system.
On the other hand, the results show that when another aerial robot is included in the area the total performance of the cooperative approach is improved. However, with the inclusion of another aerial robot in the non-cooperative approach, the performance of the system has not been improved (see Fig. 14).
9. Conclusions
The area coverage problem with a team of heterogeneous mobile robots is studied in this paper, using a frequency-based approach.
A distributed system with a module architecture is proposed to solve the mission. Each module is in charge of different and independent tasks. The two main issues in the area coverage problem are the coverage path planning and the patrolling mission.
A decomposition-based approach and a slightly modified ‘back and forth’ strategy are used to generate a closed path which covers entirely any irregular area with fixed obstacles, minimizing the path length.
Assuming that all the aerial robots can calculate the same coverage path, the problem can be defined as a multi-robot patrolling mission where the maximal minimum frequency is the parameter to optimize. A ‘one-to-one’ coordination technique is proposed to distribute the whole area between the aerial robots in a decentralized manner and exchanging the minimum information.
The system offers some interesting features: it is robust against change in the team composition, converges to an efficient solution, is useful with teams of heterogeneous robot, is scalable and allows obtaining the cooperation of multiple robots in a distributed and decentralized manner. The Matlab simulation validates these features and shows how a cooperative approach is better than a non-cooperative approach.
Future developments will be aimed at obtaining a more efficient coverage system, considering the problem in a adversarial setting and applying the ‘one-to-one’ coordination in other kinds of task allocation problems from a distributed approach.
