## Distributed Adaptive Coverage Control of Differential Drive Robotic Sensors

Rihab Abdul Razak · Srikant Sukumar ·

Hoam Chung

Abstract This paper is concerned with the deployment of multiple mobile robots in order to autonomously cover a region Q . The region to be covered is described using a density function which may not be apriori known. In this paper, we pose the coverage problem as an optimization problem over some space of functions on Q . In particular, we look at L 2 -distance based coverage algorithm and derive adaptive control laws for the same. We also propose a modified adaptive control law incorporating consensus for better parameter convergence. We implement the algorithms on real differential drive robots with both simulated density function as well as density function implemented using light sources. We also compare the L 2 -distance based method with the locational optimization method using experiments.

Keywords Distributed control, Adaptive control, Coverage Control, Parameter convergence

## 1 Introduction

Cooperative control problems involving multi-agent systems have been widely studied in the literature. We consider multiple autonomous agents that work together to achieve an objective. Objectives include rendezvous where the agents try to converge to a common state, formation control where the agents try to maintain a given spatial formation and coverage control where the agents are deployed to cover a given region of interest. See Jadbabaie and Lin (2003);

R. Abdul Razak

IITB-Monash Research Academy

Tel.: +91-7592039470

E-mail: rihab@sc.iitb.ac.in.

S. Srikant

Dept. of Systems and Control Engg., Indian Institute of Technology Bombay.

H. Chung

Dept. of Mechanical and Aerospace Engg., Monash University.

Murray (2007); Olfati-Saber et al. (2007); Tanner et al. (2007); Cortes et al. (2004); Bullo et al. (2009); Song et al. (2011, 2013). These cooperative control algorithms find applications in surveillance, patrolling, environmental monitoring and sensing etc.

The agents communicate with each other using some communication topology which is described in terms of a graph where the nodes correspond to the agents and two nodes are connected if the two corresponding agents can communicate with each other. In most cases, communication graphs correspond to proximity graphs meaning that two agents communicate if they are close to each other. This also motivates the use of decentralized or distributed control strategies for efficient solution of multiagent problems where the control laws of individual agents are determined by the information exchange with their neighbouring agents See for example Murray (2007); Olfati-Saber et al. (2007); Bullo et al. (2009).

In this paper, we consider the problem of optimally covering a given region using multiple agents to sense a phenomenon/event of interest. The event of interest is described by a density function over the region. The density function can be thought of as giving the distribution of the intensity of the phenomenon to be sensed. For example, in case of mobile agents deployed to sense nuclear radiation over a region, the density function could be the intensity of radiation over the region. In this case, we would like the mobile agents which are deployed starting at some initial position to converge to some optimal configuration for sensing purpose.

The coverage problem in the locational optimization framework was investigated in in Cortes et al. (2004), where n agents are deployed to cover a convex region Q ⊂ R q . The problem was solved for agents with single integrator dynamics and known density function. In Schwager et al. (Apr. 10-14, 2007) and Schwager et al. (2009), the authors extend the algorithm of Cortes et al. (2004) using adaptive control for the case where the density function is not fully known. The density function is assumed to be linearly parameterized in terms of a vector of unknown constant parameters. They also propose a consensus term in the adaptation law which improves parameter convergence. In Cortes and Bullo (2005), the authors discuss spatial optimization problems closely related to coverage problems using gradient descent methods. In Hexsel et al. (2011); Guruprasad and Ghose (2013); Bopardikar et al. (2018), the authors talk about different versions of the coverage problem based on locational optimization by using different assumptions on the agent sensing capabilities. The adaptive coverage algorithms have been extended to nonholonomic robots in Luna et al. (2013); Abdul Razak et al. (2018). In many problems, it would be also be beneficial to estimate the parameters of the density function correctly along with the coverage task. In this case, the issue of parameter estimation becomes important. The parameters converge to true values provided an integral condition over the trajectories of the agents are satisfied which may not always be achieved. There are not many works in the literature which focus on the issue of parameter estimation in the context of coverage control.

In this work, we pose the coverage problem in a general framework. The agents located at different positions in the domain can be thought of as defining an agent density function . The coverage problem can then be posed as an optimization problem which seeks to minimize the distance between the original density function and the agent density function for some appropriately defined distance. This approach is more general in the sense that the locational optimization problem can be viewed as a special case of this formulation. We in addition look at the L 2 -metric for achieving coverage and derive adaptive control laws for differential drive robots. We also present a slightly modified adaptive control law using consensus over directed sub-graphs of the delaunay graph for improving parameter convergence. The algorithms described are tested on actual differential drive robots and a comparison is given between the L 2 -distance based approach and the locational optimization approach in Cortes et al. (2004); Abdul Razak et al. (2018). We are particularly interested in studying how the two approaches handle the problem of parameter estimation. A part of the current work has been presented at Razak et al. (2018).

In section 2, we formulate and discuss the coverage problem. In section 3, we discuss a new objective function based on L 2 -distance for achieving coverage. In section 4 we derive control and adaptation laws for differential drive robots to converge to near optimal configuration. We also discuss some improvements to the parameter adaptation law which gives better parameter convergence. In section 5 we discuss experimental results on differential drive robots and also give a comparison of the L 2 method with the locational optimization. Finally we conclude the paper with section 6.

## 2 Problem Formulation

We consider a bounded convex region Q ⊂ R n where N agents are deployed so as to spread and distribute themselves in an optimal manner with respect to a density function φ : Q → R + where R + is the set of positive real numbers. The density function φ . ( ) represents the event of interest with respect to which coverage is to be obtained (also called φ . ( ) the target density). Intuitively we want more robots to be concentrated over regions having higher values of the density function. The positions of the agents are denoted by p i for i = 1 2 , , . . . , N and the set of all agent positions is denoted by P . For a given configuration of agents P = { p i } N i =1 , we define the voronoi partition of Q as the set {V } i N i =1 where glyph[negationslash]

$$\mathcal { V } _ { i } = \{ q \in \mathcal { Q } \ | \ \| q - p _ { i } \| \leq \| q - p _ { j } \|, \ \forall j \neq i \}. \quad \quad ( 1 )$$

The voronoi cell V i is the set of all points closest to agent i compared to all the other agents. In Cortes et al. (2004), the optimal coverage configuration is

described as the optimum of the locational optimization cost

$$\mathcal { H } ( P ) = \sum _ { i = 1 } ^ { N } \int _ { \mathcal { V } _ { i } } \| p _ { i } - q \| ^ { 2 } \phi ( q ) d q$$

In this paper, we formulate the coverage problem in a more general framework, as an optimization problem over a space of functions over Q .

## 2.1 Distance Function based Approach

Each agent is assumed to have a sensing capability which decreases with the distance from the agent location. We quantify this sensing capability of each agent as the sensing function denoted by f i ( p , q i ). The sensing function describes the capability of the agent at position p i to sense event at point q . In this work we assume isotropic sensors whose sensing is independent of direction. We can thus represent the sensing function as f i ( ‖ p i - ‖ q ). We require f i : R + → R + to be an appropriate decreasing function of its argument. An illustration for the one-dimensional case is shown in figure 1. Given N agents

Fig. 1 Two agents covering the interval Q = [0 1] ,

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-97b8e91b-3dd6-4a02-a2e6-d4594e6e0679.jpg)

each with its sensing functions, we define an aggregate agent density function defined by

$$f _ { P } ( q ) \coloneqq \alpha ( f _ { 1 } ( \| p _ { 1 } - q \| ), f _ { 2 } ( \| p _ { 2 } - q \| ), \dots, f _ { N } ( \| p _ { N } - q \| ) )$$

where α : R N + → R + is an aggregation function which is to be chosen appropriately. The aggregate agent density gives a measure of the quality of sensing of the region Q using all the N agents. The general coverage problem can then be posed as the following optimization problem:

$$P = \{ p _ { 1 }, p _ { 2 }, \dots, p _ { N } \} \, d ( \phi, f _ { P } )$$

where d ., . ( ) is an appropriate measure of divergence or distance between φ and f P . The agents should move to a configuration such that the distance between

the target density φ and the aggregate agent density f P is minimized. The choice of d ., . ( ) will generally be determined by the class of functions we work with which depends on the nature of the coverage density function φ . ( ) as well as the nature of sensors in the mobile agents employed. The optimal locations of the agents is then given by

$$P ^ { * } = \{ p _ { 1 } ^ { * }, p _ { 2 } ^ { * }, \dots, p _ { N } ^ { * } \} = \arg \min _ { P } d ( \phi, f _ { P } )$$

2.2 Choice of the agent sensing functions and aggregate density

The agent sensing functions f i ( ‖ p i - ‖ q ) as mentioned above is required to be a non-increasing function of its argument, and depends on the nature of sensors. Some examples which we can be used are given below:

## 1. Gaussian function

$$\mathbb { h } _ { i } & & f _ { i } ( x ) = A _ { i } \exp \left ( - \frac { x ^ { 2 } } { \sigma _ { i } ^ { 2 } } \right ) & & ( 5 )$$

for some constants A &gt; i 0, σ i &gt; 0.

- 2. Constant sensing function

$$f _ { i } ( x ) = \chi _ { \{ x \leq r _ { i } \} }$$

where χ S is the characteristic function of the set S and r i &gt; 0 is some constant.

## 3. Quartic function

$$f _ { i } ( x ) = \begin{cases} \frac { M } { r _ { i } ^ { 4 } } \left ( x ^ { 2 } - r _ { i } ^ { 2 } \right ) ^ { 2 } & \text{if $x<r_{i}$} \\ 0 & \text{if $x\geq r_{i}$} \end{cases}$$

for some constants M &gt; 0 , r i &gt; 0.

- 4. Bump function

$$f _ { i } ( x ) = \begin{cases} A _ { i } \exp \left \{ - \frac { 1 } { 1 - \left ( \frac { x } { r _ { i } } \right ) ^ { 2 } } \right \} & \text{if $x<r_{i}$} \\ 0 & \text{if $x\geq r_{i}$} \end{cases}$$

for some constant A &gt; i 0, r i &gt; 0.

The constant sensing function, the bump function and the quartic function (unlike the Gaussian function) allow us to model sensors with a finite sensing range since they take zero value outside a finite region of radius r i around the agent position. Accordingly, we consider these functions as examples of limited range sensing functions, and the Gaussian function as an example of a full range sensing function. The choice of aggregate agent density f P ( ) could · be made in different ways. We give here two natural choices:

## 1. Average/sum function

## 2. Max function

$$f _ { P } ( q ) = \gamma \max _ { i } f _ { i } ( \| p _ { i } - q \| )$$

where γ is some positive constant. The max function defines the aggregate density at a point as the value of the agent sensing function with the maximum value at the point. If the agents are identical, then the aggregate density at a point in this case is the agent density corresponding to the agent that is closest to the point. We will see that this naturally leads to a partition of the region Q and allows using distributed control schemes.

## 2.3 Locational Optimization

Now, we consider the locational optimization problem defined by the cost function [see Cortes et al. (2004)]

$$\mathcal { H } ( p _ { 1 }, \dots, p _ { N } ) = \int _ { Q } \min _ { i } \| p _ { i } - q \| ^ { 2 } \phi ( q ) d q$$

$$= \sum _ { i = 1 } ^ { \cdot } \int _ { \mathcal { V } _ { i } } \| p _ { i } - q \| ^ { 2 } \phi ( q ) d q$$

where the domain Q is assumed to be compact and convex, p i are the locations of the agents and {V } i is the voronoi partition of Q corresponding to { p i } . The minimizer of the function H correspond to the centroidal voronoi configuration. These are the points p ∗ i such that p ∗ i = C V i where C V i = ( ∫ V i qφ q dq / ( ) ) ( ∫ V i φ q dq ( ) ).

We wish to pose the locational optimization problem in the general framework discussed above (equation (3)). In order to do that we consider the relative entropy or Kullback-Leibler divergence of two integrable functions f : Q → R + and g : Q → R + where g q ( ) &gt; 0, defined as

$$d _ { K L } ( f, g ) = \int _ { Q } f ( q ) \log ( \frac { f ( q ) } { g ( q ) } ) d q$$

d KL is not a metric (since it is not symmetric) but it is a measure of divergence (distance) of g with respect to f and d KL ( f, f ) = 0 [see Kullback and Leibler (1951); Press (2007)]. If we interpret the density function φ as defining the probability density of events occurring in the domain Q , and agent sensing functions as defining the probability of detecting an event, then minimizing d KL ( φ, f P ) would mean that we are choosing those agent positions which results in maximum likelihood of detection of these events.

$$f _ { P } ( q ) = \gamma \sum _ { i = 1 } ^ { N } f _ { i } ( \| p _ { i } - q \| )$$

## Proposition 1 Assume that

- -The target density φ . ( ) is integrable.
- -The sensing functions of the agents are gaussian (equation (5)) with A i = 1 and σ i = 1 .
- -The aggregate density function of the agents is given by the max function (10) with γ = 1 .

Under the above assumptions,

$$\underset { P } { \arg \min } \ d _ { K L } ( \phi, f _ { P } ) = \underset { P } { \arg \min } \ \mathcal { H } ( P )$$

i.e. minimizing d KL ( φ, f P ) is equivalent to minimizing H ( P ) .

Proof For each agent i

$$f _ { i } ( \| p _ { i } - q \| ) = \exp ( - \| p _ { i } - q \| ^ { 2 } )$$

and the aggregate density is given by

$$f _ { P } ( q ) = \max _ { i } \exp ( - \| p _ { i } - q \| ^ { 2 } )$$

Then,

$$d _ { K L } ( \phi, f _ { P } ) & = \int _ { Q } \phi ( q ) \log \frac { \phi ( q ) } { f _ { P } ( q ) } d q \\ & = \int _ { Q } \phi ( q ) \log \phi ( q ) d q - \int _ { Q } \phi ( q ) \log f _ { P } ( q ) d q$$

Since the first term is independent of P , we have

$$\text{inc the first term is independent of $P$, we have} \\ \min _ { P } d _ { K L } ( \phi, f _ { P } ) & = \min _ { P } - \int _ { Q } \phi ( q ) \log f _ { P } ( q ) d q \\ & = \min _ { P } - \int _ { Q } \phi ( q ) \log \max _ { i } f _ { i } ( \| p _ { i } - q \| ) d q \\ & = \min _ { P } - \int _ { Q } \phi ( q ) \max _ { i } \log f _ { i } ( \| p _ { i } - q \| ) d q \\ & = \min _ { P } \int _ { Q } \phi ( q ) \min _ { i } \| p _ { i } - q \| ^ { 2 } d q \\ & = \min _ { P } \mathcal { H } ( P ) \\ \text{can be shown [Cortes et al. (2004)] that for agents with single integratio. }........................................................................................................................................................................................................$$

It can be shown [Cortes et al. (2004)] that for agents with single integrator dynamics ˙ p i = u i , the gradient control law given by

$$u _ { i } = - \frac { \partial \mathcal { H } } { \partial p _ { i } } = - k M _ { \mathcal { V } _ { i } } ( p _ { i } - C _ { \mathcal { V } _ { i } } )$$

allows the agents to coverge to the centroidal voronoi configuration.

## 3 L 2 -distance based coverage

We assume that the target density φ belong to L 2 ( Q ). We further assume that φ is lower bounded, i.e., φ q ( ) ≥ β for some constant β &gt; 0. Assuming that the aggregate density of the agents also belong to L 2 ( Q ), we can define the following cost function

$$d _ { 2 } ( \phi, f _ { P } ) = \int _ { Q } | \phi ( q ) - f _ { P } ( q ) | ^ { 2 } d q$$

We now investigate the multiagent coverage problem using the above cost function. Any minima of the cost function d 2 ( ., . ) with respect to P satisifies the condition ∂d 2 ∂p i = 0 for every i . Let Q ⊂ R n be a convex and bounded region with N agents and let

$$f _ { P } ( q ) = \gamma \max _ { i } f ( \| p _ { i } - q \| )$$

where the agent sensing function f ( ) . is assumed to be the same for all the agents. Then

$$d _ { 2 } ( \phi, f _ { P } ) & = \int _ { \mathcal { Q } } \left | \phi ( q ) - f _ { P } ( q ) \right | ^ { 2 } d q \\ & = \int _ { \mathcal { Q } } \left | \phi ( q ) - \gamma \left [ \max _ { i } f ( \| p _ { i } - q \| ) \right ] \right | ^ { 2 } d q$$

Since f ( ) is a decreasing function of its argument, we can write the above as .

$$d _ { 2 } ( \phi, f _ { P } ) = \sum _ { i = 1 } ^ { N } \int _ { \mathcal { V } _ { i } } | \phi ( q ) - \gamma. f ( \| p _ { i } - q \| ) | ^ { 2 } \, d q$$

where {V } i N i =1 is the voronoi partition defined by equation (1).

Lemma 1 The gradient of the L 2 cost function (16) with respect to p i is given by

$$\frac { \partial d _ { 2 } } { \partial p _ { i } } = \int _ { \mathcal { V } _ { i } } \frac { \partial } { \partial p _ { i } } \left | \phi ( q ) - \gamma. f ( \left \| p _ { i } - q \right \| ) \right | ^ { 2 } d q$$

Proof Computing the gradient with respect to p i ,

$$\frac { \partial d _ { 2 } } { \partial p _ { i } } & = \frac { \partial } { \partial p _ { i } } \int _ { \mathcal { V } _ { i } } \left | \phi ( q ) - \gamma. f ( \| p _ { i } - q \| ) \right | ^ { 2 } d q \\ & \quad + \sum _ { j \in \mathcal { N } _ { i } } \frac { \partial } { \partial p _ { i } } \int _ { \mathcal { V } _ { j } } \left | \phi ( q ) - \gamma. f ( \| p _ { j } - q \| ) \right | ^ { 2 } d q$$

It should be noted that in the expression above the regions of integration V i and V j are themselves functions of p i . Thus we have [see Cortes et al. (May,

2002); Flanders (1973)]

$$\Gamma _ { J }, \, \sin \Delta \cos \left ( \Delta \sigma \Gamma _ { J } \right ) \\ \frac { \partial d _ { 2 } } { \partial p _ { i } } & = \int _ { \mathcal { V } _ { i } } \frac { \partial } { \partial p _ { i } } \left | \phi ( q ) - \gamma. f ( \| p _ { i } - q \| ) \right | ^ { 2 } d q \\ & \quad + \int _ { \partial \mathcal { V } _ { i } } \left | \phi ( q ) - \gamma. f ( \| p _ { i } - q \| ) \right | ^ { 2 } n _ { i q } ^ { \top } \frac { \partial q } { \partial p _ { i } } d q \\ & \quad + \sum _ { j \in \mathcal { N } _ { i } } \int _ { c _ { i j } } \left | \phi ( q ) - \gamma. f ( \| p _ { j } - q \| ) \right | ^ { 2 } n _ { j q } ^ { \top } \frac { \partial q } { \partial p _ { i } } d q \\ \intertext { w o n. i e t h o m d o w o f t h o w o r o n i o r o n } \, \Gamma _ { J }. \, \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \sin \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \sin \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \cos \Delta \sin \Delta \sin \Delta \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \sin \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \cos \osigma \Gamma _ { J }.$$

where ∂ V i is the boundary of the voronoi region V i , N i is the set of voronoi neighbours of agent i , n iq is the unit normal at point q pointing outward from the region V i and c ij is the boundary segment of voronoi region V i that is shared with the voronoi region of agent j ( V j ) [see also Cortes et al. (May, 2002)]. The boundary ∂ V i consists of segments c ij and possibly parts of ∂ Q (the boundary of Q ). The integrand of the second term is zero over ∂ Q . Thus the second and third terms in the above expression cancel each other (since the outward normals n iq and n jq in the two terms point opposite to each other) and the proof is complete.

As a simple example, consider Q = [0 1] with one agent with , f ( | p - | q ) = exp {-| p -q | 2 } =: f P ( q ). Assume the density function is given by φ q ( ) = exp {-| c - | } q 2 for some c ∈ (0 1). Minimizing the , L 2 norm implies ∂d 2 ∂p = 0 which implies from (17) that p = . c

## 3.1 Gaussian sensing function

Now consider the Gaussian agent density function, f ( ‖ p i - ‖ q ) = exp {-‖ p i - ‖ q 2 σ 2 } , i = 1 2 , , . . . , N . In this case the gradient becomes

$$\dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \delta ^ { 2 }, 2, \dots, N. \, \text{In this case the gradient becomes} \\ \frac { \partial d _ { 2 } } { \partial p _ { i } } & = \int _ { \mathcal { V } _ { i } } \frac { \partial } { \partial p _ { i } } \left | \phi ( q ) - \gamma. f ( \| p _ { i } - q \| ) \right | ^ { 2 } d q \\ & = \frac { 4 \gamma } { \sigma ^ { 2 } } \int _ { \mathcal { V } _ { i } } \left ( \phi ( q ) - \gamma. f ( \| p _ { i } - q \| ) \right ) ( p _ { i } - q ) \, e ^ { - \| p _ { i } - q \| ^ { 2 } } \frac { } { \sigma ^ { 2 } } d q \\ & = \frac { 4 \gamma } { \sigma ^ { 2 } } \left \{ p _ { i } \int _ { \mathcal { V } _ { i } } \left [ \phi ( q ) - \gamma. e ^ { - \| p _ { i } - q \| ^ { 2 } } \frac { } { \sigma ^ { 2 } } \right ] e ^ { - \| p _ { i } - q \| ^ { 2 } } \frac { } { \sigma ^ { 2 } } d q \\ & \quad - \int _ { \mathcal { V } _ { i } } q \left [ \phi ( q ) - \gamma. e ^ { - \| p _ { i } - q \| ^ { 2 } } \frac { } { \sigma ^ { 2 } } \right ] e ^ { - \| p _ { i } - q \| ^ { 2 } } \frac { } { \sigma ^ { 2 } } d q \right \} \\ & = \frac { 4 \gamma } { \sigma ^ { 2 } } \left \{ p _ { i } \int _ { \mathcal { V } _ { i } } \lambda _ { i } ( q ) d q - \int _ { \mathcal { V } _ { i } } q \lambda _ { i } ( q ) d q \right \} \\ \intertext { w e r e } \left [ \| p _ { i } - q \| ^ { 2 } \right ] ^ { 2 } \, \lceil \right ]$$

where

$$\lambda _ { i } ( q ) \coloneqq e ^ { - \frac { \| p _ { i } - q \| ^ { 2 } } { \sigma ^ { 2 } } } \left [ \phi ( q ) - \gamma \cdot e ^ { - \frac { \| p _ { i } - q \| ^ { 2 } } { \sigma ^ { 2 } } } \right ].$$

Thus we can write

$$\begin{array} { c } \dot { \varphi } \\ \frac { \partial d _ { 2 } } { \partial p _ { i } } = 4 \gamma M ^ { \lambda } _ { \nu _ { i } } ( p _ { i } - C ^ { \lambda } _ { \nu _ { i } } ) \end{array}$$

where we define

$$\mathcal { C } _ { \mathcal { V } _ { i } } ^ { \lambda } \coloneqq \frac { L _ { \mathcal { V } _ { i } } ^ { \lambda } } { M _ { \mathcal { V } _ { i } } ^ { \lambda } } = \frac { \int _ { \mathcal { V } _ { i } } q \lambda _ { i } ( q ) d q } { \int _ { \mathcal { V } _ { i } } \lambda _ { i } ( q ) d q }$$

In order to make sure that C λ V i is well-defined, we need the following:

Lemma 2 For 0 &lt; γ ≤ β (recall that β is the lower bound on φ ), λ i ( q ) ≥ 0 for q ∈ V i and i = 1 2 , , . . . , N .

Proof The second term in equation (20) an exponential and is always positive. The first term (in the square brackets) is non-negative if 0 &lt; γ ≤ β . Thus proved.

Remark 1 From the definition of C λ V i and lemma 2, we conclude that C λ V i ∈ V i for 0 &lt; γ ≤ β , i.e. C λ V i is contained in the convex set V i .

Remark 2 Choosing γ as per the above lemma guarantees that the aggregate density function of the agents f P ( ) . is scaled below the lower bound of φ . ( ) function. This might be detrimental to matching f P and φ if the lower bound β is very small and there is a large variation in φ . ( ). An alternative could be to add a constant bias to the density function. We will not however consider this case here and leave it for future work.

Remark 3 Although we have derived the expression for λ i 's assuming that the agent density functions f i are Gaussians, the above computations carry over to any definition of f i 's which are decreasing as a function of ‖ p i - ‖ q 2 .

Setting the gradient ∂d 2 ∂p i = 0 gives

$$p _ { i } = C _ { \mathcal { V } _ { i } } ^ { \lambda } = \frac { \int _ { \mathcal { V } _ { i } } q \lambda _ { i } ( q ) d q } { \int _ { \mathcal { V } _ { i } } \lambda _ { i } ( q ) d q }$$

Thus the critical points of the L 2 optimization problem is described by p i = C λ V i . λ i defines a density on V i and C V i is the generalized centroid of V i corresponding to the density function λ i . We call the critical point defined by p i = C λ V i ; i = 1 2 , , . . . , N as a generalized centroidal voronoi configuration corresponding to the λ i 's.

3.2 Control laws for single integrator agents

We assume that the agent dynamics are given by

$$\dot { p } _ { i } = u _ { i }, \quad i = 1, 2, \dots, N.$$

where p i ∈ Q q is the position of agent i and u i ⊂ R n is the control input. Then we have the following result.

Theorem 1 Consider N agents deployed in a convex and bounded region Q ⊂ R n . Let the agent dynamics be given by (24). Then the control law given by

$$u _ { i } = - K _ { p } ( p _ { i } - \mathcal { C } _ { \mathcal { V } _ { i } } ^ { \lambda } )$$

with 0 &lt; γ ≤ β and K p &gt; 0 , drives the agents to a minimum of the cost function (14) which is the generalized centroidal voronoi configuration with respect to the λ i 's.

Proof Consider the function

$$V ( t ) = d _ { 2 } ( \phi, f _ { P } )$$

Taking the derivative,

$$\text{ive}, & \quad \dot { V } = \sum _ { i = 1 } ^ { N } \frac { \partial d _ { 2 } } { \partial p _ { i } } ^ { \top } \dot { p } _ { i } = \sum _ { i = 1 } ^ { N } \frac { \partial d _ { 2 } } { \partial p _ { i } } ^ { \top } u _ { i } \\ & = \sum _ { i = 1 } ^ { N } \frac { 4 \gamma } { \sigma ^ { 2 } } M _ { \mathcal { V } _ { i } } ^ { \lambda } ( p _ { i } - \mathcal { C } _ { \mathcal { V } _ { i } } ^ { \lambda } ) ^ { \top } u _ { i } \\ \text{mtotal law. we } \sigma \text{et.}$$

Substituting the control law, we get

$$\dot { V } = - \sum _ { i = 1 } ^ { N } \frac { 4 \gamma } { \sigma ^ { 2 } } K _ { p } M ^ { \lambda } _ { \mathcal { V } _ { i } } \| p _ { i } - \mathcal { C } ^ { \lambda } _ { \mathcal { V } _ { i } } \| ^ { 2 }$$

V is continuously differentiable on the compact set Q , and Q is positively invariant with respect to the closed loop dynamics. Since ˙ V ≤ 0, from LaSalle invariance principle [Khalil (2002)], we conclude that the trajectories converge to the largest invariant set in { p i : ‖ p i - C λ V i ‖ = 0 } which is the set itself. Since the cost function V is decreasing with time, we see that it converges to a minimum. This concludes the proof.

Remark 4 The above control law is similar to the control law derived for the locational optimization case discussed previously [Cortes et al. (2004)] except that in defining the generalized centroid, φ q ( ) is replaced by the modified function λ i ( q ) for q ∈ V i .

## 3.3 Density function

In the sequel, we assume that the density function is unknown as will be the case in most practical scenarios. We will also assume that it can be linearly parameterized as [see Schwager et al. (2009)]

$$\phi ( q ) = \mathcal { K } ( q ) ^ { \top } a$$

where K ( q ) glyph[latticetop] = [ K 1 ( q , ) K 2 ( q , . . . , ) K p ( q ) ] is a vector of known basis functions evaluated at q ∈ Q and a ∈ R p is an unknown constant parameter vector. Here K i : Q → R + and a &gt; 0. Each agent estimates the parameter a to form the estimate for φ . ( ). Each agent is also capable of measuring the value of φ . ( ) at its current location. We also assume that the parameters are lower bounded, i.e. a i &gt; a min where a i is the i -th component of a .

Fig. 2 Robot Model

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-c0f68dda-fee5-49e5-a9ec-22088f168c45.jpg)

## 4 Control laws for Differential Drive Robots

In this section, we introduce the model for the differential drive robots, and derive the adaptive control laws.

## 4.1 Robot Model

The robot model is given by (see figure (2))

$$\left [ \begin{smallmatrix} \dot { x } _ { i } \\ \dot { y } _ { i } \\ \dot { \theta } _ { i } \end{smallmatrix} \right ] = \left [ \begin{smallmatrix} \cos ( \theta _ { i } ) & - d. \sin ( \theta _ { i } ) \\ \sin ( \theta _ { i } ) & d. \cos ( \theta _ { i } ) \\ 0 & 1 \end{smallmatrix} \right ] \left [ \begin{smallmatrix} u _ { i } \\ \omega _ { i } \end{smallmatrix} \right ] & ( 2 7 )$$

Here, p i = ( x , y i i ) glyph[latticetop] is the position of the centre point of robot i (this corresponds to the point which is tracked by the localization system). θ i is the orientation of robot i . The control input is given by v i = ( u , ω i i ) glyph[latticetop] where u i and ω i are the linear and angular velocity commands. d is the distance of the centre point from the wheel axis.

## 4.2 Adaptive Control Law

The control law derivation is similar to that in Schwager et al. (2009); Abdul Razak et al. (2018). We denote the estimate of parameter a of agent i at time t by ˆ ( ) and the measurement of a i t φ . ( ) by the agent i by φ i ( ) = t φ p ( i ( )) t where p i ( ) t is the position of agent i at time t . Now we define the following filters:

$$\dot { \Lambda } _ { i } ( t ) = - \alpha \Lambda _ { i } ( t ) + \mathcal { K } _ { i } ( t ) \mathcal { K } _ { i } ( t ) ^ { \top }$$

$$\dot { \lambda } _ { i } ( t ) \ = - \alpha \lambda _ { i } ( t ) + \mathcal { K } _ { i } ( t ) \phi _ { i } ( t )$$

where K i ( ) = t K ( p i ( )), t Λ i (0) = 0, λ i (0) = 0.

The control and adaptation laws are then given by

$$v _ { i } = - k _ { 1 } \left [ S _ { i } ( q ) \right ] ^ { - 1 } ( p _ { i } - \hat { C } _ { \mathcal { V } _ { i } } ^ { \lambda } )$$

$$\dot { \hat { a } } _ { i } = \Gamma ( b _ { i } - I _ { \beta _ { i } } b _ { i } )$$

$$b _ { i } & = - k _ { 2 } \int _ { \mathcal { V } _ { i } } e ^ { - \frac { \| p _ { i } - q \| ^ { 2 } } { \sigma ^ { 2 } } } \mathcal { K } ( q ) ( q - p _ { i } ) ^ { T } d q \ S _ { i } ( q ) v _ { i } \\ & \quad - \gamma ( \Lambda _ { i } \hat { a } _ { i } - \lambda _ { i } )$$

where k , k 1 2 &gt; 0 are positive gains, S q ( ) is the matrix

$$S ( q ) = \begin{bmatrix} \cos ( \theta _ { i } ) & - d. \sin ( \theta _ { i } ) \\ \sin ( \theta _ { i } ) & d. \cos ( \theta _ { i } ) \end{bmatrix}$$

We can now state the following theorem:

Theorem 2 Consider N differential drive robots deployed in the region Q for covering the region. Assume that the robots implement the control law (30) and the adaptation law (31) and (32) . Then the following statements hold:

- 1. lim t →∞ ‖ p i -ˆ C λ V i ‖ = 0 ,
- 2. lim t →∞ ‖ v i ‖ = 0 ,

$$3. \ \lim _ { t \to \infty } \mathcal { K } _ { i } ( \tau ) \tilde { a } _ { i } ( t ) = 0 \text{ for } \forall \tau \text{ } s. t \text{ } t - T < \tau < t, \text{ where } T > 0.$$

for all i = 1 2 , , . . . , N .

Proof Consider the lyapunov function

$$V = d _ { 2 } ( \phi, f _ { P } ) + \frac { 1 } { 2 } \sum _ { i = 1 } ^ { N } \tilde { a } _ { i } ^ { \top } \Gamma ^ { - 1 } \tilde { a } _ { i }$$

Taking the derivative,

$$\dot { V } = \sum _ { i = 1 } ^ { N } \frac { \partial d _ { 2 } } { \partial p _ { i } } ^ { \top } \dot { p } _ { i } + \sum _ { i = 1 } ^ { N } \tilde { a } _ { i } ^ { \top } \Gamma ^ { - 1 } \dot { \dot { a } } _ { i }$$

Using (21), we get

$$\dot { V } = \sum _ { i = 1 } ^ { N } \frac { 4 \gamma } { \sigma ^ { 2 } } M _ { \mathcal { V } _ { i } } ^ { \lambda } ( p _ { i } - C _ { \mathcal { V } _ { i } } ^ { \lambda } ) ^ { \top } \dot { p } _ { i } + \sum _ { i = 1 } ^ { N } \tilde { a } _ { i } ^ { \top } \Gamma ^ { - 1 } \dot { \hat { a } } _ { i }$$

Using the definitions of M λ V i and C λ V i ,

$$\dot { V } = \frac { 4 \gamma } { \sigma ^ { 2 } } \sum _ { i = 1 } ^ { N } \int _ { \mathcal { V } _ { i } } ( p _ { i } - q ) ^ { \top } \lambda _ { i } ( q ) d q \dot { p } _ { i } + \sum _ { i = 1 } ^ { N } \tilde { a } _ { i } ^ { \top } \Gamma ^ { - 1 } \dot { \hat { a } } _ { i }$$

Now λ i ( q ) can be written as

$$\lambda _ { i } ( q ) \, \text{can be written as} \\ \lambda _ { i } ( q ) & = e ^ { - \frac { \| p _ { i } - q \| ^ { 2 } } { \sigma ^ { 2 } } } \left [ \phi ( q ) - \gamma \cdot e ^ { - \frac { \| p _ { i } - q \| ^ { 2 } } { \sigma ^ { 2 } } } \right ] \\ & = e ^ { - \frac { \| p _ { i } - q \| ^ { 2 } } { \sigma ^ { 2 } } } \left [ \mathcal { K } ( q ) ^ { \top } ( \hat { a } _ { i } - \tilde { a } _ { i } ) - \gamma \cdot e ^ { - \frac { \| p _ { i } - q \| ^ { 2 } } { \sigma ^ { 2$$

where ˆ ( λ i q ) := e -‖ p i - ‖ q 2 σ 2 [ ˆ ( φ q ) -γ · e -‖ p i - ‖ q 2 σ 2 ] . Using this in equation (34), we get

$$\cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad \cdot \quad\cdot \quad \cdot \quad \cdot \quad \cdot \quad \cd$$

Using (27), the control law (30), adaptation law (31) and simplifying, we get

$$\dot { V } & = - \frac { 4 \gamma } { \sigma ^ { 2 } } k _ { 1 } \sum _ { i = 1 } ^ { N } \| p _ { i } - \hat { C } _ { \mathcal { V } _ { i } } ^ { \lambda } \| ^ { 2 } - \sum _ { i = 1 } ^ { N } \tilde { a } _ { i } ^ { \top } I _ { \beta _ { i } } b _ { i } \\ & \quad - \tilde { a } _ { i } ^ { \top } \int _ { 0 } ^ { t } e ^ { - \alpha ( t - \tau ) } \mathcal { K } _ { i } ( \tau ) \mathcal { K } _ { i } ( \tau ) ^ { \top } d \tau \, \tilde { a } _ { i }. \\ \quad \quad \quad$$

It can be shown that all three terms of ˙ V above are non-positive [see Schwager et al. (2009)]. Since V is bounded below by zero and its time derivative is nonpositive, it follows that lim t →∞ V ( ) is finite. This implies that t ˙ V is integrable. Using Barbalat's lemma, we can conclude that lim t →∞ ˙ V = 0. Statements 1 and 3 of the theorem follow immediately. Statement 2 follows from statement 1 and equation (30). The proof is thus complete.

Remark 5 From the statements of theorem 2, we also observe that lim t →∞ ˙ θ i = 0 for all i = 1 2 , , . . . , N .

Remark 6 Since we intend to compare the performance of the L 2 framework with the locational optimization problem, we mention below the control and adaptation laws for the locational optimization case [see Abdul Razak et al. (2018) for more details on the same] which is derived similar to theorem 2.

$$v _ { i } = - k _ { 1 } \left [ S _ { i } ( q ) \right ] ^ { - 1 } ( p _ { i } - \hat { C } _ { \mathcal { V } _ { i } } )$$

$$\dot { \hat { a } } _ { i } & = \Gamma ( b _ { i } - I _ { \beta _ { i } } b _ { i } )$$

$$b _ { i } = - & k _ { 2 } \int _ { \mathcal { V } _ { i } } \mathcal { K } ( q ) ( q - p _ { i } ) ^ { T } d q \ S _ { i } ( q ) v _ { i } \\ & - \gamma ( \Lambda _ { i } \hat { a } _ { i } - \lambda _ { i } )$$

4.3 Consensus for improving Parameter Convergence

From the proof of theorem 2, it can be observed that the parameter estimate of ˆ a i converges to the true value a if the matrix

$$\lim _ { t \rightarrow \infty } \int _ { 0 } ^ { t } e ^ { - \alpha ( t - \tau ) } \mathcal { K } _ { i } ( \tau ) \mathcal { K } _ { i } ( \tau ) ^ { \top } d \tau$$

is positive definite. In Schwager et al. (2009), a consensus term was proposed to be included in the adaptation law to improve parameter convergence. It was shown that using a consensus term in the adaptation law makes the parameter estimates of the agents converge to a common value and thus also weakens the sufficient richness condition required for parameter convergence. The modified adaptation law is given by:

$$\dot { \hat { a } } _ { i } & = \Gamma \left ( b _ { i } - I _ { \beta } b _ { i } \right )$$

$$b _ { i } = - F _ { i } ( p _ { i } ) - \gamma ( \Lambda _ { i } \hat { a } _ { i } - \lambda _ { i } ) - \zeta \sum _ { j = 1 } ^ { N } l _ { i j } ( \hat { a } _ { i } - \hat { a } _ { j } )$$

where F i ( p i ) is the integral term in the adaptation law. The underlying graph used for consensus is the delaunay graph where the agents which share an edge of voronoi partition have the corresponding coefficients l ij non-zero. In Schwager et al. (2009) the authors propose that l ij be equal to the length of the shared voronoi edge ( |V i ∩ V | j ) between agent i and j . An important consequence of using consensus based adaptation law is [see Schwager et al. (2009)].

Corollary 1 (Corollary 2, Schwager et al. (2009)) Using the consensus adaptation law, in addition to the convergence of position and velocity, if the agent paths are such that

$$\sum _ { i = 1 } ^ { N } \int _ { 0 } ^ { t } e ^ { - \alpha ( t - \tau ) } \mathcal { K } _ { i } ( \tau ) \mathcal { K } _ { i } ( \tau ) ^ { \top } d \tau$$

is positive definite, each agent's parameter estimate converges to the true value of the parameter.

The above condition is weaker since with consensus, the positive definiteness condition is over sum of trajectories of all agents as opposed to the individual trajectories for each of the agents.

## 4.3.1 Directed Consensus

It can be seen that the agents whose trajectories follow a certain path estimates certain parameters to large accuracy whereas for other parameters they have poor estimates. This can be observed from the adaptation term -( Λ a i ˆ i -λ i ) which means that the error between the measured and the estimated value of φ . ( ) is weighted by the corresponding regressor element K ( j ) i for updating the corresponding parameter estimate ˆ a ( j ) i . Thus if the agent trajectory is such that the regressor element always takes a low value, then the corresponding parameter estimate is also very poor. This means that using a consensus term can sometimes reduce the accuracy and/or convergence speed of parameter estimates of those agents which are otherwise able to accurately estimate the parameter.

Based on the above observation, we propose a modified consensus law. Corresponding to each parameter a ( j ) , we construct a directed sub-graph G ( j ) ( ) of t the delaunay graph G ( ) as follows: a directed edge between voronoi neighbours t i and l exists if

$$\mathcal { K } _ { i } ^ { ( j ) } ( t ) \geq \mathcal { K } _ { l } ^ { ( j ) } ( t ).$$

The weights for the directed edges are taken as constant. This protocol creates a seperate directed sub-graph of the undirected delaunay graph corresponding to each parameter at each time t . An illustration is shown in figure 3.

Lemma 3 If the delaunay graph G ( ) t is connected and the basis functions in K · ( ) are radial functions (i.e., the functions have their peak value at some point and the value reduces with distance from that point), then the directed graphs G ( j ) ( ) t for each j has a rooted tree. The root of the tree is the agent having the maximum value of K ( j ) i ( ) t among all agents i = 1 2 , , . . . , N .

Proof For any j and each pair of agents ( i, l ) which are voronoi neighbours, we see from condition (40) that there is always a directed edge either from i to l or from l to i . Then the agent with the largest value of K ( j ) i ( ), say t n j , will only

Fig. 3 Illustration of directed graphs for consensus: 4 agents with 2 parameters - the peak of the basis functions are shown in color with the directed graph for the corresponding parameter shown in the same color; the black color shows the original delaunay graph.

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-70a3ceee-0ae4-43e2-b594-670d17243d22.jpg)

have outgoing edges, and the agent with the smallest value of K ( j ) i ( ) will only t have incoming edges. Given any node (agent) l , there always exists atleast one path in the delaunay graph G ( ) (since t G ( ) is connected) from agent t n j to l . In particular, there exists a path such that the sequence of nodes starting from n j in the path are in decreasing order with respect to the value of K j ( ), · i.e., K j ( p n j ) ≥ · · · ≥ K j ( p l ). This assertion can be proved as follows: Given node n j , either n j is connected to l , or it is not. If it is connected, we are done. If it is not connected, there exists another node which is at lower distance from node n j as compared to node l . This new node is either connected to l , or there has to exist another node which is at smaller distance from this new node as compare to node l . This can be continued until all such nodes are exhausted. If all such nodes are exhausted, and the node l is still not connected to one of these nodes, it means that the graph is disconnected which is not possible. Thus there exists some sequence of nodes in increasing order of distance from the node n j . This along with the fact that the functions K j ( ) are radial proves · the assertion. Using (40) it easily follows that in the directed graph G ( j ) ( ), t there always exists a directed path from the root node n j to any other node. This completes the proof.

Now we modify the adaptation law with each parameter j having seperate consensus law according to the directed sub-graph G ( j ) ( ). t Thus we have the

following adaptation law for agent i 's parameter estimate:

$$b _ { i } = - F _ { i } ( p _ { i } ) - \gamma ( \Lambda _ { i } \hat { a } _ { i } - \lambda _ { i } ) - \zeta \sum _ { j = 1 } ^ { N } L _ { i j } ( \hat { a } _ { i } - \hat { a } _ { j } )$$

$$= - F _ { i } ( p _ { i } ) - \gamma ( \Lambda _ { i } \hat { a } _ { i } - \lambda _ { i } ) - \sum _ { \alpha = 1 } ^ { p } \zeta \sum _ { j = 1 } ^ { N } l _ { i j } ^ { \alpha } \left ( \hat { a } _ { i } ^ { ( \alpha ) } - \hat { a } _ { j } ^ { ( \alpha ) } \right ) \quad ( 4 2 )$$

where L ij = diag( { l α ij } p α =1 ) and L α = [ l α ij ] is the laplacian matrix for graph G ( α ) ( ). t

Theorem 3 Using the modified adaptation law 42, and assuming that all the other conditions of thereom 2 hold, all the statements of the theorem 2 hold. In addition

$$\lim _ { t \to \infty } ( \hat { a } _ { i } ( t ) - \hat { a } _ { j } ( t ) ) = 0,$$

for all i, j ∈ { 1 2 , , . . . , N } .

Proof Proceeding the same way as in the proof of theorem 2, we have an additional term in the derivative of the lyapunov function ˙ V , all other terms remaining exactly the same. The term is given by

$$T = - \sum _ { i = 1 } ^ { N } \tilde { a } _ { i } ^ { \top } \sum _ { j = 1 } ^ { N } L _ { i j } ( \hat { a } _ { i } - \hat { a } _ { j } ).$$

Simplifying this, we have

$$T & = \sum _ { i = 1 } ^ { N } \left [ \tilde { a } _ { i } ^ { ( 1 ) } \tilde { a } _ { i } ^ { ( 2 ) } \dots \tilde { a } _ { i } ^ { ( p ) } \right ] \sum _ { j = 1 } ^ { N } L _ { i j } \left [ \begin{matrix} \hat { a } _ { i } ^ { ( 1 ) } - \hat { a } _ { j } ^ { ( 1 ) } \\ \hat { a } _ { i } ^ { ( 2 ) } - \hat { a } _ { j } ^ { ( 2 ) } \\ \vdots \\ \hat { a } _ { i } ^ { ( p ) } - \hat { a } _ { j } ^ { ( p ) } \end{matrix} \right ]$$

$$= \sum _ { \alpha = 1 } ^ { p } \sum _ { i = 1 } ^ { N } \sum _ { j = 1 } ^ { N } \tilde { a } _ { i } ^ { ( \alpha ) } l _ { i j } ^ { \alpha } ( \hat { a } _ { i } ^ { ( \alpha ) } - \hat { a } _ { j } ^ { ( \alpha ) } ) \\ \quad \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \$$

$$& \quad \alpha = 1 \, i = 1 \, j = 1 \\ = & \sum _ { \alpha = 1 } ^ { p } \left [ \tilde { a } _ { 1 } ^ { ( \alpha ) } \dots \tilde { a } _ { N } ^ { ( \alpha ) } \right ] \left [ \begin{matrix} \sum _ { i = 2 } ^ { N } l _ { 1 i } ^ { \alpha } \dots \dots \, - l _ { 1 N } ^ { \alpha } \\ - l _ { 2 1 } ^ { \alpha } & \dots \dots \, - l _ { 2 N } ^ { \alpha } \\ \vdots & \vdots & \vdots & \vdots \\ - l _ { N 1 } ^ { \alpha } & \dots \dots & \vdots \end{matrix} \right ] \left [ \begin{matrix} \hat { a } _ { 1 } ^ { ( \alpha ) } \\ \hat { a } _ { 2 } ^ { ( \alpha ) } \\ \vdots \\ \hat { a } _ { N } ^ { ( \alpha ) } \end{matrix} \right ]$$

$$= \sum _ { \alpha = 1 } ^ { p } \tilde { a } ^ { \alpha ^ { \top } } L ^ { \alpha } \hat { a } ^ { \alpha } = \sum _ { \alpha = 1 } ^ { p } \hat { a } ^ { \alpha ^ { \top } } L ^ { \alpha } \hat { a } ^ { \alpha }$$

$$\text{where } \hat { a } ^ { \alpha } = \left [ \hat { a } _ { 1 } ^ { ( \alpha ) } \, \hat { a } _ { 2 } ^ { ( \alpha ) } \, \dots \hat { a } _ { N } ^ { ( \alpha ) } \right ] ^ { \top }.$$

Thus the term contributed by the consensus term in ˙ V is non-positive. The term is also uniformly continuous. The other terms in ˙ V remain non-positive and uniformly continuous as in the proof of theorem 2. Thus using Barbalat's lemma, all the statements of the theorem 2 holds. In addition, we have that lim t →∞ ˆ a α glyph[latticetop] L a α ˆ α = 0 for each α . Since L α is the laplacian matrix of the directed graph G ( α ) , we have that lim t →∞ ˆ a α = c α 1 for each α ( c α is some positive constant), i.e. the agents achieve consensus on the parameter values and the theorem holds.

## 5 Hardware Implementation and Experimental Results

In this section, we discuss the details of hardware implementation as well as the experimental results.

## 5.1 Experiment Setup

The experimental setup consists of five differential drive robots, based on the turtlebot3 platform, with OpenCR 1.0 controller module and Raspberry Pi 3 module mounted on each of them.

## 5.1.1 Workspace and Localization System

The workspace where the robots move is a flat 4m × 4m square region. For localization of robots, we use the motion-capture system from Optitrack. The system comprises of 16 cameras with infrared sensors which detect the markers fixed atop the robots. A proprietary software (Motive, by Optitrack) uses data in the form of images captured by the cameras, performs localization computations, and provides position data for all the robots in the workspace. This data is streamed over the local network using the Virtual Reality Peripheral Network 1 (VRPN) protocol. The localization system provides millimeter-level precision at high frequencies upto 200 Hz. See figure 4 for the overall setup. The robots communicate with the host PC via WLAN. ROS (Robot Operating System) is used for the software implementation. Each robot runs multiple ROS nodes which implements the coverage algorithm, receives localization data from the Optitrack system as well as communicate with other robots. The host PC runs the ROS master node and subscribes to the position data from the localization system (using VRPN protocol) which are then distributed to the individual robots. Figure 5 shows the overall software implementation using ROS.

1 https://github.com/vrpn/vrpn/wiki

Fig. 4 Experiment Setup

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-305bc042-9c05-4053-a2a6-39d2460ead9a.jpg)

Fig. 5 ROS Implementation: the blue blocks represent ROS nodes and the yellow blocks represent the data exchanged between nodes.

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-2f644a76-fd9b-4103-a540-0cc690d8379d.jpg)

## 5.1.2 Sensors

The density function is implemented as a light distribution using Xiaomi smart bulbs. The Adafruit TCS34725 RGB sensors are used for measuring the light intensity.

## 5.2 Experimental Results

We do two sets of experiments: (1) The density function is simulated, and (2) the density function is implemented using white light sources, and the agents measure the light intensity using light sensors.

Table 1 Experiment related parameters

| Parameter                    | Value                        | Description                              |
|------------------------------|------------------------------|------------------------------------------|
| Domain related               |                              |                                          |
| borderx                      | [-2.0, 2.0, 2.0, -2.0]       | x-coordinates of vertices of the domain  |
| bordery                      | [-2.0, -2.0, 2.0, 2.0]       | y-coordinates of vertices of the domain  |
| Density function related     | Density function related     |                                          |
| centrex                      | [1.0, 1.0]                   | x-coordinates of centres of density fcn. |
| centrey                      | [0.98, -0.8]                 | y-coordinates of centres of density fcn. |
| σ                            | [0.6, 0.3]                   | std. deviation                           |
| a                            | [85, 30]                     | true strengths to be estimated           |
| Control and Adaptation gains | Control and Adaptation gains |                                          |
| k 1                          | 0 . 1                        | controller gain                          |
| Γ                            | 0 . 1 I                      | adaptation gain matrix                   |
| Loop rates                   | Loop rates                   |                                          |
| Control loop                 | 10 Hz.                       | rate at which control loop runs          |
| Position update loop         | 20 Hz.                       | rate at which position data is available |
| Robot related d              | 0 . 05 m                     | distance of the centre from wheel axis   |
| Adaptation law related       | Adaptation law related       |                                          |
| paramInitValue               | 10                           | initial value of parameter estimates     |
| α                            | 1.0                          | filter parameter                         |
| γ                            | 2                            | measurement update gain                  |
| ζ                            | 1                            | consensus related gain                   |

The simulated density function case allows us to study the performance of the coverage algorithm and parameter convergence in better detail since there is no sensor noise and associated issues. Implementing actual sources and sensors allows us to evaluate how well the algorithms behave in the real world with noisy sensors. The values of various constants used in the simulation are given in table 1.

## 5.2.1 Simulated Density Function

The true density function consists of two gaussian components. The various constants related to the density function are given in table 1. The trajectories, average position error and the average velocity of the agents are shown in figure 6. The average position and velocity errors are given by

$$e _ { p } = \sum _ { i = 1 } ^ { N } \| p _ { i } - \hat { C } _ { \mathcal { V } _ { i } } \|, \quad e _ { v } = \sum _ { i = 1 } ^ { N } \| v _ { i } \|.$$

The corresponding plots for the locational optimization based coverage is also shown in the figure for comparison. The initial position error and velocity are higher for the locational optimization case. The agent parameter estimation errors are compared in figures 7 and 8 for the two parameters. It can be seen that for three of the agents the estimation errors for parameter 1 drops significantly from the initial value, with one agent able to estimate parameter

1 accurately. The other two agents are not able to adapt for parameter 1. Similarly two of the agents are able to estimate parameter 2 better while for the rest of the agents the parameter 2 estimation error barely change from the initial estimation error. It also appears that the L 2 algorithm performs slightly better from figure 7. This could be due to the fact that the integral term in the L 2 adaptation law (32) is much smaller (due to the presence of the exponential term) than for the locational optimization adaptation law (37). This term can be viewed as a coupling term between the coverage task (through the cost function d 2 ( )) · and the estimation task. The term being smaller means that the estimate ˆ a i is better able to adapt through the measured error in φ ( ) · given by the second term in the adaptation law (32). The parameter errors for adaptation with the consensus terms are shown in figures 9 and 10. We show the average parameter estimation errors across all the agents for ease of comparison since the agent estimation errors closely follow each other due to the consensus term. From the plots we see that overall, the parameter errors starts dropping faster in the locational optimization case although towards the end the drop in error becomes slower compared to the L 2 case. This could be due to the fact that the initial velocity is higher for the locational optimization case and thus it is able to initially move faster to regions where significant measurements are available for adaptation. Overall the final values of parameter estimates are slightly better for the L 2 case. It can also be seen that the directional consensus algorithm leads to a significantly faster convergence as opposed to the undirected consensus algorithm.

## 5.2.2 Density Function implemented using Light Sources

There are two light sources, one of high intensity and the other of lower intensity. Each agent is equipped with TCS34725 RGB sensors to measure the light intensity. The trajectories, average position error and the average velocity of the agents for L 2 coverage are shown in figure 11. The plots also show the results of locational optimization based coverage for comparison. As with the results for simulated density function, we see that the initial position error and velocity are larger for the locational optimization case. The agent parameter estimation errors are compared in figures 12 and 13 for the two parameters with no consensus term in the adaptation law. The parameter errors for adaptation with the consensus terms are shown in figures 14 and 15. Overall the parameter estimates using the L 2 coverage framework seems to be more accurate. It can also be seen that the direted consensus leads to faster convergence of the parameter errors as expected.

## 6 Conclusion

We have looked at an alternative framework for defining the coverage problem. The sensing quality of each agent was quantified as the agent sensing function, and an aggregate sensing function was formed. The coverage problem was then

Fig. 6 Results for L 2 coverage: simulated φ ( ). ·

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-0123d034-8e14-4bec-9570-83eec92b48c5.jpg)

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-4311a12e-6feb-4a3d-b3ed-066a32f313c5.jpg)

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-c1f6abc0-efca-454d-8caf-6ee146cdcfe6.jpg)

Fig. 7 Parameter 1 estimation errors with time - No consensus.

Fig. 8 Parameter 2 estimation errors with time - No consensus.

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-32c16aee-dc1c-487c-852d-fe1cebfcb86e.jpg)

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-019ce1e8-d671-4e41-b43e-e677dee98d61.jpg)

Fig. 9 Avg. parameter estimation errors with time - with consensus.

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-bf6d4a3b-0f49-4e96-8ec5-64c14b308b79.jpg)

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-431752e9-facd-46de-be46-8b3c833eaa7d.jpg)

Fig. 10 Avg. parameter estimation errors with time - with directed consensus.

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-15187e50-c8d5-4b30-9f02-3e2bd6539ba4.jpg)

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-660dfdbc-e218-4aca-a56d-44e00cc8a5c7.jpg)

defined as the minimization of some distance between the aggregate function and the density function. We showed that the locational optimization problem can be viewed as a special case of this framework using the K-L divergence as the distance measure. We also looked at the L 2 distance as a metric for coverage, and compared the performance of L 2 coverage with the locational optimization based coverage.

## References

Abdul Razak R, Srikant S, Chung H (2018) Decentralized and adaptive control of multiple nonholonomic robots for sensing coverage. International Journal of Robust and Nonlinear Control 28(6):2636-2650

Bopardikar SD, Mehta D, Hauenstein JD (2018) Optimal Configurations in Coverage Control with Polynomial Costs. ArXiv e-prints 1801.10285

Bullo F, Cort´s J, Mart´ ınez S (2009) Distributed Control of Robotic Networks. e Applied Mathematics Series, Princeton University Press, electronically available at http://coordinationbook.info

Cortes J, Bullo F (2005) Coordination and geometric optimization via distributed dynamical systems. SIAM Journal on Control and Optimization 44(5):1543-1574

Cortes J, Martinez S, Karatas T, Bullo F (2004) Coverage control for mobile sensing networks. IEEE Trans on Automatic Control 20(2):243-255

Cortes J, Martinez S, Karatas T, Bullo F (May, 2002) Coverage control for mobile sensing networks. In: Proc. IEEE Int. Conf. Robot. Autom., pp 13271332

Flanders H (1973) Differentiation Under the Integral Sign. Amer Math Monthly 80(6):615-627

Guruprasad KR, Ghose D (2013) Heterogeneous locational optimisation using a generalised Voronoi partition. Int J Control 86(6):977-993

Fig. 11 Results for L 2 coverage: RGB sensors.

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-45dace33-8913-4957-8d6d-713799b7534c.jpg)

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-99d231ad-9191-42a7-8b4c-baaa8bed44bb.jpg)

Fig. 12 Parameter 1 estimation errors with time - No consensus.

Fig. 13 Parameter 2 estimation errors with time - No consensus.

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-990ae7d2-f0d1-43bb-88eb-6f265eb86721.jpg)

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-a01accd5-1eca-4868-b955-d097b7c92ac0.jpg)

Fig. 14 Avg. parameter estimation errors with time - with consensus.

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-686c3367-d895-4759-8102-936618cbcaf2.jpg)

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-d65e8479-2361-456b-846b-e5f3600fa882.jpg)

Fig. 15 Avg. parameter estimation errors with time - with directed consensus.

![image](https://ac.marcodsn.me/arxiv-markdown-images/1908.01161v1-figure-4720b142-823a-45e1-bbb6-16c4423274fa.jpg)

Hexsel B, Chakraborty N, Sycara K (2011) Coverage control for mobile anisotropic sensor networks. In: 2011 IEEE Int. Conf. Robot. and Autom., pp 2878-2885

Jadbabaie A, Lin J (2003) Coordination of groups of mobile autonomous agents using nearest neighbor rules. IEEE Trans on Automatic Control 48(6):988-1001

Khalil H (2002) Nonlinear Systems. Pearson Education, Prentice Hall Kullback S, Leibler RA (1951) On information and sufficiency. Ann Math Statist 22(1):79-86

Luna JM, Fierro R, Abdallah CT, Wood J (2013) An Adaptive Coverage Control for Deployment of Nonholonomic Mobile Sensor Networks Over TimeVarying Sensory Functions. Asian J Control 15(4):988-1000

Murray RM (2007) Recent research in cooperative control of multivehicle systems. J Dynam Syst Measur and Control 129(5):571-583

Olfati-Saber R, Fax A, Murray RM (2007) Consensus and cooperation in networked multi-agent systems. Proceedings of the IEEE 95(1):215-233

Press W (2007) Numerical Recipes 3rd Edition: The Art of Scientific Computing. Cambridge University Press

Razak RA, Sukumar S, Chung H (2018) Distributed coverage control of mobile sensors: Generalized approach using distance functions. In: 2018 IEEE Conference on Decision and Control (CDC), pp 3323-3328

Schwager M, Rus D, Slotine JJ (2009) Decentralized, adaptive coverage control for networked robots. Int J Rob Res 28(3):357-375

Schwager M, Slotine JE, Rus D (Apr. 10-14, 2007) Decentralized, adaptive control for coverage with networked robots. In: Proc. IEEE Int. Conf. Robot. Autom., pp 3289-3294

Song C, Feng G, Fan Y, Wang Y (2011) Decentralized adaptive awareness coverage control for multi-agent networks. Automatica 47(12):2749-2756

Song C, Liu L, Feng G, Wang Y, Gao Q (2013) Persistent awareness coverage control for mobile sensor networks. Automatica 49(6):1867-1873

- Tanner H, Jadbabaie A, Pappas G (2007) Flocking in fixed and switching networks. IEEE Trans on Automatic Control 52(5):863-868
Rihab Abdul Razak Srikant Sukumar Hoam Chung
Distributed Adaptive Coverage Control of Differential Drive Robotic Sensors
This paper is concerned with the deployment of multiple mobile robots in
order to autonomously cover a region Q. The region to be covered is described
using a density function which may not be apriori known. In this paper, we pose
the coverage problem as an optimization problem over some space of functions on
Q. In particular, we look at L 2 -distance based coverage algorithm and derive
adaptive control laws for the same. We also propose a modified adaptive control
law incorporating consensus for better parameter convergence. We implement the
algorithms on real differential drive robots with both simulated density
function as well as density function implemented using light sources. We also
compare the L 2 -distance based method with the locational optimization method
using experiments.