Dynamic coverage control in unicycle multi-robot networks under anisotropic sensing

This paper considers dynamic coverage control for non-holonomic agents along with collision avoidance guarantees. The novelties of the approach rely on the consideration of anisotropic sensing, which is realized via conic sensing footprints and sensing (coverage) functions for each agent, and on a novel form of avoidance functions. The considered sensing functions encode ﬁeld-of-view and range constraints, and also the degradation of effective sensing close to the boundaries of the sensing footprint. Thus, the proposed approach is suitable for surveillance applications where each agent is assigned with the task to gather enough information, such as video streaming in an obstacle environment. The efﬁcacy of the approach is demonstrated through simulation results.


INTRODUCTION
Mobile sensor and robotic networks have been of major research interest during the past decade, in part due to their usefulness in applications ranging from surveillance and monitoring, to situational awareness, to tasks involving industrial and domestic robots (e.g., for painting, floor cleaning, lawn mowing). A mobile sensor or robotic network is typically realized as a group of agents, which are characterized by local sensing capabilities and which need to collaborate to achieve a global objective, often addressed as coverage.
Coverage is typically classified into static coverage control and dynamic coverage control. The static coverage control problem mainly addresses the optimal placement of sensors to cover a region and reduces to finding control laws, which deploy mobile sensing agents to the centroids of Voronoi cells in a Voronoi partitioning of a given domain (Cortes et al., 2004;Cheng and Savkin, 2010;Ferrari et al., 2010;Schwager et al., 2011;Zhong and Cassandras, 2011). On the contrary, the term dynamic coverage control has traditionally been used to describe problems where a group of mobile sensing agents is deployed to search an area sufficiently well over time, see, for instance, Hokayem et al. (2007), Hussein and Stipanovic (2007), Atinç et al. (2013), and Stipanovic et al. (2013) and the references therein. The main concept, which realizes sufficient (or effective) coverage, is a parameter C*, which is associated with the amount of time that a sensing agent should spend on every point of the area. One common thread in earlier work on dynamic coverage is the consideration of isotropic sensing for each agent, which is realized as a bell-shaped sensing function over a circular sensing footprint. Nevertheless, although this model is suitable for agents carrying sensors such as laser range finders, it is not pertinent for agents with onboard cameras. This paper is in part motivated by surveillance applications where vision is the main means of sensing and information gathering and addresses dynamic coverage for multiple non-holonomic agents along with collision avoidance guarantees. We extend our earlier work  by considering a new dynamic coverage and avoidance control design, which can be implemented in a decentralized fashion. The main difference here is the consideration of (i) anisotropic sensing, realized via conic sensing footprints and conic sensing (coverage) functions for each agent, and (ii) a novel form of avoidance functions. The considered sensing functions encode field-of-view and range constraints, and furthermore the degradation of effective sensing close to the boundaries of the sensing footprint. In this spirit, the proposed control design is suitable for surveillance tasks, where a group of robots is assigned with the task to gather enough information about an environment (such as video streaming or snapshots) locally, while avoiding collisions. More specifically, the considered scenario in this paper addresses the case of non-holonomic robots, each one carrying a forward-looking camera of limited angle-of-view and a rear proximity sensor, such as a laser scanner. Each robot is thus capable of detecting objects both in the forward and the backward looking direction, and more specifically, objects lying within the finite conic sensing footprints dictated by the available sensor limitations. The dynamic coverage control is defined as ensuring that each point of a domain of interest is sensed by the forward-looking sensing footprint of at least one agent (that is, the same point may be sensed by more than one agent) for a sufficient amount of time. A coverage error function encoding this objective is defined for each agent, and control laws, which guarantee that this error is driven to zero, are designed. The local encoding of coverage capability through the adopted error function implies that agents may stop moving before the entire domain has been sufficiently covered. For www.frontiersin.org this reason, a supervisory logic is additionally implemented; this is realized as the exchange of information among agents regarding their individually covered areas, so that at least one agent has knowledge of the entire coverage map, and the selection of waypoints in the uncovered area toward, which the agents are forced to move after their individual coverage errors have become arbitrarily close to zero. The implementation for the supervisory logic is based on Atinç et al. (2013) and further refined to the conic sensing and coverage models considered here. Avoidance is considered only pairwise in this paper, and is implemented through novel avoidance functions, which are compatible with the available conic sensing footprints. Extending this encoding to multi-robot avoidance control is currently ongoing work.
The consideration of anisotropic sensors for coverage control problems has been also considered in Gusrialdi et al. (2008a,b), Laventall and Cortes (2008), and Hexsel et al. (2013); however, these contributions refer to static coverage problems, i.e., to agents covering areas in a deployment sense, and therefore are not relevant to the dynamic coverage formulation presented here. To the best of our knowledge, the most relevant work to this paper is Franco et al. (2012), which addresses vision-based dynamic coverage for mobile robots. Yet, the current paper differs in the sensing modeling, which is realized via a novel form of conical functions, as well as in the proposed coverage and avoidance control strategies, which here are based on novel coverage and avoidance functions.
A shorter version of this paper appeared in Panagou et al. (2014). The current version includes the complete technical analysis on the considered control design, which is omitted in the conference version in the interest of space, and additionally presents a way of addressing the "global" coverage objective via a supervisory logic, which eliminates the limitations of the "local" dynamic coverage control design. The difference between global and local coverage will become clear in later sections.
The paper is organized as follows: Section 2.1 describes the system modeling along with the sensing constraints and functions. Sections 2.2 and 2.3 include the novel formulations regarding the (local) coverage and collision avoidance control, while the technical analysis on the proposed control strategies is presented in Section 2.3.3. Simulation results are reported in Section 3, along with a way of addressing the global coverage objective. Section 4 summarizes our results and thoughts on future research, followed by some pertinent acknowledgments.

PROBLEM FORMULATION
Consider a group of N mobile agents, whose motion is governed by unicycle kinematics:  Each agent is assumed to be equipped with a fixed onboard camera of limited angle-of-view and furthermore to be able to detect objects, which lie within a limited region (w.r.t) the forwardlooking direction. The limited sensing region of agent i is realized as a circular sector S i of angle 2α i and radius R i , where R i > 0, α i ∈ (0, π /2) ( Figure 1).
Furthermore, each agent is assumed to have a rear proximity sensor, whose sensing footprint S i is for simplicity modeled as the symmetric circular sector of S i (w.r.t) the y B i body-fixed axis of agent i. In that respect, each agent i is able to detect objects lying within a limited range in the backward direction as well. The role of the rear proximity sensor is to ensure that each agent i is able to detect and avoid objects (obstacles and other agents j = i) when forced to move backwards.

Modeling of conic sensing footprints
Consider the functions c ki : R 3 → R defined as: where k ∈ {1, 2, 3},p = [xỹ] T is the position vector of a point T is the position vector, and θ i (t ) is the orientation of agent i at time instant t, and is the angle of a pointp ∈ R 2 (w.r.t) the body frame B i of agent i at time instant t. The region of the state space where all functions equation (2) take non-negative values encode a circular sector S i of radius R i and angle 2α i centered at p i (t ). This circular sector models the forward-looking sensing footprint for agent i (Figure 1). For simplicity, in the sequel, we assume that all agents have the same sensing capabilities, i.e., that R i = R, α i = α.
Let us now note that the barrier function: Frontiers in Robotics and AI | Multi-Robot Systems tends to +∞ as the k-th constraint c ki → 0 + , i.e., as a pointp on the interior of the set S i approaches the boundary ∂S i of S i . To keep notation compact, denote max{0, c ki } = C ki , k ∈ {1, 2, 3}, and consider the function: which is zero on the exterior of the sensing footprint S i , zero on the boundary ∂S i except for at the points where any two of the constraints c ki are concurrently zero, and positive on the interior of S i . Furthermore, equation (4) tends to zero as the k-th constraint c ki → 0 + (Figure 2). We define that the sensing function S i is zero at the points where any two of the constraints are active at the same time.
In this respect, the function S i can be used as a realistic modeling of the available sensing capability, in the sense that the quality of sensing typically degrades as an object lies far from the camera or close to the boundaries of the camera angle-of-view. In other words, the function S i encodes that sensing of objects (or, in other words, "seeing") becomes less effective as these lie closer to the boundaries of the sensing footprint S i of agent i.

COVERAGE CONTROL
Given a compact region D, we are interested in deriving control strategies, which guarantee that the agents cover (or search) the whole region up to a satisfactory level. In other words, the term satisfactory coverage denotes that each pointp of D should be sensed by at least one agent for a sufficient amount of time. In order to mathematically capture the notion of satisfactory coverage, we use a positive constant C*. The value of this constant is chosen depending on how well we would like to search the area; more specifically, larger values of C* are meant to force each agent to spend more time sensing each point on the domain.

Coverage error function
The coverage error for the i-th agent is defined as: where D is the compact region to be covered and C* is the positive constant realizing the satisfactory coverage level. A meaningful choice of the value C* is to pick C* ≥ t max S i , where t is the least amount of time that an agent needs to spend on each pointp of the domain D and max S i is the maximum value of the sensing function equation (4). The time derivative of equation (6) reads: Remark 1. In general, the derivative of the area integral of a function f (t ,x,ỹ) over a compact region D(t ), which is bounded by a closed curve C(t ), which is continuous and consists of smooth arcs, is given as: FIGURE 2 | The considered sensing model S i (t ) for agent i, given by equation (9). The agent is positioned at p i = | − 2 − 4| T and its orientation is θ i = π /3.

www.frontiersin.org
where: with the integration performed along the counterclockwise direction. It can be shown that for the considered sensing function Q i (t ,x,ỹ), which is exactly zero almost everywhere on the boundary C(t ), the term I (t ) is zero. This justifies why the term involving the line integral has been dropped in equation (7). The same holds later on for the time derivative equation (9) of the modified error function equation (8).
As discussed in Stipanovic et al. (2013), the use of equation (7) as a candidate Lyapunov-like function for guaranteeing the accomplishment of satisfactory coverage is not a good choice, in the sense that this function may become zero when the S i (·) term becomes zero, and this condition may occur, for instance, when agent i leaves the domain D. Thus, the following modified error function is utilized instead as a Lyapunov-like function: where S* > N max S i a positive constant; this functional is negative and vanishes when the term h C − Q i (t , q i ,p) becomes zero, i.e., only when the satisfactory coverage level C* for a pointp ∈ D has been achieved. The time derivative of equation (8) reads as in equation (9), where : and is further rewritten as: where: As the functional equation (8) is non-positive, it follows that for the errorê i (t ) converging to zero, it suffices that its time derivativė e i (t ) is non-negative . Theorem 1. If agent i moves under the control law: where k cov u , k cov ω > 0, then the modified coverage error equation (8) converges to zero. This in turn implies that the coverage error e i (t ) defined by equation (6) converges to zero.
Proof . Under the control law equation (11), the time derivative equation (10) of the modified error function equation (8) is non-negative; as explained earlier, this implies that equation (8) is

Frontiers in Robotics and AI
Thus, the control inputs equations (11a) and (11b) vanish on the set , which further reads that the control inputs equations (11a) and (11b) vanish on the set P = P 1 ∪ P 2 , where: The set P 1 reads: This further reads that the control law equation (11) vanishes on the set P 1 , which contains the pointsp ∈ int(S i ) for which the effective coverage level C* has been reached, or equivalently that the control law equation (11) vanishes when the coverage error equation (6) becomes zero.
Remark 2. This physically means that agent i does not stop moving (u cov i (t ) = 0, ω i (t ) cov = 0) unless at some time t it holds that all the pointsp ∈ int(S i (t )), which are contained in the interior of the sensing footprint S i at time t have been effectively covered.
Let us now consider the set P 2 . The first condition in P 2 reduces to the set Furthermore, the concurrent satisfaction of the second condition reduces to the subset of A i described as Geometrically, this condition describes the set of pointsp ∈ A i where the gradient vector ∂S i /∂p i is orthogonal to the body-fixed axis x B i of agent i, or the set of points p ∈ alA i where ∂S i /∂p i = 0. Let us take the analytical expression of the gradient vector ∂S i /∂p i evaluated at the pointsp , not the interior int(S i ) of the set S i ), and furthermore that the gradient ∂S i /∂p i on A i is colinear with, i.e., can not be orthogonal to, the body-fixed axis x B i . Consequently, one has that O i = ∅, which implies that P 2 = ∅, hence P = P 1 . Thus, the control law equation (11) ensures that the coverage error e i (t ) equation (6) converges to zero, which furthermore reads that the agent does not stop moving before all the pointsp ∈ int(S i (t )) have been effectively covered. This completes the proof. Remark 3. The coverage error e i (t ) equation (6) encodes whether agent i has effectively covered the area included in the sensing footprint S i (t ) only, i.e., it does not provide any measure on whether the entire domain D has been effectively covered. Furthermore, the control law equation (11) vanishes when all the pointsp ∈ int(S i (t )) have been effectively covered, which means that the agent stops moving before the entire domain D has necessarily been covered. Coverage of the entire area requires the use of a supervisory logic, which is presented in Section 3.
Remark 4. The control law equation (11) depends on the current state q i (t ) = p T i (t ) θ i (t ) T of each agent i, only. In other words, it requires information, which is locally available to each agent i, and as thus it can be implemented in a decentralized fashion.

AVOIDANCE CONTROL
The safety requirement for the robotic network dictates that each agent i should avoid collisions with any other agent j = i, where i, j ∈ {1, . . ., N }, and with any physical static obstacles in the domain D.

Avoidance functions
The avoidance control between agents i and j has been encoded in Stipanovic et al. (2013) via functions of the form: where R ij > r ij > 0. These functions' development was motivated by the concept of avoidance control, which was introduced and further developed by Leitmann andSkowronski (1977, 1983), Leitmann (1980), Corless et al. (1987), and Corless and Leitmann (1989). The function equation (12)  (ii) a detection circular region of radius R ij centered at p i = [x i y i ] T , which models the footprint of sensors such as omni directional laser scanners or range finders.
In the sequel, it is considered that all agents have homogenous detection and safety regions, i.e., R ij = R, r ij = r, ∀i, j ∈ {1, . . . , N }. Define the vector p ij := p i − p j and denote with ||·|| the standard Euclidean norm. The function v ij is zero for ||p ij || > R, i.e., when agent j lies out of the detection region of agent i, and tends to +∞ as ||p ij || tends to r, i.e., as agent j tends to the safety region of agent i. For reasons that will become clear later on, we consider the scaled function: so that V ij takes its values in the interval (0,1), see also whereas the gradient (12) (w.r.t), the state vector q j = [p T j θ j ] T reads: . Let us note that:

Encoding collision avoidance
Avoiding collisions should be encoded in a way consistent with the available sensing constraints. Each agent i is assumed to be capable of detecting objects (static obstacles and other agents j = i), which lie in its sensing area S i and therefore the motion of agent i should be collision-free (w.r.t) any object lying within S i (Figure 4).
To this end, we not only need to encode that an agent i should keep a safe distance ||p ij || ≥ r (w.r.t) an agent j = i but also to encode that this requirement takes effect only for agents j lying in the sensing area S i of agent i. Assume that an agent j has entered the region S i . The active constraint function c 3i : encodes that agent j lies on the boundary of S i at the time instant t and becomes visible to agent i. A meaningful maneuvering for agent i could be then to move so that agent j gets out of S i . We thus consider the angle 0 < β < α and penalize the position trajectories p j (t ) = [x j (t ) y j (t )] T of agent j from approaching the interior of the set S i where the angle |φ ij (t )| has value less than β. To this end, we take:

Frontiers in Robotics and AI | Multi-Robot Systems
and, in a similar spirit to the definition of the avoidance function equation (12), define the function: The function w ij is: (i) zero for |φ ij | ≥ α i.e., on the exterior of the set S i , (ii) positive when the second argument in the minimum function gets negative values, i.e., for β < |φ ij | < α, and (iii) tends to +∞ as |φ ij | tends to β. In this sense, it can be used as a Lyapunov-like function encoding that the value of the angle trajectories |φ ij (t )| should always remain greater than β.

The gradient
the state vector q i = p T i θ i T reads: whereas the gradient (12) (w.r.t), the state vector q i = p T j θ j T reads: . Note that: Again, we take the scaled function: so that W ij takes its values in the interval (0,1), see Figure 5.
In order to combine equations (13) and (19) into a single function that varies between zero and one, define: which vanishes when at least one of the functions in equation (13), equation (19) vanishes, and varies in (0,1) anywhere else. However, this function does not penalize system trajectories with |φ ij (t ) < β| from tending to ||p ij || = r, or in simpler words, it does not encode that agent i maintains a safe distance ||p ij || > r (w.r.t) agent j when |φ ij (t ) < β|. For this reason, we consider the function: and encode the transition between the functions P ij , V ij as: This function now encodes that for |φ ij | < β one has σ ij = 0 and as thus A ij = V ij . This further reads that the term equation (13) is active in this region of the state space, rendering the desirable avoidance objective. The function equation (22) is depicted in Figure 6 for agent i positioned at The bump function equation (21) defines three regions in the state space of agent i, in which the expression of equation (22) reads: It can be easily verified after some algebraic calculations that: Then, making use of equations (15) and (18)

FIGURE 6 | The avoidance function A ij given by equation (22).
is straightforward to verify that the following symmetry relation between the gradient vectors of A ij (w.r.t), the position vectors p i and p j holds everywhere: Of course, the analytical expressions of ∂A ij /∂p i in each of the three regions of the state space of agent i do not coincide, as it will furthermore become evident in the next section.
Finally, note that the construction of a conical avoidance function for agent i (w.r.t) an agent j lying in the backward sensing footprint S i follows exactly the same logic, with the difference that Frontiers in Robotics and AI | Multi-Robot Systems the angle φ ij takes values in the interval [π + θ i − α, π + θ i + α], instead of the interval [θ i − α, θ i + α], and is omitted here in the interest of space.

Control strategy for pairwise collision avoidance
The function A ij given by equation (23) serves as an encoding of collision avoidance for agent i (w.r.t) agent j. Studying the evolution of its time derivative (w.r.t), the system trajectories may thus offer a way of designing control strategies that realize the safety of the overall multi-agent system. The time derivative of equation (23) reads: where , k ∈ {i, j}. Theorem 2. Assuming pairwise interactions among agents, collisions are avoided under the control strategy: where (u cov i , ω cov i ) is given by equation (11) and Proof . Let us study the evolution of the time derivative of equation (23) in each region of the state space.

Region R 1
In this region, one has: σ ij = 1 ⇔ |φ ij | ≥ α. Then, out of equation (23): A ij = 0. This implies that agent i does not take into account the collision avoidance objective for any agent j = i which lies out of the sensing area S i . The linear and angular velocity for agent i may thus be dictated by the coverage control law equation (11).

Region R 2
In this region, one has: 0 < σ ij < 1 ⇔ β < |φ ij | < α. Then out of equation (23): The analytical expression of the gradients involved in equation (25) in this case is given by equation (28), where: Plugging equation (28) into equation (25) yields equation (30): Furthermore, in this region of the state space one has that: min p j ∈S i (|p ji T cos θ i sin θ i ) = r cos α. 1 Consequently, it suffices to pick the avoidance control gain: (c) u cov j < 0 and p ji T cos θ j sin θ j ≥ 0: same as case (b). (d) u cov j < 0 and p ji T cos θ j sin θ j < 0: same as case (a).

Region R 3
In this region, one has: σ ij = 0 ⇔ |φ ij | ≤ β. Then out of equation (22): A ij = V ij . Then: This case reduces to equation (31) after setting σ ij = 0; thus, the same analysis as in the previous case follows regarding the linear velocity u i , which is set equal to u av i equation (27a). The angular velocity ω i is set equal to ω cov i . The angular velocity control law equation (27b) for agent i requires information involving the state and control vectors of agent j, through the effect of dp j /dt. Denote p ij = [y ij −x ij ] T the orthogonal vector to p ij and consider the analytical expression of equation (27b), which reads: The first term of equation (36) depends on the state vector of agent i only, and dictates that agent i should rotate clockwise (recall that we are considering the case φ ij > 0), forcing thus the sensing area S i away from agent j.
Finally, we would like to explore conditions under which the resulting maneuvering is sufficient for ensuring collision avoidance but without the need for information exchange between agents i and j, i.e., under the assumption that agent i does not sense or measure the linear velocity u j and the orientation θ j of agent j and vice versa. This may also be seen as a robustness feature in the presence of communication failures.
To study the effect of the motion of agent j through u j and θ j in equation (36), we consider the following two cases: 2.3.6.1. Agent i lies in the sensing area S j of agent j. Then, equation (36) further reads: 0.2. The sensing and coverage parameters are R = 6, r = 3, α = π /6. The agents know the positions and the geometry of the obstacles. The agents have also the ability of broadcast information to other agents regarding the areas they have individually covered, so that at least one agent (called the supervisor) has access to the globally covered area. In Figures 7-9, dark blue stands for totally uncovered area (i.e., zero time has been spent on these points of D by the agents footprints), dark red stands for totally covered area (i.e., agents footprints have stayed on these points of D for the satisfactory amount of time encoded via C*), while color variations between dark blue and dark red stand for partially covered area, i.e., for points of D, which have been sensed by the agents footprints but not for the satisfactory amount of time.
The coverage level at initial time t = 0 is zero. Figures 7 and 8 depict the evolution of the coverage level over time under the control strategy equation (26) up to the time when all agents' coverage errors equation (6) become very small, implying that the agents have practically stop moving. The boundaries of the sensing footprints are depicted with white lines. Focusing on the interior of the sensing footprints during at simulation time t = 1, one may notice that the color remains darker blue on the points closer to the boundaries of the footprints, while it gets lighter blue on the points closer to the centers of the footprints. This is consistent with the definition of the sensing function equation (4) and the coverage error equation (6) for each agent: recall that the sensing function equation (4) takes lower values close to the boundary of the sensing footprint, encoding that the sensor performance ("seeing") is not good enough there, and higher values on the points in the interior and far away from the boundary, encoding that sensing performance is better there. Thus, more time is required to sense the points close to the boundary of the sensing footprint up to the satisfactory coverage level, and this is encoded via the coverage error equation (6). For this reason, the points in the interior of the sensing footprint but far away from its boundary turn red sooner than those closer to the boundary. Note also that the agents' coverage errors equation (6) are exactly what sets them in motion via their coverage control laws equation (11). In other words, as long as the agents' footprints touch points in D where the satisfactory coverage encoded via C* has not been met, their control inputs realized via equation (11) are non-zero and therefore the agents keep moving toward zeroing their coverage errors.
In general, the area of the satisfactorily covered regions by a given number of agents under the control law equation (11) depends on the coverage (sensing) function equation (4), the parameter C*, the control law gains in equation (11), and the initial conditions. As expected and explained in Section 2.2, the agents may stop moving before the entire area D has necessarily been covered up to the satisfactory level. Let us define the global coverage error E(t ) as the non-satisfactorily covered area at time t. In the considered scenario, the agents stop moving before the global coverage error E(t ) has converged to zero; more specifically, the agents stop moving when almost 76% of the domain D has been sufficiently covered at time t = 180, as illustrated via the evolution of the (normalized) global coverage error E(t ) in Figure 10A.
A way to bypass this limitation is to additionally consider a global coverage controller, implemented by a supervisor agent who has an access to the coverage map of the environment, i.e., to the global coverage error E(t ) at each time instant t, in the spirit proposed in Atinç et al. (2013). We modify the strategy in Atinç et al. (2013) to be compatible with the conic sensing footprints considered here. More specifically, we implement the following logic: • If the normalized coverage error E(t k ) is non-zero at some time instant t k and its absolute rate of change, realized as the difference |E(t k ) − E(t k−1 )/t k − t k−1 | drops below a predefined level, then this physically means that the agents have driven their coverage errors e i (t ) very close to zero. Thus, the supervisor agent needs to select new waypoints within the uncovered areas toward which the agents will move. • The selection of waypoints is performed under the (heuristic) formula suggested in Atinç et al. (2013), which provides the closest point in the uncovered region of the domain D for each one of the agents. This search for the closest uncovered point in principle returns points, which lie on the boundaries between covered and uncovered regions, see also Figure 9, the waypoints depicted as black circles. • The motion of the agents toward their waypoints can be guaranteed to be safe under the algorithms in our prior work (Panagou et al., 2013); nevertheless, the motion of the agents toward their waypoints is not simulated here. • Once an agent has reached its assigned waypoint, it performs an in place rotation so that its sensing footprint touches the uncovered area and its coverage error defined by equation (6) becomes non-zero. Note that this maneuvering was not necessary in Atinç et al. (2013), as the sensing footprints considered there are circular; however, it is essential when it comes to conic sensing footprints. The agent switches to its coverage control law equation (11) and starts moving toward driving its coverage error equation (6) to zero. • This process, i.e., switching between local and global coverage controllers, is repeated as many times as necessary, so that the normalized coverage error E(t ) is forced to decrease and eventually to converge to zero.
During the selection of waypoints, the supervisor agent makes sure that waypoints close to physical obstacles or points, which will result in agents approaching closer than the safe distance are excluded. Note also that the shape of the uncovered areas cannot be predicted a priori, as this would involve the computation of the forward reachable sets of all agents for any possible initial condition, something which is impossible due to the curse of dimensionality (or state explosion) even when only few agents are concerned. However, given the aforementioned constraints, it is not impossible that searching for the closest uncovered point may not provide a feasible solution. Thus, the supervisor additionally monitors whether this search produces new waypoints for the agents, otherwise it selects waypoints, which lie in the interior of the uncovered areas in a randomized way, i.e., does not pick the closest uncovered points. This is the case at time t = 263 s, where under this selection two of the agents are forced to move to waypoints lying in the interior, not the boundary, of the uncovered area. The evolution of the (normalized) global coverage error E(t ) including the periods when the supervisory logic is active is depicted in Figure 10B. The error E(t ) is decreasing, and the switching between global and local coverage controllers can be repeated as many times as necessary until it converges to zero.
The formalization of these set of rules within a suitable control theoretic framework, e.g., by means of switched systems theory, so that specific performance guarantees can be acquired for the supervisory controller is beyond the scope of the current paper. Addressing questions such as how an agent, or a group of agents, can select waypoints in the uncovered areas in more efficient ways, i.e., not merely selecting the closed uncovered point, but rather try to select points, which satisfy various objectives, such as minimizing the total number of switches between local and global coverage controllers is ongoing work.
The evolution of inter-agent distances and agent-static obstacle distances under the proposed control strategy equation (26), i.e., before the supervisory logic takes action for the first time, is depicted in Figure 11A. The effect of the collision avoiding maneuvers imposed when pertinent by equation (26) becomes evident through the trajectories, which end up in the detection regions of the agents' . The detection radius is illustrated in green, while the avoidance radius, which encodes the minimum safe distance, is illustrated in red. The distances remain always greater than the avoidance radius, implying that the motion of the agents remains collision-free. Again, it is important to stress out that this strategy Frontiers in Robotics and AI | Multi-Robot Systems is suitable for pairwise interactions only, and for this reason the number of the agents and their initial conditions are chosen such that agents are not congested. Finally, the resulting agents' paths under equation (26) are illustrated in Figure 11B. Initial positions are depicted with dots, final positions are depicted with "x." It is worth noticing that some agents tend to travel larger distances compared to others, compare for instance the blue path over the green path. The reason is that the agent in green starts close to the boundary of the domain D, and therefore as it starts rotating toward zeroing its coverage error, its sensing footprint ends up touching outside the domain D, where the coverage error is by definition zero.

DISCUSSION
This paper presented a dynamic coverage control design for nonholonomic vehicles along with collision avoidance guarantees. The key difference compared to earlier similar work is the consideration of anisotropic sensing, which is relevant to vision-based control and surveillance applications. More specifically, we extended our earlier work (Panagou et al., 2013;Stipanovic et al., 2013) by considering a new dynamic coverage and avoidance control design, which can be implemented in a decentralizedfashion. The main difference here is the consideration of (i) anisotropic sensing, realized via conic sensing footprints and conic sensing (coverage) functions for each agent, and (ii) a novel form of avoidance functions. The considered sensing functions encode field-of-view and range constraints, and furthermore the degradation of effective sensing close to the boundaries of the sensing footprint. In this spirit, the proposed control design is suitable for surveillance tasks, where a group of robots is assigned with the task to gather enough information about an environment (such as video streaming or snapshots) locally, while avoiding collisions. The efficacy of the proposed control strategies has been demonstrated through numerical simulations for unicycle robots operating in a known environment populated with static circular obstacles.
Current work focuses on the consideration of supervisory logics to orchestrate efficient global coverage in a distributed sense along with certain performance guarantees, as well as on the consideration of agents with more complicated dynamics and constraints, such as Dubins-like vehicles.