This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Distributed Multi-Robot Multi-Target Tracking Using Heterogeneous Limited-Range Sensors

Jun Chen, , Mohammed Abugurain, , Philip Dames, , and Shinkyu Park *This work was supported by startup funding at Nanjing Normal University, funding from King Abdullah University of Science and Technology, and NSF grant CNS-2143312.J. Chen is with the School of Electrical and Automation Engineering, Nanjing Normal University, Nanjing, Jiangsu 210023, China [email protected]J. Chen is also with Jiangsu Key Laboratory of 3D Printing Equipment and Manufacturing, Nanjing, Jiangsu 210023, ChinaM. Abugurain and S. Park are with the Computer, Electrical, and Mathematical Science and Engineering Division, King Abdullah University of Science and Technology, Thuwal 23955, Saudi Arabia {mohammed.abugurain,shinkyu.park} @kaust.edu.saP. Dames is with the Department of Mechanical Engineering, Temple University, Philadelphia, PA 19122, USA [email protected]
Abstract

This paper presents a cooperative multi-robot multi-target tracking framework aimed at enhancing the efficiency of the heterogeneous sensor network and, consequently, improving overall target tracking accuracy. The concept of normalized unused sensing capacity is introduced to quantify the information a sensor is currently gathering relative to its theoretical maximum. This measurement can be computed using entirely local information and is applicable to various sensor models, distinguishing it from previous literature on the subject. It is then utilized to develop a distributed coverage control strategy for a heterogeneous sensor network, adaptively balancing the workload based on each sensor’s current unused capacity. The algorithm is validated through a series of ROS and MATLAB simulations, demonstrating superior results compared to standard approaches that do not account for heterogeneity or current usage rates.

Index Terms:
Multi-Robot Systems, Reactive and Sensor-Based Planning, Distributed Robot Systems, Networked Robots.

I Introduction

Multiple target tracking (MTT) is a fundamental research problem where one needs to continuously estimate the states of multiple moving targets of interest within an assigned space. Due to its importance in application areas, ranging from environmental monitoring, e.g., comprehending collective behaviours of social animals [1, 2, 3, 4] or pedestrians [5], to intelligent autonomous systems, e.g., autonomous driving [6], it has drawn increasing attention in the signal processing, computer vision, and robotics communities.

Standard MTT algorithms, such as global nearest neighbor (GNN) [7], joint probabilistic data association (JPDA) [8], multiple hypothesis tracking (MHT) [9], and particle filters [10], solve the problem by repeatedly identifying targets and estimating their states using sensor data and Bayesian inferences, and matching the estimates to existing target tracking information, the process widely known as data association. On the other hand, solutions that are based on random finite set (RFS) theory, such as the family of probability hypothesis density (PHD) filters [11, 12] and multi-target multi-Bernoulli (MeMBer) filters [13, 14], do not require an explicit data association process. Hence, those approaches are best suited for the applications where the identities of targets are not important.

I-A Distributed MR-MTT

In recent years, exploring robotic networks’ ability to adaptively adjust their sensor coverage, multi-robot multi-target tracking (MR-MTT) problems have been widely investigated. In this paper, we discuss distributed algorithms to find scalable and fault-tolerant approaches to the problems. Distributed MR-MTT mainly consists of cooperative multi-target state estimation and multi-robot active motion planning. The former can be implemented using either Bayesian methods [15, 16, 17, zhu2020fully, 19], which require each robot to recursively estimate the statistical distribution about target states over the entire task space, or consensus algorithms [20, 22, 23], which enable robots to continuously exchange information until they reach an agreement. The latter is frequently formulated as an optimal control problem aiming to maximize the tracking performance, which is defined as the degree of information acquisition [24, 25, 26], the distance between a robot and a target [27], or some general measure of the target observability [28, 19]. However, the above-mentioned schemes could be susceptible to local extrema, where multiple robots track the same target while others are left unobserved, and provide no guarantee to cover the entire task space with the robots’ limited-range sensors. As a result, none of them is able to jointly detect, localize, and track an unknown and time varying number of multiple targets.

I-B Coverage Control

Perhaps the most suitable MR-MTT solution to pair space exploration with active target state estimation is through coverage control framework. Coverage control is a popular way to optimally gather target information while guaranteeing complete space coverage. It aims to maximize a performance measure such as the robots’ distances to targets. The most widely used distributed coverage control strategies are Voronoi-based methods [29, 30, 31, 32] that leverage Lloyd’s algorithm [33]. The basic idea is to partition an assigned task space using the Voronoi tessellation and then drive each robot towards the weighted centroid of its assigned Voronoi partition. This process will enable the network to reach a local optimum in its coverage performance.

In coverage control, the mission space is typically convex, and robots are only required to communicate with their neighbors and are assumed to have perfect knowledge of their locations. A number of recent works have provided various solutions to accommodate uncertainty in sensor localization [34, 35, 36, 37] and to allow for non-convex spaces [38, 39, 40, 41]. In particular, leveraging the coverage control framework, the work of Dames [42] proposes to couple a distributed multi-target state estimation scheme and a distributed planning algorithm in order for each robot to estimate the density of targets and move to the centroid of the estimated target density. Consequently, networked robots with a limited-range isotropic sensor are able to actively move to maximize the total detection probability of all targets despite measurement errors and false alarms, while maintaining coverage of the entire task space.

I-C Sensor Heterogeneity

Nevertheless, the above-mentioned work exploits MR-MTT with coverage control framework using fixed types of sensor. Yet, cooperative heterogeneous sensor networks composed of arbitrary types of sensors expand the use of robotic networks to complex scenarios where a variety of different types of robots and sensors are needed to complete the task. A variety of approaches have been proposed to incorporate measurements from multiple heterogeneous resources to improve the target tracking quality [43, 44, 45] or to enhance the robustness and resilience of a robotic network [46, 47]. However, none of these methods aims to attain the globally optimal tracking performance by taking advantage of heterogeneous sensing capability while maintaining coverage of the task space.

Weighted Voronoi diagrams, which include power diagrams, have recently been used to account for heterogeneity in the radii of circular sensor footprints [41, 48, 49, 50] and energy levels [51]. Voronoi-based methods have also been used for wedge-shaped sensor field of views (FoV) [52]. Stergiopoulos and Tzes [53, 54, 55] used novel partitioning and distribution algorithms for sensing networks where all sensor FoVs share the same arbitrary shape but may be of a different size. Hexsel et al. [56] introduced a gradient ascent-based coverage control algorithm to maximize the joint probability of detection in anisotropic sensing networks. Nevertheless, as these approaches use gradient ascent, robots can prematurely converge to local extrema of an objective function they aim to maximize.

I-D Contribution

Building on our previous conference version [57], this paper proposes a novel multi-robot multi-target joint state estimation and planning approach for heterogeneous limited-FoV robotic networks. The proposed method allows a team of robots to search for targets over a task space and actively maintain coverage of a majority of detected targets in a distributed manner. We summarize our main contributions as follows.

  1. 1.

    We propose a new measure called the normalized unused sensing capacity that quantifies the difference between the current information that a sensor gathers and the theoretical maximum. This can be computed using entirely local information and does not require any assumptions about the type of sensor or the shape of the sensor FoV.

  2. 2.

    Leveraging this measure, we first replace the standard Voronoi diagram in Lloyd’s algorithm with the power diagram, with the goal of balancing the task load across the team. In particular, we assign robots that have more accurate sensors, larger sensor FoVs, and/or are not currently tracking any objects to cover larger areas.

  3. 3.

    While power diagram implementation provides fast and near optimal space allocation for heterogeneous robotic teams, it does not yield the best tracking accuracy. Therefore, we propose CCVD, a closed-form optimal space partitioning algorithm to further improve the tracking performance and to evaluate the power diagram method by comparing it with theoretical optimum.

  4. 4.

    We demonstrate the efficacy of our approach through a series of experiments in simulated environments to show that the approach yields higher quality and more reliable tracking than the standard Voronoi diagram-based approach and the zigzag coverage path, especially when the robots are highly heterogeneous. To the best of our knowledge, our work presents the first distributed algorithm that allows heterogeneous sensors to jointly detect, localize and track unknown and time-varying number of targets. Therefore, our results are only comparable to baseline algorithms [42][torres2016coverage].

Distinct from our conference paper [57], this paper includes the following novel contributions.

  1. 1.

    Whereas only the power diagram was used in [57], in this paper, we introduce a new space partitioning algorithm based on CCVD. The area of the task space allocated to each robot by CCVD is strictly proportional to the sensing capacity of that robot, which will further optimize the space partitioning by leveraging the heterogeneity of the robots, but at the cost of greater computing resource requirements.

  2. 2.

    We analyze the computational complexity of the proposed algorithms, and discuss the communication cost incurred by the algorithms.

  3. 3.

    We present ROS simulations with visualization in Gazebo and RViz. We conduct additional Matlab simulations for quantitative analysis of the new methods.

  4. 4.

    We compare our methods with a coverage path planning approach quantitatively. Meanwhile, we conduct an ablation study to demonstrate the usage of both the centroid of detection and the partitioning algorithms.

The rest of this paper is organized as follows. In Section II, we formulate the MR-MTT problem and introduce the prerequisites of our proposed methods. Section III presents our proposed space partitioning algorithms using both the power diagram and CCVD along with a distributed control algorithm based on these partitions. In Section IV we analyze the performance of our algorithms in terms of computational complexity and communication loac and introduce the quantitative metrics used to validate our algorithms. Finally, we show simulation results in Section V and draw conclusions in Section VI.

II Problem Formulation

This paper considers the multi-robot, multi-target tracking (MR-MTT) problem, defined below.

Problem 1 (MR-MTT)

Consider a network of nn mobile sensors (i.e., robots) denoted by S={s1,,sn}S=\{s_{1},\ldots,s_{n}\} with two-dimensional positions Q={q1,,qn}Q=\{q_{1},\ldots,q_{n}\} and orientations Θ={θ1,,θn}\Theta=\{\theta_{1},\ldots,\theta_{n}\}. Each robot has the following dynamical model:

qi˙\displaystyle\dot{q_{i}} =ui\displaystyle=u_{i} (1)
θi˙\displaystyle\dot{\theta_{i}} =ωi,\displaystyle=\omega_{i},

where uiu_{i} and ωi\omega_{i} are the two-dimensional control inputs for position and orientation of the iith robot, respectively. The robots move in a convex environment ER2E\subset R^{2} with known bounds. There is a set of mm targets in the environments, X={x1,,xm}X=\{x_{1},\ldots,x_{m}\}, where the state of each target is its two-dimensional position xiEx_{i}\in E. Targets may be moving in an unknown arbitrary pattern or be stationary, and the robot’s onboard sensors have a certain probability of detecting them. The robots are tasked to search for and track the targets, with the goal to identify the number of targets and the state of each target.

Robots communicate with each other bidirectionally. A neighbor set 𝒩i\mathcal{N}_{i} of a robot sis_{i} is defined as all robots that are within the communication range of robot sis_{i} excluding sis_{i} itself. For the purpose of analysis, we assume that the communication range of each robot is large enough such that 𝒩i\mathcal{N}_{i} is non-empty at all time, which can be ensured by using, for instance, connectivity control algorithms [58] to sustain the connectivity.111Existing methods such as [38, 39, 40, 41] can be used to extend our proposed algorithms to non-convex, cluttered environments.

II-A Lloyd’s Algorithm

Given a density function ϕ(x)\phi(x) defined over the 2-dimensional Euclidean space, the objective of Lloyd’s algorithm is to compute Q=q1,,qnQ={q_{1},\cdots,q_{n}} and 𝒲=(𝒲1,,𝒲n)\mathcal{W}=(\mathcal{W}_{1},\cdots,\mathcal{W}_{n}) minimizing the following functional:

(Q,𝒲)=i=1n𝒲if(xqi)ϕ(x)𝑑x,\mathcal{H}(Q,\mathcal{W})=\sum_{i=1}^{n}\int_{\mathcal{W}_{i}}f\big{(}\|x-q_{i}\|\big{)}\phi(x)dx, (2)

where 𝒲i\mathcal{W}_{i} is the dominance region of robot sis_{i} (i.e., the region that is assigned to robot sis_{i} for coverage), \|\cdot\| is the Euclidean distance, xEx\in E, and ff is a monotonically increasing function. The function ff defines how the cost of robots’ sensing depends on its distance to each sensing location xx. The dominance regions 𝒲\mathcal{W} partition EE, meaning the regions have disjoint interiors (i.e., int(𝒲i)int(𝒲j)=ij\mathrm{int}(\mathcal{W}_{i})\cap\mathrm{int}(\mathcal{W}_{j})=\emptyset\;\forall i\neq j) and the union of all regions is EE (i.e., i=1n𝒲i=E\cup_{i=1}^{n}\mathcal{W}_{i}=E) [29].

When f(x)=x2f(x)=x^{2}, each 𝒲i\mathcal{W}_{i} of 𝒲\mathcal{W} is given by 𝒲i={xxqi=mink=1,,nxqk}\mathcal{W}_{i}=\{x\mid\|x-q_{i}\|=\min_{k=1,\ldots,n}\|x-q_{k}\|\} [29]. In other words, 𝒲i\mathcal{W}_{i} is the collection of all points that are the nearest neighbors of sis_{i}. This is widely known as the Voronoi tessellation, which is illustrated in Figure 1. We refer to 𝒲i\mathcal{W}_{i} as a Voronoi partition, which is convex by construction, and qiq_{i} as the generation point of 𝒲i\mathcal{W}_{i}. When each qiq_{i} is the weighted centroid of the ii-th Voronoi partition given by

qi=𝒲ixϕ(x)𝑑x𝒲iϕ(x)𝑑x,q_{i}^{\ast}=\frac{\int_{\mathcal{W}_{i}}x\phi(x)\,dx}{\int_{\mathcal{W}_{i}}\phi(x)\,dx}, (3)

the robot positions QQ minimize \mathcal{H} [29].

By applying Lloyd’s algorithm, coverage control sets the control input for robot sis_{i} to

ui=kprop(qiqi),u_{i}=-k_{\rm prop}(q_{i}-q_{i}^{\ast}), (4)

where kprop>0k_{\rm prop}>0 is a positive gain. In this paper, we use the control law in a discrete time manner, following this direction at the maximum speed of the robot. The angular velocity uses a bang-bang strategy, maximizing the angular velocity until the robot is facing directly towards the goal qiq_{i}^{\ast}. By following this control law, the robots asymptotically converge to the weighted centroids of their associated Voronoi partitions. This still holds even when ϕ\phi varies with time.

II-B PHD Filter for MTT

In an MTT setting, a natural choice for ϕ(x)\phi(x) is to capture the target density at each location xx. This time-varying density function can be estimated using any standard MTT algorithms. In this paper, we use the PHD filter, as it does not require any explicit data association.222We note that the overall framework presented in this paper can be easily adapted to any other choice of Bayesian MTT tracker.

The Probability Hypothesis Density (PHD), denoted by v(x)v(x), is the first order moment of a random finite set (RFS), i.e., a set with a random number of random elements such as a time-varying set of moving targets, and takes the form of a density function over the state space. The integral of the PHD over a region is equal to the expected number of targets in the region at a given time. By assuming that the RFSs are Poisson, i.e., the number of targets follows a Poisson distribution and the spatial distribution of targets is i.i.d., the PHD filter recursively propagates the PHD in order to track the distribution over target sets [11]. Similar to any other Bayesian state estimators, the PHD filter recursively predicts the target state using state transition probability (i.e., target motion), and updates the prediction using the probabilistic models of the sensor measurements.

The PHD filter uses three models to describe the motion of targets: 1) The motion model, f(xξ)f(x\mid\xi), describes the likelihood of an individual target transitioning from an initial state ξ\xi to a new state xx. 2) The survival probability model, ps(x)p_{s}(x), describes the likelihood that a target with state xx will continue to exist from one time step to the next. 3) The birth PHD, b(x)b(x), encodes both the number and locations of the new targets that may appear in the environment.

The PHD filter uses another three models to describe the ability of robots to detect targets: 1) The detection model, pd(xq)p_{d}(x\mid q), gives the probability of a robot with state qq successfully detecting a target with state xx. For instance, we can set the detection probability to zero for all xx outside the sensor FoV. 2) The measurement model, g(zx,q)g(z\mid x,\,q), gives the likelihood of a robot with state qq receiving a measurement zz from a target with state xx. 3) The false positive (or clutter) PHD, c(zq)c(z\mid q), describes both the number and locations of the clutter measurements.

Using these target and sensor models, the PHD filter prediction (5a) and update (5b) equations are as follows:

v¯t(x)=\displaystyle\bar{v}_{t}(x)= b(x)+Ef(xξ)ps(ξ)vt1(ξ)𝑑ξ\displaystyle\,b(x)+\int_{E}f(x\mid\xi)p_{s}(\xi)v_{t-1}(\xi)\,d\xi (5a)
vt(x)=\displaystyle v_{t}(x)= (1pd(xq))v¯t(x)+zZtψz,q(x)v¯t(x)ηz(v¯t)\displaystyle\,(1-p_{d}(x\mid q))\bar{v}_{t}(x)+\sum_{z\in Z_{t}}\frac{\psi_{z,q}(x)\bar{v}_{t}(x)}{\eta_{z}(\bar{v}_{t})} (5b)
ηz(v)=\displaystyle\eta_{z}(v)= c(zq)+Eψz,q(x)v(x)𝑑x\displaystyle\,c(z\mid q)+\int_{E}\psi_{z,q}(x)v(x)\,dx (5c)
ψz,q(x)=\displaystyle\psi_{z,q}(x)= g(zx,q)pd(xq),\displaystyle\,g(z\mid x,q)p_{d}(x\mid q), (5d)

where ψz,q(x)\psi_{z,q}(x) is the probability of a sensor at qq receiving measurement zz from a target with state xx and (5c) is used within the prediction step (5b). The subscript tt refers to time. Note that v(x)v(x) is not a probability density function (PDF), but can converted into one by normalizing it with the expected number of targets in a sub-space of EE,

pt(x|E)=v(x)Ev(x)𝑑x.p_{t}(x|E)=\frac{v(x)}{\int_{E}v(x)dx}. (6)

Dames [42] developed a distributed PHD filter in which each robot maintains the PHD within a unique subset, 𝒲i\mathcal{W}_{i}, of the environment while ensuring the distributed filtering scheme yields the same target estimation performance as its centralized counterpart. Three algorithms then account for motion of the robots (to update the subsets 𝒲i\mathcal{W}_{i}), motion of the targets (in (5a)), and measurement updates (in (5b)). In this paper, we adopt the same strategy for each robot to locally maintain its portion of the PHD.

III Optimized Space Partition

We propose the novel normalized unused sensing capacity in Section III-A, which will be used to quantify the sensor heterogeneity in Section IV-C2. After that, two space partitioning algorithms are developed based on power diagram (Section III-B) and CCVD (Section III-C). Lastly, a control policy is proposed in Section III-D to optimize robot poses given the space partitioning schemes.

III-A Normalized Unused Sensing Capacity

We assume that each robot sis_{i} has a finite field of view (FoV) FiF_{i}, which could be different across the sensors ii. Examples of FiF_{i} include a wedge shape for a camera (e.g., Figure 2) or a circle for a lidar. Let pd(x|qi,θi)p_{d}(x|q_{i},\theta_{i}) denote the probability of robot sis_{i} at position qiq_{i} and with orientation θi\theta_{i} detecting a target with state xEx\in E, which is the same model as in the PHD filter. The robot cannot detect targets outside its FoV FiF_{i}, i.e., pd(x|qi,θi)=0xFip_{d}(x|q_{i},\theta_{i})=0\,\forall x\notin F_{i}. We assume that pdp_{d} is time-invariant in the robot’s local coordinate frame, but we make no other assumptions about the shape of FiF_{i} or the functional form of pdp_{d}. In practice, pdp_{d} can be estimated using data-driven approaches [59] and/or prior knowledge of the sensor model.

We define the total detecting capability of robot sis_{i} as

Di=Fipd(x|qi,θi)𝑑x,D_{i}=\int_{F_{i}}p_{d}(x|q_{i},\theta_{i})\,dx, (7)

which depends on the size of FiF_{i} and the sensor’s ability to detect information within FiF_{i}.

In this paper, we consider sensor heterogeneity in terms of not only the sensing capability, such as FoV and detection accuracy, but also its current usage to track targets. When a sensor detects a target and starts to track it, the sensor’s sensing capability will be reduced. We assume that we are tracking targets of finite size that cannot overlap, and that the target size is much smaller than the sensor’s FoV. Therefore, for a robot ii, there exists some area \mathcal{B} such that only 1 object can be in that area, i.e., maxv(x)𝑑x=1\max\int_{\mathcal{B}}v(x)\,dx=1. Then

maxpd(x|qi,θi)v(x)𝑑x\displaystyle\max\int_{\mathcal{B}}{\color[rgb]{0,0,0}p_{d}(x|q_{i},\theta_{i})}v(x)\,dx
max(maxxpd(x|qi,θi))v(x)𝑑x\displaystyle\leq\max\left(\max_{x\in\mathcal{B}}{\color[rgb]{0,0,0}p_{d}(x|q_{i},\theta_{i})}\right)\int_{\mathcal{B}}v(x)\,dx
=maxxpd(x|qi,θi)pd,\displaystyle=\max_{x\in\mathcal{B}}{\color[rgb]{0,0,0}p_{d}(x|q_{i},\theta_{i})}\approxeq p_{d}, (8)

where the last approximate equality holds for small \mathcal{B}, such that pdp_{d} is approximately constant over \mathcal{B}. We can then write robot sis_{i}’s FoV as the union of disjoint regions, k\mathcal{B}_{k}, with the above property, so that Fi=kkF_{i}=\cup_{k}\mathcal{B}_{k} and ij=,ij\mathcal{B}_{i}\cap\mathcal{B}_{j}=\emptyset,\,\forall i\neq j. Letting pd,kmaxxkpd(x|qi,θi)p_{d,k}\approxeq\max_{x\in\mathcal{B}_{k}}p_{d}(x|q_{i},\theta_{i}), we then define robot sis_{i}’s maximum sensing capacity as

Cmax,i\displaystyle C_{\textrm{max},i} =μmaxFipd(x|qi,θi)v(x)𝑑x\displaystyle=\mu\max\int_{F_{i}}p_{d}(x|q_{i},\theta_{i})v(x)\,dx
=μmaxkkpd(x|qi,θi)v(x)𝑑x\displaystyle=\mu\max\sum_{k}\int_{\mathcal{B}_{k}}p_{d}(x|q_{i},\theta_{i})v(x)\,dx
μkpd,k=μ||k||pd,k\displaystyle\approxeq\mu\sum_{k}p_{d,k}=\frac{\mu}{|\mathcal{B}|}\sum_{k}|\mathcal{B}|p_{d,k}
=μ||Fipd(x|qi,θi)𝑑x=μDi||,\displaystyle=\frac{\mu}{|\mathcal{B}|}\int_{F_{i}}p_{d}(x|q_{i},\theta_{i})\,dx=\frac{\mu{\color[rgb]{0,0,0}D_{i}}}{|\mathcal{B}|}, (9)

where DiD_{i} comes from (7) and μ\mu is a tuning parameter associated with the maximum target density in the task space. For instance, as the expected maximum distance between the targets becomes larger, a smaller μ\mu is selected to discount the maximum sensing capacity of a sensor. Remark 1 discusses the selection of μ\mu in more detail.

The expected number of target detections at xx is given by

pexp(x)=pd(x|qi,θi)pt(x|E),p_{\textrm{exp}}(x)={\color[rgb]{0,0,0}p_{d}(x|q_{i},\theta_{i})p_{t}(x|E)}, (10)

where pt(x)p_{t}(x) is defined in (6). Thus, the total expected target detection probability is given by

Cexp,i=Fipd(x|qi,θi)pt(x|Fi)𝑑x=(6)Fipd(x|qi,θi)v(x)𝑑xFiv(x)𝑑x.\begin{split}C_{\textrm{exp},i}&=\int_{F_{i}}p_{d}(x|q_{i},\theta_{i})p_{t}(x|F_{i})\,dx\\ &\overset{\eqref{eq:p_t}}{=}\frac{\int_{F_{i}}p_{d}(x|q_{i},\theta_{i})v(x)\,dx}{\int_{F_{i}}v(x)\,dx}.\end{split} (11)
Definition 1 (Normalized Unused Sensing Capacity)

The relative normalized unused sensing capacity with respect to the maximum target density for robot sis_{i}, denoted UiU_{i}, is given by

Ui\displaystyle U_{i} =Cmax,iCexp,i\displaystyle=C_{\textrm{max},i}-C_{\textrm{exp},i}
=Fi(μ||v(x)Fiv(x)𝑑x)pd(x|qi,θi)𝑑x.\displaystyle=\int_{F_{i}}\left(\frac{\mu}{|\mathcal{B}|}-\frac{v(x)}{\int_{F_{i}}v(x)\,dx}\right)p_{d}(x|q_{i},\theta_{i})\,dx. (12)

Note that (12) can be easily modified by replacing v(x)v(x) with a density function propagated via a different Bayesian filter. The normalized unused sensing capacity quantifies current capacity for a sensor to track targets. The larger the sensing capability of a robot, the higher the number of targets it can track. However, as the robot tracks an increasing number of targets, its remaining sensing capability begins to decay.

Remark 1 (Choice of μ\mu)

The choice of μ\mu is a free parameter. Setting it to a large value will make CmaxC_{\rm max} large relative to CexpC_{\rm exp}, resulting in all robots having similar unused capacities UiU_{i}. Picking μ=0\mu=0 will result in robots only using the expected number of detections CexpC_{\rm exp} with no acknowledgement of total capacity. When the target density is unknown, we may choose μ=||\mu=|\mathcal{B}| to account for the maximum possible number of target detection. Otherwise, μ\mu can be set as the ratio of approximate mm and the number of E\mathcal{B}\in E.

III-B Power Diagram Implementation

To maximize the total detection probability of targets, we control the robots, considering their heterogeneity in spatial deployment. To this end, we optimize both space partitioning and each sensor’s location within its assigned partition. Unlike the Voronoi diagram, which is suitable for the sensors with a homogeneous and isotropic sensing model, power diagrams [60] are often used to compute the optimal dominance regions when the team has heterogeneous sensing models.

Refer to caption
Figure 1: Comparison of a Voronoi diagram (black lines), a power diagram (blue lines), and a CCVD (red curves and colored partitions). The darkness of each generation point (gray-scale dot) corresponds to its weight, i.e., power radius, with darker points having higher weights. The three diagrams converge to the same solution when the weights for all generation points are identical.

The power diagram is a variant of the standard Voronoi diagram that uses the power distance,

f(xpi)=xpi2ρ(si)2,f(\|x-p_{i}\|)=\|x-p_{i}\|^{2}-\rho(s_{i})^{2}, (13)

where ρ(si)\rho(s_{i}) is the weight or power radius of sis_{i}, and pip_{i} is the generation point. Figure 1 illustrates an example of the power diagram. Existing power diagram-based approaches utilized sensor positions as the generation points, pip_{i}, and the radii of the sensor FoVs as the weights, ρ(si)\rho(s_{i}), to account for sensor heterogeneity [50, 41]. However, these approaches are limited to isotropic sensors. On the other hand, our approach extends to heterogeneous anisotropic sensors.

We utilize the normalized unused sensing capacity UiU_{i} to set the power radius in (13). This is a novel strategy to account for the heterogeneity in computing the dominance regions. To achieve this, we proceed by expressing the optimization functional (2) as

p(Q,𝒲)=i=1n𝒲i(xpi2g(Ui)2)ϕ(x)𝑑x,\mathcal{H}_{p}(Q,\mathcal{W})=\sum_{i=1}^{n}\int_{\mathcal{W}_{i}}\left(\|x-p_{i}\|^{2}-g(U_{i})^{2}\right)\phi(x)\,dx, (14)

where g:g:\mathbb{R}\rightarrow\mathbb{R} is a mapping from the unused sensing capacity to the power radius. Since the normalized unused sensing capacity has units of area, we choose gg such that the resulting power radius, g(Ui)g(U_{i}), is equal to the radius of a perfect (i.e., pd=1p_{d}=1) isotropic sensor with the same total sensing capability, DiD_{i}, i.e., πg(Ui)2=Ui\pi g(U_{i})^{2}=U_{i}. Therefore we have

g(Ui)=Uiπ.g(U_{i})=\sqrt{\frac{U_{i}}{\pi}}. (15)

Existing methods based on the power diagram, such as [50, 41, 51], assume that the sensor’s detection probability at xx in its assigned power partition is a non-increasing function of the distance from xx to the sensor. In other words, the location of a sensor is the location that maximizes its detection probability of targets in its power partition. Thus, it makes sense that they use the sensor location as the generation point, i.e., let pi=qip_{i}=q_{i}. However, this no longer holds true for anisotropic sensors.

Instead, we find the weighted centroid of the detection probability as

qcod,i=Fixpd(x|qi,θi)𝑑xFipd(x|qi,θi)𝑑x,q_{\textrm{cod},i}=\frac{\int_{F_{i}}xp_{d}(x|q_{i},\theta_{i})\,dx}{\int_{F_{i}}p_{d}(x|q_{i},\theta_{i})\,dx}, (16)

which we call the centroid of detection (COD). We use COD as the generation points for our power diagram, i.e., pi=qcod,ip_{i}=q_{\textrm{cod},i}.333Note that for an isotropic sensor the COD will be the same as the sensor position. Thus, the power partition of each robot becomes

𝒲i={xi=argmink=1,,n(xqcod,k2g(Uk)2)}.\mathcal{W}_{i}=\{x\mid i=\operatorname*{arg\,min}_{k=1,\ldots,n}(\|x-q_{\textrm{cod},k}\|^{2}-g(U_{k})^{2})\}. (17)
Remark 2

For given FiF_{i} and pdp_{d} of a robot sis_{i}, we can use (7) to find an equivalent isotropic set FiF_{i}^{\prime} satisfying Fipd(x|qi,θi)𝑑x=Di\int_{F_{i}^{\prime}}p_{d}(x|q_{i},\theta_{i})\,dx=D_{i}. This will map an arbitrary sensor model, characterized by FiF_{i} and pdp_{d}, to a perfect isotropic sensor, characterized by a circular FiF_{i}^{\prime} with pd(x)=1xFip_{d}(x)=1~{}\forall x\in F_{i}^{\prime}. By choosing the appropriate mapping of the normalized unused sensing capacity g(Ui)g(U_{i}), the weighted center of detection qcod,iq_{\textrm{cod},i} and the total sensing capacity DiD_{i} are preserved as those of the original sensor model. Hence, unused sensing capabilities of different sensors can be directly compared by their power radii, and so does the task spaces they should be assigned.

III-C Capacity-Constraint Voronoi Diagram Implementation

The capacity-constraint Voronoi diagram (CCVD) [61], visualized in Figure 1, computes the optimal task space assignment with the weight of each generation point as a hard constraint and yields closed-form optimal space partition in a discrete space. This is done by two steps: initial cell assignment and cell swapping. 1) Firstly, the task space is segmented into a finite set of regular grid cells X={x1,,x|X|}X=\{x_{1},\cdots,x_{|X|}\}, where each cell is identified by its center xix_{i}. The iith cell is indexed by X[i]X[i]. Then, we conduct an initial cell assignment satisfying a capacity constraint which specifies the maximum number of cells that can be assigned to each generation point. 2) Secondly, we iteratively revise the cell assignment to minimize the total cost defined by

xXf(xA(x))=xXxA(x)2xXρ(A(x))2,\sum_{x\in X}f(\|x-A(x)\|)=\sum_{x\in X}\|x-A(x)\|^{2}-\sum_{x\in X}\rho(A(x))^{2}, (18)

where A(x)A(x) is the generation point assigned to xEx\in E, f()f(\cdot) is a monotonically increasing function as introduced in (2), and ρ()\rho(\cdot) denotes the weight of a generation point as introduced in (13). The right-most term in (18) is a constant for all assignments, and can therefore be omitted. The cell assignment minimizing (18) results in a discrete power diagram where the number of cells in each power partition is equivalent to the capacity of its generation point.

III-C1 Initial Cell Assignment

To implement the CCVD in the robot task assignment, EE is segmented into |X||X| cells such that the size of each cell fits the maximum size of an individual target. To take the sensor heterogeneity into consideration, we associate the capacity of each robot sis_{i}, i.e., the number of cells assigned to sis_{i}, denoted by Ucap,iU_{\textrm{cap},i}, with its normalized unused sensing capacity UiU_{i}. Therefore, we normalize UiU_{i} to Ucap,iU_{\textrm{cap},i} by selecting a constant II

Ucap,i=IUi,i=1,,nU_{\textrm{cap},i}=I\cdot U_{i},~{}\forall i=1,\ldots,n (19)

at each discrete time step such that i=1,,nUcap,i=|X|\sum_{i=1,\dots,n}U_{\textrm{cap},i}=|X| and round Ucap,iU_{\textrm{cap},i} to an integer. Similar to Section III-B, we use qcod,iq_{\textrm{cod},i}, i.e., COD of each robot, as the CCVD generation points instead of robot’s locations. The initialization step requires all robots to synchronize II in order to find Ucap,iU_{\textrm{cap},i} through (19) in a distributed manner. To achieve that, a distributed consensus protocol [62] is applied as outlined in Algorithm 1. Initially, an equal number of cells is assigned to each robot sis_{i} to compute a temporary constant I~i\tilde{I}_{i}. Then the robots reach a consensus on I~i=I\tilde{I}_{i}=I via Equation 20 to determine Ucap,iU_{\textrm{cap},i} using (19) distributedly.

Input : Ui,XU_{i},X
Output : 𝒲i0\mathcal{W}^{0}_{i}
1 Initialize Ucap,i|X|/nU_{\textrm{cap},i}\leftarrow|X|/n and set I~iUcap,i/Ui\tilde{I}_{i}\leftarrow U_{\textrm{cap},i}/U_{i}
2 Find the neighbor set 𝒩i\mathcal{N}_{i}
3 Update I~i\tilde{I}_{i} using
I~iI~i+j𝒩i(I~jI~i)\tilde{I}_{i}\leftarrow\tilde{I}_{i}+\sum_{j\in\mathcal{N}_{i}}(\tilde{I}_{j}-\tilde{I}_{i}) (20)
until Δt\Delta t time is up
4 Compute Ucap,iU_{\textrm{cap},i} using Equation 19
𝒲i0{X[j=1i1Ucap,j+1],,X[j=1iUcap,j]}\mathcal{W}^{0}_{i}\leftarrow\{X[\sum_{j=1}^{i-1}\cdot U_{\textrm{cap},j}+1],~{}\ldots,~{}X[\sum_{j=1}^{i}\cdot U_{\textrm{cap},j}]\}
Algorithm 1 Distributed Initialization (Single Robot sis_{i} in One Iteration)

III-C2 Recursive Cell Assignment

The original CCVD is constructed by iteratively swapping the cell assignment to all generation points, which is computationally expensive since each of the cells needs to be examined for the optimal assignment. In contrast, the enhanced approach by [63] reduces the computational complexity without compromising the quality of the point distribution, by allowing a more efficient assignment strategy called median site swap, leading to faster convergence and lower time complexity. To illustrate, the median site swap method focuses on finding an optimal cell τ\tau to as a distance reference to re-assign cells between the two robots sis_{i}, and sjs_{j}, without the need to examine every cell.

We propose a distributed cell assignment algorithm, outlined in Algorithm 2, based upon [63, Algorithm 3]. Initially, an indicator stableistable_{i} is set to false for a robot sis_{i}, indicating that the robot has not been assigned the best set of cells that minimizes (18). Then the robot compares its ID with those of other robots from its neighbor set. It undertakes the computation for the neighbors with greater IDs by updating the assignment as outlined in Lines 4-18, while requesting updates to its capacity from neighbors with smaller IDs, as outlined in Lines 19-22.

As an example, consider two robots si,sjs_{i},s_{j} with i<ji<j. A serving robot sis_{i} requests the capacity and the position from its served neighbor sjs_{j} to conduct cell assignment, demonstrated as follows. For this pair of neighboring robots, we aim to minimize the cost given by

Δe(x,qcod,i,qcod,j):=xqcod,ixqcod,j.\Delta e(x,q_{\textrm{cod},i},q_{\textrm{cod},j}):=\|x-q_{\textrm{cod},i}\|-\|x-q_{\textrm{cod},j}\|. (21)

In Lines 7-9, we calculate the cost defined in (21) for robot sis_{i} to cover a cell and store it as a key in an array PijP_{ij}. Then, we need to find the optimal Ucap,jU_{\textrm{cap},j} cells out of the total (Ucap,i+Ucap,j)(U_{\textrm{cap},i}+U_{\textrm{cap},j}) to assign for robot sjs_{j} in order to minimize the cost, while assigning the rest to robot sis_{i}. This is done in Line 10 by finding a cell τ\tau which only allows Ucap,jU_{\textrm{cap},j} cells to have Δe(xk,qcod,i,qcod,j)<Δe(τ,qcod,i,qcod,j)\Delta e(x_{k},q_{\textrm{cod},i},q_{\textrm{cod},j})<\Delta e(\tau,q_{\textrm{cod},i},q_{\textrm{cod},j}). Physically, the cell τ\tau is the median cell, i.e., the cell with the median Δe\Delta e value, of all cells assigned to both robots sis_{i} and sjs_{j}. After finding τ\tau, any cell that costs less than the cell τ\tau is assigned to robot sjs_{j}; otherwise it is assigned to robot sis_{i} as outlined in Lines 11-15. Lines 16 and 17 is to keep track of the convergence of the assignment, which occurs when τ\tau remains unchanged from the previous iteration. On the other hand, the served robot sends its capacity and position to its serving neighbor to request its assignment 𝒲i\mathcal{W}_{i}, outlined in Lines 21-22.

One may notice that Algorithm 2 yields uneven computational workload at each robot. In particular, robots with smaller IDs take on more computation tasks for the cell assignment than those with larger IDs. In practice, one can assign smaller IDs to robots with higher computational resources.

Input : 𝒲i0,X\mathcal{W}^{0}_{i},X
Output : 𝒲i\mathcal{W}_{i}
1 stableifalsestable_{i}\leftarrow false
2 Find the neighbor set 𝒩i\mathcal{N}_{i}
3 for each robot sj𝒩is_{j}\in\mathcal{N}_{i} with ID jj do
4       if i<ji<j  then
5             while stablei=falsestable_{i}=false do
6                   Request 𝒲j0,qcod,j\mathcal{W}^{0}_{j},q_{\textrm{cod},j} from sjs_{j} \triangleright Robot with smaller ID (serving robot) requests data from the other (served robot) and computes the partitions for both
7                   Initialize an array PijP_{ij} \triangleright For storing cells and their costs, i.e., keys
8                   for each cell xk{𝒲i0,𝒲j0}x_{k}\in\{\mathcal{W}^{0}_{i},\mathcal{W}^{0}_{j}\} do
9                         Insert xkx_{k} into PijP_{ij} with Δe(xk,qcod,i,qcod,j)\Delta e(x_{k},q_{\textrm{cod},i},q_{\textrm{cod},j}) as its key
10                        
11                  Find τPij\tau\in P_{ij} so that only Ucap,jU_{\textrm{cap},j} cells have Δe(xk,qcod,i,qcod,j)<Δe(τ,qcod,i,qcod,j)\Delta e(x_{k},q_{\textrm{cod},i},q_{\textrm{cod},j)}<\Delta e(\tau,q_{\textrm{cod},i},q_{\textrm{cod},j})
12                   for each cell xkPijx_{k}\in P_{ij} do
13                         if Δe(xk,qcod,i,qcod,j)<Δe(τ,qcod,i,qcod,j)\Delta e(x_{k},q_{\textrm{cod},i},q_{\textrm{cod},j})<\Delta e(\tau,q_{\textrm{cod},i},q_{\textrm{cod},j}) then
14                               Assign xkx_{k} to 𝒲j\mathcal{W}_{j} \triangleright Assign the cell to sjs_{j} if it costs less than the median cell
15                        else
16                              Assign xkx_{k} to 𝒲i\mathcal{W}_{i} \triangleright Otherwise, assign it to sis_{i}
17                        
18                  if τ\tau unchanged from last iteration then
19                         stableitruestable_{i}\leftarrow true \triangleright Reach the steady state and terminate
20                  
21            𝒲iSwapped𝒲i0\mathcal{W}_{i}\leftarrow\textrm{Swapped}~{}\mathcal{W}^{0}_{i} \triangleright Update its own partition
22             Send 𝒲jSwapped𝒲j0\mathcal{W}_{j}\leftarrow\textrm{Swapped}~{}\mathcal{W}^{0}_{j} to sjs_{j} \triangleright Send updated partition to the other robot
23            
24            
25      else
26             Send 𝒲i0,qmax,i\mathcal{W}^{0}_{i},q_{\textrm{max},i} to sjs_{j} \triangleright Robot with larger ID sends data to the other and wait for the partition
27             Request 𝒲i\mathcal{W}_{i} from sjs_{j}
28            
29      
Algorithm 2 Distributed Cell Swapping (Single Robot sis_{i} in One Iteration)

III-D Optimized poses

1 while active do
2       Find optimized space partition 𝒲i\mathcal{W}_{i}
3       Update ϕ(x)=v(x)\phi(x)=v(x) for xFix\in F_{i} using (5)
4       Send ϕ(x),xFj\phi(x),x\in F_{j} to neighbors for all {sj|Fi𝒲j}\{s_{j}~{}|~{}F_{i}\cup\mathcal{W}_{j}\neq\emptyset\}
5       Receive ϕ(x),x𝒲i\phi(x),x\in\mathcal{W}_{i} from neighbors for all {sj|Fj𝒲i}\{s_{j}~{}|~{}F_{j}\cup\mathcal{W}_{i}\neq\emptyset\} and compute C𝒲iC_{\mathcal{W}_{i}} via (23)
6       Execute control uiu_{i} and ωi\omega_{i} via (24)
Algorithm 3 Distributed Control (Single Robot sis_{i})

Once the optimized partition is retrieved, each robot must move to its optimized pose to improve the detection probability. By adopting the same analytical approach presented in [29], we can compute the partial derivative of p(Q,𝒲)\mathcal{H}_{p}(Q,\mathcal{W}) with respect to qcod,iq_{\textrm{cod},i} as

p(Q)qcod,i=2M𝒲i(qcod,iC𝒲i),\frac{\partial\mathcal{H}_{p}(Q)}{\partial q_{\textrm{cod},i}}=2M_{\mathcal{W}_{i}}(q_{\textrm{cod},i}-C_{\mathcal{W}_{i}}), (22)

where M𝒲iM_{\mathcal{W}_{i}} and C𝒲iC_{\mathcal{W}_{i}} are the mass and center of mass associated with the region 𝒲i\mathcal{W}_{i}, respectively, defined as

M𝒲i=\displaystyle M_{\mathcal{W}_{i}}= 𝒲iϕ(x)𝑑x,\displaystyle\int_{\mathcal{W}_{i}}\phi(x)\,dx, (23)
C𝒲i=\displaystyle C_{\mathcal{W}_{i}}= 1M𝒲i𝒲ixϕ(x)𝑑x.\displaystyle\frac{1}{M_{\mathcal{W}_{i}}}\int_{\mathcal{W}_{i}}x\phi(x)\,dx.

Thus, as qcod,iq_{\textrm{cod},i} is recursively driven to C𝒲iC_{\mathcal{W}_{i}}, the partial derivative approaches to 0 and thus sensing capability of sis_{i} in 𝒲i\mathcal{W}_{i} is optimized. The control inputs in (1) for sis_{i} are then given by

ui=\displaystyle u_{i}= C𝒲iqcod,i(dt)1,\displaystyle\,\|C_{\mathcal{W}_{i}}-q_{\textrm{cod},i}\|(dt)^{-1}, (24)
Δθ=\displaystyle\Delta\theta= ang(C𝒲iqcod,i)θi,\displaystyle\,\textrm{ang}(C_{\mathcal{W}_{i}}-q_{\textrm{cod},i})-\theta_{i},
ωi=\displaystyle{\color[rgb]{0,0,0}\omega_{i}}= |Δθ|(dt)1sgn(Δθθi),\displaystyle|\Delta\theta|(dt)^{-1}\textrm{sgn}(\Delta\theta-\theta_{i}),

where ang()\textrm{ang}(\cdot) denotes the angle of a position vector in global frame.

Algorithm 3 outlines the distributed control algorithm for each robot. At each time step, the robot first finds the optimized partition using one of the approaches explained in Sections III-B and III-C, and maintains the PHD within its partition using the same strategy as in [42], which requires the exchange of local PHD with its neighbors. Then, the robot computes its control using (24).

IV Performance Analysis

IV-A Computational Complexity

Our distributed algorithms for the space partitioning using a power diagram, as described in Sections III-B and III-C, are similar to distributed computation methods for constructing a Voronoi diagram. Resorting to the computational complexity analysis reported in [64], the complexity of such methods is 𝒪(log|𝒩i|)\mathcal{O}{\left(\log{|\mathcal{N}_{i}|}\right)} and, hence, so is ours, where |𝒩i||\mathcal{N}_{i}| is the number of neighbors of each robot sis_{i}.

In the CCVD implementation described in Section  III-C, Algorithm 2 requires each of the nn robots to find the optimal assignment of the total |X||X| cells. For the worst-case complexity analysis, we assume that each robot is a neighbor of all the other robots, resulting in n1n-1 execution of the loop in Lines 3-21. The most time-consuming part of the algorithm is in finding the cell τ\tau, i.e., the median point in the unordered array PijP_{ij}. In our implementation, we employ Hoare’s quick-select algorithm [65] to find the median value τ\tau by choosing a pivot randomly and dividing the array into two parts, i.e., one with values less than or equal to the pivot and the other with the values greater than the pivot. The median value is either included in the former part if this array has (n+1)/2(n+1)/2 elements or more, where nn is the number of elements in the array, or the latter part otherwise. This divide-and-conquer algorithm allows the algorithm to run in linear time on average, with the time complexity of 𝒪(|X|n)\mathcal{O}{\left(\frac{|X|}{n}\right)} [63]. Hence, the total time complexity for each single neighbor iteration is 𝒪(|X|n)\mathcal{O}{\left(\frac{|X|}{n}\right)}. Considering that the robot has n1n-1 neighbors by assumption, the complexity for a single robot iteration is 𝒪(|X|)\mathcal{O}{\left(|X|\right)}.

Therefore, the distributed construction of power diagrams has lower computational complexity compared to the construction of CCVDs. Additionally, the complexity of constructing power diagrams depends only on the number of neighbors, making it a better choice when the computational power of the robots is limited, despite the fact that it provides only a near-optimal solution for space partitioning. One may choose to use the most suitable algorithm depending on the available computational resources and trade-off between computational time and tracking accuracy.

IV-B Communication Load

We assume that the communication between each robot and its neighbors is lossless and delay-free. The bandwidth requirement for the robot network is mainly determined by the number of neighbors each robot has and both the size and the frequency of data exchange. On the one hand, given a fixed data size and communication frequency, the worst-case bandwidth requirement occur when all robots are neighbors of one another , in which case n(n1)n\left(n-1\right) non-overlapping communication links are required, where nn is the number of robots. In fact, this worst case assumption is unlikely to happen as the robots are expected to spread out over a large task space.

On the other hand, given a fixed number of communication channels, each robot only needs to exchange information about its space assignment (either power partition vertices or CCVD cell sets), location, and local PHD to its neighbors. The Voronoi methods, at least with constant weighting function, typically result in each robot having 6 neighbors in a hexagonal packing structure [66]. Hence, the bandwidth requirement is low, and will not increase as the environmental dimension (number of robots and targets, size of the task space, etc) increases.

To analyze the communication load of the space partitioning algorithms, we consider the data size of the information exchanged between robots. For the power diagram, the data size is determined by the number of vertices in the power partition, which is proportional to the number of cells in the task space. Each vertex is represented by a 2D position vector, which requires 8 bytes per vertex for a double-precision floating point number. For the CCVD, each robot shares its current cell assignments, capacity, and local information about detected targets. The data size is proportional to the number of cells in the task space and the number of detected targets. Each cell is represented by a 2D position vector, which requires 8 bytes per cell. Each detected target is represented by a 2D position vector and a detection probability, which requires 12 bytes per target. Hence, for an average of 6 neighbors, 10 targets per robot, and a frequency of 1 Hz, the bandwidth requirement for the power diagram is 8×6×1=488\times 6\times 1=48 bytes per second, and for the CCVD is (8+12×10)×6×1=768\left(8+12\times 10\right)\times 6\times 1=768 bytes per second.

Currently, robots share all information with their neighbors in every iteration. However, the communication frequency and bandwidth requirements can be further reduced through selective sharing approaches, where re-partitioning only happens when robot positions change significantly.

IV-C Performance Metrics

IV-C1 Tracking Accuracy

To assess the tracking performance, we use the first order Optimal SubPattern Assignment (OSPA) metric [67], which is a widely-adopted metric to evaluate the performance of MTT approaches. Given two sets XX and YY (representing the true and estimated target locations), the tracking error is defined as444Without loss of generality, we assume that |X|=m|Y|=n|X|=m\leq|Y|=n holds. In other words, XX represents either the true or estimated target set, whichever is smaller.

d(X,Y)=(1nminπΠn(i=1mdc(xi,yπ(i))p+cp(nm)))1/p.d(X,Y)=\\ \left(\frac{1}{n}\min_{\pi\in\Pi_{n}}\left(\sum_{i=1}^{m}d_{c}(x_{i},y_{\pi(i)})^{p}+c^{p}(n-m)\right)\right)^{1/p}. (25)

The constant cc is a cutoff distance, dc(x,y)=min(c,xy)d_{c}(x,y)=\min(c,\|x-y\|), and Πn\Pi_{n} is the collection of all permutations of the set {1,2,,n}\{1,2,\ldots,n\}. The larger the value of pp is, the more the outliers are penalized. Eq. (25) computes the average matching error between true and estimated target locations considering all possible assignments between elements xXx\in X and yYy\in Y that are within distance cc. This can be efficiently computed in polynomial time using the Hungarian algorithm [68]. Note that the lower the OSPA value, the more accurate the tracking of the targets.

IV-C2 Heterogeneity Level

We define a measure of the heterogeneity in a team as follows.

Definition 2 (Heterogeneity Level)

The heterogeneity level of a sensing network S={s1,s2,,sn}S=\{s_{1},s_{2},...,s_{n}\}, denoted by L(S)L(S), is given by the standard deviation of the power radius of each sensor in SS, i.e.,

L(S)=1ni=1n(g(Cmax,i)g¯)2L(S)=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(g(C_{max,i})-\bar{g})^{2}} (26)

where g¯=1ni=1ng(Cmax,i)\bar{g}=\frac{1}{n}\sum_{i=1}^{n}g(C_{max,i}), where the function gg is given in (15) and Cmax,iC_{max,i} is the maximum sensing capacity of robot sis_{i}.

Definition 3 (Total Sensing Capacity)

The total sensing capacity, of a sensing network SS is given by

C(S)=i=1nCmax,i.C(S)=\sum_{i=1}^{n}C_{\textrm{max},i}. (27)

V Simulation Results

We conduct simulations using both ROS and MATLAB to validate our proposed multi-robot multi-target tracking framework. For concise presentation, all simulations adopt sensors with wedge-shaped FoVs whose shape is parameterised by a viewing angle Γi\Gamma_{i} in the forward direction, which is the same as the orientation of a robot, and a radius LiL_{i}. Cameras and lidars have such model. Two examples are visualized in Figure 2. The probability of target detection for these FoVs is defined by

pd(x|qi,θi)={fd,i(ΔL)if xFi0otherwise,p_{d}(x|q_{i},\theta_{i})=\begin{cases}f_{d,i}(\Delta L)&\text{if }x\in F_{i}\\ 0&\textrm{otherwise},\end{cases} (28)

where ΔL=xqi\Delta L=\|x-q_{i}\|, and fd,i(ΔL)f_{d,i}(\Delta L) is the probability density function that assigns the target detection probability given the distance ΔL\Delta L between the target and robot sis_{i}. Specific implementations of fd,if_{d,i} used in simulations are provided in Table I.

Unlike the most existing work such as [41, 50, 51, 52, 53, 31], in this paper, we estimate the target distribution ϕ(x)\phi(x) online using the PHD filter. Hence, our problem is significantly more challenging since the robots need to perceive and track targets simultaneously. We will compare our new approach against the standard Voronoi based method and the power diagram based algorithm proposed in our previous conference paper [57] to provide a baseline for performance comparison.

Refer to caption
(a) Type 1 shape
Refer to caption
(b) Type 2 shape
Figure 2: Two types of sensors used in the simulations. Type 1 and type 2 have viewing angles of 4545^{\circ} and 240240^{\circ}, respectively. Black squares represent the location of sensors. The viewing angles, radii, and forward directions of both FoVs are indicated in the figures.
TABLE I: TurtleBot3 Sensors
Types Specs Θi\Theta_{i} (deg) LiL_{i} (m) fd,i(ΔL)f_{d,i}(\Delta L) CmaxC_{max}
1 270 3 0.990.1ΔL0.99-0.1\cdot\Delta L 1.675
2 360 3 0.990.067ΔL0.99-0.067\cdot\Delta L 2.422
3 90 3 0.99 0.700
4 90 2.5 0.990.1ΔL0.99-0.1\cdot\Delta L 0.404
5 360 2 0.99 1.257

V-A Qualitative Results

First, we apply CCVD implementation and show the result from a single run using 5 TurtleBot3 Burger differential drive robots, namely s1,,s5s_{1},\ldots,s_{5}, tracking 40 holonomic moving targets in a 10m×10m10\,\mathrm{m}\times 10\,\mathrm{m} obstacle-free square task space as visualized in Figure 3.

Refer to caption
Figure 3: Visualization of a simulation environment in Gazebo with 5 TurtleBot3 Burger wheeled robots and multiple moving targets, represented with red balls.

The simulation was implemented using Ubuntu 18.04 with ROS Melodic. The robots move at a maximum linear velocity of 0.2m/s0.2\,\mathrm{m/s} and a maximum angular velocity of 1rad/s1\,\mathrm{rad/s}, and they are able to localize themselves using position data retrieved from ROS topic /odom , i.e., the ground truth state from Gazebo. Our MR-MTT algorithm recursively generates next waypoints for the robots, and they navigate through the waypoints using the move_base ROS package which uses the dynamic window approach (DWA) as a local planner and Dijkstra’s algorithm as a global planner [69].

All robots are equipped with heterogeneous range-bearing sensors with specifications described in Table I. The standard deviation of range and bearing measurements for all sensors is 0.04 m and 0.10.1^{\circ}, respectively. Since target density is low relative to the size of EE and the FoV of robots, we select μ=0.1\mu=0.1 in (9) for all robots. The task space is discretized into 50×5050\times 50 cell for both PHD representation and task space assignment. We assume that only one target can occupy each 0.2m×0.2m0.2\,\mathrm{m}\times 0.2\,\mathrm{m} cell.

As explained in Section I, an important application of the MR-MTT is in tracking targets to study collective behaviours of animal groups and crowd dynamics of pedestrians. Motivated by related works in modeling their collective motion [70], we apply Boids algorithm, which has been used to study the emergent flocking behaviors arising in social animal groups from combinations of separation, alignment, and cohesion behaviors, to simulate the moving targets.

In our simulations, a target may exit the task space in which case another target will immediately enter into the space to maintain a constant number of targets. Targets move at a maximum speed of 0.2m/s0.2\,\mathrm{m/s}.

The robots begin with a uniform PHD where we set the expected number of targets equal to 11 over the entire task space, meaning that they have no prior knowledge of the target density distribution. At the beginning of the simulations, the robots are located alongside the lower edge of the task space where they cannot detect the majority of the targets. Four animation clips excerpted from a 12 minute 30 second long target tracking simulation are presented in Figure 4. Each column corresponds to one of the clips illustrating the following three behaviors exhibited by the robot network.

Refer to caption
(a) Gazebo 0-2’30”
Refer to caption
(b) RViz 0”
Refer to caption
(c) RViz 2’30”
Refer to caption
(d) Gazebo 3’40”-4’06”
Refer to caption
(e) RViz 3’40”
Refer to caption
(f) RViz 4’06”
Refer to caption
(g) Gazebo 4’30”-5’12”
Refer to caption
(h) RViz 4’30”
Refer to caption
(i) RViz 5’12”
Refer to caption
(j) Gazebo 5’20”-6’30”
Refer to caption
(k) RViz 5’20”
Refer to caption
(l) RViz 6’30”
Figure 4: Figures showing four clips during a single test using five TurtleBot3 robots, one of each type in Table I, to track forty moving targets, i.e., from starting moment to 2 min 30 s (Figures 4a4b4c), from 3 min 40 s to 4 min 6 s (Figures 4d4e4h), from 4 min 30 s to 5 min 12 s (Figures 4g4h4k), and from 5 min 20 s to 6 min 30 s (Figures 4j4k4l), respectively. Figures on the first column are screenshot overlays of Gazebo GUI taken at the final time in the time interval, showing the top-view of five robots with FoVs, marked in red, and targets marked in magenta dots. Robot trajectories and target traces are also shown. Figures on the second and the third column show screenshot of RViz GUI at the beginning and the end of each clip, respectively. Red arrows show robot locations and orientations. Blue dots show target locations. Regions in different shades of grey show the assigned cells for each robot.
Refer to caption
Figure 5: Figure showing trajectories over 12 min 30 s testing time of 5 robots in the square open task space.The numbers indicate the IDs of the robots.
Refer to caption
Figure 6: Figure showing OSPA error at each discrete time step and its moving average over the previous five data points during the entire simulation time.
Refer to caption
(a) Robot 1
Refer to caption
(b) Robot 2
Refer to caption
(c) Robot 3
Refer to caption
(d) Robot 4
Refer to caption
(e) Robot 5
Refer to caption
(f) Total
Figure 7: Figures plot the normalized unused sensing capacities UU (abbreviated as ”Capacity” for the y-axis) and the numbers of detected targets for all five robots and their summation over the entire testing time. Red horizontal lines show the maximum sensing capacities CmaxC_{max}.
Refer to caption
(a) 4’26”
Refer to caption
(b) 4’28”
Figure 8: Figures showing the number of cells assigned to the top-left robot switching from 140 at 4 min 26 s to 109 after 2 seconds.
Target Coverage

Our algorithm guides the robot to explore the task space when no targets are detected and to maintain coverage of the majority of detected targets when the robot detects multiple targets moving in different directions. The first clip (i.e., the first row in Figure 4) shows the initial exploration process where 5 robots start from their initial locations and move across the task space as the control input (24) drives the COD of each robot to the centroid of its CCVD.

The area that each robot covers for target detection is continuously updated to respond to the targets’ movement, and the sensor FoVs cover most of the areas with high target density, as observed in Figures 4d,4e,4f, Figures 4g,4h,4i, and Figures 4j,4k,4l. In the second clip, we can see that three robots in the bottom tend to gather close to each other as the targets densely aggregate in the lower-right corner of the task space while maintaining certain distance from one another to cover a larger area. Across all figures, we can observe that a sensor with a higher sensing capability is assigned with a larger task region optimized by our task assignment method.

Target Following

When a robot detects a small number of targets moving in about the same direction, the robot follows those targets. This can be observed in Figures 4j,4k,4l, where the right-most robot follows three targets that are moving towards the bottom of the task space.

Target Tracking Reallocation

When a robot detects multiple targets moving in different directions, it chooses to follow the targets that are within its assigned cells and reallocates the task of tracking other targets to its neighboring robots as the targets move into their cells. This is illustrated in Figures 4g,4h,4i where the right-most robot follows the multiple targets clustered at its top-left region as the weighted centroid of PHD over its assigned region shifts toward the target cluster. As these targets move outside the robot’s assigned region, they no longer dominate the weighted centroid, causing the robot to follow the other three targets on its right to maintain coverage of the bottom-right corner of the task space, shown in the fourth clip. Such responsive switching behavior in the target coverage and following allows the robots to effectively gather information on the target’s locations.

Robot trajectories over the entire simulation time are plotted in Figure 5. Each robot first spreads out to deploy across the task space, indicated by the relatively straight part of trajectories. Then each robot moves twistingly as it searches for or tracks targets within a relatively smaller area of the task space. The trajectories reveal that robots with greater sensing capabilities, e.g., robot 1 and 2, move within a smaller range after initial deployment, while those with weaker sensing capabilities, e.g., robot 3, 4, and 5, move within a wider range. This is due to the fact that the former robots often detect more targets moving in various directions and perform target coverage behavior within a relatively fixed region, while the latter ones more frequently detect fewer targets and perform target following across a wider sub-region. Figure 6 plots the OSPA error with p=1p=1 and c=3c=3 in (25), which indicates that targets are effectively tracked after the initial deployment of the robotic network as the OSPA error significantly decreases comparing to the initial state.

Figure 7 plots the changes in the robots’ normalized unused sensing capacity as the numbers of detected targets changes over time. Overall, the normalized unused sensing capacity tends to decrease as the number of detected targets increases for each robot, reflecting the online adaptability of task assignment to the workload. However, such increase and decrease do not strictly correspond to each other due to the presence of sensor false alarms (i.e., false negative or false positive detections).

Figure 8 visualizes the variation in the number of cells assigned to the top-left robot as the number of detected targets changes. As the robot detects more targets,its normalized unused sensing capacity is reduced and, hence, so does its assigned task region. Consequently, a large coverage region is assigned to its neighbors , whose normalized unused sensing capacities are unchanged.

V-B Quantitative Results

TABLE II: Types of Heterogeneous Sensors
Types Specs Θi\Theta_{i} (deg) LiL_{i} (m) fd,i(ΔL)f_{d,i}(\Delta L) CmaxC_{max}
A 45 8 0.99 24.88
B 45 8 0.7 17.59
C 240 8 0.99 134.04
D 270 11.3 0.99 300.86
E 270 16 0.99 603.17
TABLE III: Network Compositions
Comp Type A B C D E C(S)C(S) L(S)L(S)
S1S_{1} 6 18 12 - - 2074.4 3.7
S2S_{2} 8 24 16 - - 2765.8 3.7
S3S_{3} 10 30 20 - - 3457.3 3.7
S4S_{4} 16 - - - 2 1604.4 6.1
S5S_{5} 16 - - 4 - 1604.4 4.9
S6S_{6} 16 - 9 - - 1604.4 3.1
Refer to caption
Figure 9: An example of coverage paths for a sixty-robot team. Colored curves show planed coverage paths for each robot to cover its assigned Voronoi cell. Each robot must move to the starting point of its coverage path first from its original location at the beginning of each simulation trial.
Refer to caption
(a) 36 Robots (S1)
Refer to caption
(b) 48 Robots (S2)
Refer to caption
(c) 60 Robots (S3)
Figure 10: Boxplots showing the median and the 25th and 75th percentiles of average OSPA error for each test configuration. Blue, red, magenta, green, and black boxplots show results of Zigzag (Z) method, Voronoi (V) method, Voronoi-COD (VC) method, Power-COD (PC) method, and CCVD-COD (CC) method, respectively. Figure 10a, 10b and 10c show results of network size 36 (S1S_{1}), 48 (S2S_{2}), and 60 (S3S_{3}) respectively. Each boxplot show results of a robotic network with certain size tracking 30, 40, and 50 moving targets respectively from left to right.
TABLE IV: P-value of Average OSPA
Team 36 Robots (S1) 48 Robots (S2) 60 Robots (S3)
Methods Targets 30 Targets 40 Targets 50 Targets 30 Targets 40 Targets 50 Targets 30 Targets 40 Targets 50 Targets
VC-PC 0.8468 0.0783 0.1128 0.2499 0.2477 0.0001 0.0155 0.0585 0.0731
PC-CC 0.9209 0.0605 0.5158 0.0225 0.0194 0.0998 0.8474 0.0283 0.0137
VC-CC 0.7695 0.0010 0.0433 0.0021 0.0007 0.0000 0.0162 0.0020 0.0007
Refer to caption
(a) Voronoi Diagram
Refer to caption
(b) Power Diagram
Refer to caption
(c) CCVD
Figure 11: Figures show an instance of a simulation trial using 36 robots. Blue circles and sectors plot robot locations and footprints. Black boundaries plot space partitions. In Figures 11a and 11b, red numbers indicate the area-to-capacity ratio of each robot. Note that the serrated boundaries in Figure 11c are due to the discrete implementation of CCVD construction.
Refer to caption
Figure 12: Boxplot shows the OSPA errors under heterogeneity levels 1-3 from left to right. Blue, green, and black boxplots show the results of using the Voronoi diagram (V), power diagram (P), and CCVD (C), respectively.

To quantitatively compare the efficacy of our power diagram (Section III-B) and CCVD (Section III-C) based method with baseline algorithms, we run batches of simulation trials in MATLAB using a point robot model with dynamic model given as (1). In order to demonstrate the effectiveness of two novel algorithms and to perform ablation experiments, we apply five methods in the following tests:

  1. 1.

    Zigzag (Z) Method: This method utilizes a complete coverage path planning framework, a standard approach for target search. Firstly, a centroidal Voronoi diagram of nn Voronoi sites is computed using Lloyd’s algorithm. Each robot is assigned a Voronoi cell of the diagram. Then, a zigzag coverage path is planned [torres2016coverage] with the spacing of two adjacent parallel paths equaling to 1 m for each robot to exploit its cell. An example of paths planned for 60 robots is shown in Figure 9. Each robot tracks targets using PHD filter while traversing through the pre-planned coverage path.

  2. 2.

    Voronoi (V) Method: Partitioning the space using Voronoi diagram with robot locations as generator points, similar to Dames’ method [42].

  3. 3.

    Voronoi-COD (VC) Method: Similar to Voronoi method besides using robot CODs as generator points.

  4. 4.

    Power-COD (PC) Method: Our first proposed method, i.e., partitioning the space using power diagram with robot CODs as generator points.

  5. 5.

    CCVD-COD (CC) Method: Our second proposed method, i.e., partitioning the space using CCVD with robot CODs as generator points.

In these simulations, the size of the environment EE is 100m×100m100\,\mathrm{m}\times 100\,\mathrm{m}. Robots move at a maximum linear velocity of 2m/s2\,\mathrm{m/s} and a maximum angular velocity of 2rad/s2\,\mathrm{rad/s}. Each robot carries one of the five sensor types, as outlined in Table II. Assuming that the target density within the FoVs of sensors are completely unknown, we select μ=1\mu=1 in (9) for all robots in all trials. Based on these type definitions, we define six different network compositions, shown in Table III in which columns A-E list the number of robots with each sensor type. Distinguished from Section V-A, in this series of simulations, target motion has a higher degree of randomness. Targets move at a maximum velocity of 1m/s1\,\mathrm{m/s} with their heading directions randomly changing over time, and may enter or leave the environment by crossing over the boundary. This means that the number of targets varies over time, and the true number of targets is not known to the sensors.

V-B1 Team Size

Initially, there are 30, 40, or 50 targets within the environment. We compare three different network compositions, S1S_{1}, S2S_{2}, and S3S_{3}, each of which is composed of the same sensor types in equal proportions, as shown in Table III. By varying the number of targets and the network compositions, we create 9 different simulation trials. Each trial is repeated for 10 times using the three algorithms, each lasting for 700s700\,\mathrm{s}. The robots and targets are randomly located in the task space at the beginning of each trial.

Figure 10 shows the results of the nine trials. We plot the median and the 25th and 75th percentiles of average OSPA via boxplots using the data collected during the last 400s400\,\mathrm{s} of each trial to present the steady state tracking performance. Note that larger teams performs better in the target tracking. We also report P-values for comparison between methods VC and PC, PC and CC, VC and CC, respectively, and bold the data that are significant at the 10% level of significance. Consistently, the CCVD methods (CC) outperform the power diagram (PC) and Voronoi diagram methods (V and VC) across different team sizes and target numbers. This confirms the improved efficacy of our proposed CCVD methods, especially for heterogeneous sensing networks. The CCVD and Power diagrams assign larger regions to the sensors with higher unused sensing capacity and smaller regions to those who have smaller unused sensing capacity. The CCVD places a hard constraint, i.e., the capacity constraint, on the size of the partition depending on each robot’s workload. Hence it demonstrates a further improvement in the tracking performance over the power diagram, which instead utilizes an approximation scheme which associates the unused sensing capacity of a robot with a power radius in space partition. As a result, sensing networks can take advantage of their heterogeneous sensing capabilities and avoid overloading sensors with target tracking tasks.

Figures 11 visualize a random moment in a simulation trial with 36 robots, which is utilized as a case study to demonstrate the improvement in space partition optimality. For each robot, we compute the value of area of its assigned space divided by its normalized unused sensing capacity, which reveals the among of a robot’s workload comparing to its sensing capability, and plot it on Figure 11b. It is shown that the area-to-capacity ratio of both Voronoi method and power method varies substantially among robots, indicating that robots are more or less assigned a task area size that does not match their capabilities. PC method improves the ratio to a standard deviation of 5.5, comparing with that of VC method, which is 6.2. However, CC method yields a constant area-to-capacity ratio over the team at all time to further optimize the space partition.

Moreover, it can be seen that VC method consistently yields to significant lower OSPA error than V method, and that PC method significantly ourperforms VC method in most of the simulation trials. This reveals that both replacing robot locations to CODs as generator points and applying the capacity-constraint space partitioning strategies contribute to the tracking accuracy, leading to the out-performance of PC and CC methods. We also find that PC and CC methods significantly improve the tracking accuracy comparing with Z method, indicating that our proposed algorithms produce more effective multi-robot path planning results for heterogeneous teams to track multiple unknown moving targets.

In addition to decreasing the average tracking error, our proposed algorithms, especially CCVD, also decreases the range of OSPA, i.e.,  tracking errors in a majority of cases, revealed from Figure 10 and Figure 12 introduced in Section V-B2. In Table V, we list the standard deviation of OSPA over all trials in Figure 10. In other words, sensing networks that use the CCVD or power diagram often perform more reliable behavior. This is due to the fact that the optimized assignment of dominance region reduces the probability of targets being lost during tracking.

Remark 3 (Comparison of Results)

The three partitioning methods (Voronoi diagrams, power diagrams, and the CCVD) each use a different function f()f(\cdot) in the functional \mathcal{H} defined in Equation (2). We see in Figure 1 that the three methods can lead to quite different partitions, with Voronoi and power diagrams tending to look more similar to one another. Given this, it is an interesting result that power and CCVD both yield comparable results in terms of tracking accuracy. We believe that these results emphasize the utility of considering an equitable distribution of space based on each robot’s capability and operational conditions, regardless of the specific partitioning method employed.

TABLE V: Standard Deviation of OSPA
Target 30 Targets 40 Targets 50 Targets
Method CC V CC V CC V
36 Robots 0.3167 0.4761 0.4212 0.4353 0.4097 0.7183
48 Robots 0.2488 0.6019 0.2166 0.5192 0.2643 0.4075
60 Robots 0.3378 0.4593 0.3774 0.8131 0.1951 0.5976

V-B2 Heterogeneity Levels

Lastly we run a series of tests to validate the following observation. For a team with a fixed total sensing capacity, C(S)C(S), our novel CCVD and power diagram formula will provide increasing improvements in target tracking accuracy over a standard Voronoi diagram as the heterogeneity, L(S)L(S), increases.

We use compositions 4, 5, and 6 from Table III, all of which have the identical total sensing capacity of 1604.4 determined by (27). There are 30 targets in all simulation trials. The heterogeneity levels (26) for the three network are given as L(S4)=6.1mL(S_{4})=6.1\,\mathrm{m}, L(S5)=4.9mL(S_{5})=4.9\,\mathrm{m}, and L(S6)=3.1mL(S_{6})=3.1\,\mathrm{m}, respectively.

Figure 12 shows the average OSPA errors over 10 runs, using data from the last 400 s of each trial. We observed significant improvement in the tracking performance of the power diagram and CCVD method compared to that of the standard Voronoi diagram when the network is highly heterogeneous (S4S_{4}). On the other hand, as the heterogeneity level decreases, so does the performance improvement as we can observe from S5S_{5} and S6S_{6}. These results support our aforementioned observation. If all sensors are the same, the power distance in Equation (13) will only depend on sensor’s location so that the locational optimization functional (2) will converge to the one using Voronoi diagram. Meanwhile, since the capacity of the cells tends to be close to each other, the CCVD will get close to the Voronoi diagram as well. We also find that the improvement in tracking accuracy by S4S4, S5S5 and S6S6 increases with the number of robots in the network, which affects the mobility for a network.

Remark 4 (Trade-off between algorithms)

The MATLAB simulations were conducted on a Windows 11 laptop with 13th Gen Intel(R) Core(TM) i7-1360P 2.20GHz processor and 32GB RAM storage memory. Taking the simulations of 60 robots as an example, the average running time of Algorithm 3 using PC method is approximately 0.1 s per iteration, while running time of using CC method is around 9.0 s per iteration. At the expense of running time, CC method reduces OSPA error by around 20% comparing with PC method. Practitioners should make a trade-off between the two algorithms according to the availability of computing resources and the requirement of tracking accuracy.

VI Conclusions

We propose a distributed coverage control scheme for heterogeneous mobile robots with onboard sensors to track an unknown and time-varying number of targets. This novel strategy allows sensors to have arbitrary sensing models (with limited fields of view) and dynamically optimizes the workload for each individual. To do this, we introduce the normalized unused sensing capacity to quantify the instant detection capability of each sensor. We then use this to construct either a power diagram or a capacity constraint Voronoi diagram to recursively find optimized sensor locations as measurements are updated. The centroid of detection for each sensor is utilized as the generation point to create the partitions, allowing each sensor to center its field of view on the area with the highest information density. Simulation results show the convergence of our proposed method in target tracking scenarios and indicates that our method yields better and more reliable tracking performance compared to baseline algorithms that does not account for heterogeneity. We also observed that the tracking performance of our approach increases over the Voronoi approach as the heterogeneity in the team’s sensing capabilities increases.

References

  • [1] H. E. MacGregor, J. E. Herbert-Read, and C. C. Ioannou, “Information can explain the dynamics of group order in animal collective behaviour,” Nature communications, vol. 11, no. 1, p. 2737, 2020.
  • [2] P. DeLellis, G. Polverino, G. Ustuner, N. Abaid, S. Macrì, E. M. Bollt, and M. Porfiri, “Collective behaviour across animal species,” Scientific reports, vol. 4, no. 1, p. 3723, 2014.
  • [3] L. Gómez-Nava, R. Bon, and F. Peruani, “Intermittent collective motion in sheep results from alternating the role of leader and follower,” Nature Physics, pp. 1–8, 2022.
  • [4] M.-C. Chuang, J.-N. Hwang, J.-H. Ye, S.-C. Huang, and K. Williams, “Underwater fish tracking for moving cameras based on deformable multiple kernels,” IEEE Transactions on Systems, Man, and Cybernetics: Systems, vol. 47, no. 9, pp. 2467–2477, 2016.
  • [5] P. Scovanner and M. F. Tappen, “Learning pedestrian dynamics from the real world,” in 2009 IEEE 12th International Conference on Computer Vision.   IEEE, 2009, pp. 381–388.
  • [6] M. Adnan, G. Slavic, D. M. Gomez, L. Marcenaro, and C. Regazzoni, “Systematic and comprehensive review of clustering and multi-target tracking techniques for LiDAR point clouds in autonomous driving applications,” Sensors, vol. 23, no. 13, p. 6119, Jul. 2023. [Online]. Available: https://doi.org/10.3390/s23136119
  • [7] P. Konstantinova, A. Udvarev, and T. Semerdjiev, “A study of a target tracking algorithm using global nearest neighbor approach,” in Proceedings of the International Conference on Computer Systems and Technologies (CompSysTech’03), 2003, pp. 290–295.
  • [8] S. Hamid Rezatofighi, A. Milan, Z. Zhang, Q. Shi, A. Dick, and I. Reid, “Joint probabilistic data association revisited,” in Proceedings of the IEEE International Conference on Computer Vision, 2015, pp. 3047–3055.
  • [9] S. S. Blackman, “Multiple hypothesis tracking for multiple target tracking,” IEEE Aerospace and Electronic Systems Magazine, vol. 19, no. 1, pp. 5–18, 2004.
  • [10] A. Doucet, B.-N. Vo, C. Andrieu, and M. Davy, “Particle filtering for multi-target tracking and sensor management,” in Proceedings of the Fifth International Conference on Information Fusion, vol. 1.   IEEE, 2002, pp. 474–481.
  • [11] R. P. Mahler, “Multitarget bayes filtering via first-order multitarget moments,” IEEE Transactions on Aerospace and Electronic systems, vol. 39, no. 4, pp. 1152–1178, 2003.
  • [12] R. Mahler, “Phd filters of higher order in target number,” IEEE Transactions on Aerospace and Electronic systems, vol. 43, no. 4, pp. 1523–1543, 2007.
  • [13] R. P. Mahler, “Statistical multisource-multitarget information fusion,” information fusion, vol. 685, 2007.
  • [14] B.-T. Vo, B.-N. Vo, and A. Cantoni, “The cardinality balanced multi-target multi-bernoulli filter and its implementations,” IEEE Transactions on Signal Processing, vol. 57, no. 2, pp. 409–423, 2009.
  • [15] R. Olfati-Saber, “Distributed kalman filtering for sensor networks,” in 2007 46th IEEE Conference on Decision and Control.   IEEE, 2007, pp. 5492–5498.
  • [16] M. E. Campbell and N. R. Ahmed, “Distributed data fusion: Neighbors, rumors, and the art of collective knowledge,” IEEE Control Systems Magazine, vol. 36, no. 4, pp. 83–109, 2016.
  • [17] G. A. Hollinger, S. Yerramalli, S. Singh, U. Mitra, and G. S. Sukhatme, “Distributed data fusion for multirobot search,” IEEE Transactions on Robotics, vol. 31, no. 1, pp. 55–66, 2014.
  • [18] P. Zhu and W. Ren, “Multi-robot joint localization and target tracking with local sensing and communication,” in 2019 American Control Conference (ACC).   IEEE, 2019, pp. 3261–3266.
  • [19] R. Khodayi-mehr, Y. Kantaros, and M. M. Zavlanos, “Distributed state estimation using intermittently connected robot networks,” IEEE transactions on robotics, vol. 35, no. 3, pp. 709–724, 2019.
  • [20] X. Ge, Q.-L. Han, X.-M. Zhang, L. Ding, and F. Yang, “Distributed event-triggered estimation over sensor networks: A survey,” IEEE transactions on cybernetics, vol. 50, no. 3, pp. 1306–1320, 2019.
  • [21] S. Zhu, C. Chen, W. Li, B. Yang, and X. Guan, “Distributed optimal consensus filter for target tracking in heterogeneous sensor networks,” IEEE transactions on cybernetics, vol. 43, no. 6, pp. 1963–1976, 2013.
  • [22] R. Olfati-Saber and J. S. Shamma, “Consensus filters for sensor networks and distributed sensor fusion,” in Proceedings of the 44th IEEE Conference on Decision and Control.   IEEE, 2005, pp. 6698–6703.
  • [23] A. Shirsat, S. Mishra, W. Zhang, and S. Berman, “Probabilistic consensus on feature distribution for multi-robot systems with markovian exploration dynamics,” IEEE Robotics and Automation Letters, vol. 7, no. 3, pp. 6407–6414, 2022.
  • [24] M. Corah and N. Michael, “Scalable distributed planning for multi-robot, multi-target tracking,” in 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).   IEEE, 2021, pp. 437–444.
  • [25] B. Schlotfeldt, V. Tzoumas, and G. J. Pappas, “Resilient active information acquisition with teams of robots,” IEEE Transactions on Robotics, vol. 38, no. 1, pp. 244–261, 2021.
  • [26] B. J. Julian, M. Angermann, M. Schwager, and D. Rus, “Distributed robotic sensor networks: An information-theoretic approach,” The International Journal of Robotics Research, vol. 31, no. 10, pp. 1134–1154, 2012.
  • [27] Y. Sung, A. K. Budhiraja, R. K. Williams, and P. Tokekar, “Distributed assignment with limited communication for multi-robot multi-target tracking,” Autonomous Robots, vol. 44, no. 1, pp. 57–73, 2020.
  • [28] L. Zhou and P. Tokekar, “Sensor assignment algorithms to improve observability while tracking targets,” IEEE Transactions on Robotics, vol. 35, no. 5, pp. 1206–1219, 2019.
  • [29] J. Cortes, S. Martinez, T. Karatas, and F. Bullo, “Coverage control for mobile sensing networks,” IEEE Transactions on robotics and Automation, vol. 20, no. 2, pp. 243–255, 2004.
  • [30] M. Schwager, D. Rus, and J.-J. Slotine, “Decentralized, adaptive coverage control for networked robots,” The International Journal of Robotics Research, vol. 28, no. 3, pp. 357–375, 2009.
  • [31] Y. Kantaros and M. M. Zavlanos, “Distributed communication-aware coverage control by mobile sensor networks,” Automatica, vol. 63, pp. 209–220, 2016.
  • [32] A. Pierson and D. Rus, “Distributed target tracking in cluttered environments with guaranteed collision avoidance,” in 2017 International Symposium on Multi-Robot and Multi-Agent Systems (MRS).   IEEE, 2017, pp. 83–89.
  • [33] S. Lloyd, “Least squares quantization in PCM,” IEEE Transactions on Information Theory, vol. 28, no. 2, pp. 129–137, 1982.
  • [34] S. Papatheodorou, A. Tzes, K. Giannousakis, and Y. Stergiopoulos, “Distributed area coverage control with imprecise robot localization: Simulation and experimental studies,” International Journal of Advanced Robotic Systems, vol. 15, no. 5, p. 1729881418797494, 2018.
  • [35] H. Zhu and J. Alonso-Mora, “B-UAVC: Buffered uncertainty-aware Voronoi cells for probabilistic multi-robot collision avoidance,” in 2019 International Symposium on Multi-Robot and Multi-Agent Systems (MRS).   IEEE, 2019, pp. 162–168.
  • [36] M. Wang and M. Schwager, “Distributed collision avoidance of multiple robots with probabilistic buffered voronoi cells,” in 2019 International Symposium on Multi-Robot and Multi-Agent Systems (MRS).   IEEE, 2019, pp. 169–175.
  • [37] J. Chen and P. Dames, “Distributed and collision-free coverage control of a team of mobile sensors using the convex uncertain voronoi diagram,” in 2020 American Control Conference (ACC).   IEEE, 2020, pp. 5307–5313.
  • [38] J. M. Palacios-Gasós, Z. Talebpour, E. Montijano, C. Sagüés, and A. Martinoli, “Optimal path planning and coverage control for multi-robot persistent coverage in environments with obstacles,” in 2017 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2017, pp. 1321–1327.
  • [39] S. Bhattacharya, R. Ghrist, and V. Kumar, “Multi-robot coverage and exploration on Riemannian manifolds with boundaries,” The International Journal of Robotics Research, vol. 33, no. 1, pp. 113–137, 2014.
  • [40] A. Breitenmoser, M. Schwager, J.-C. Metzger, R. Siegwart, and D. Rus, “Voronoi coverage of non-convex environments with a group of networked robots,” in 2010 IEEE International Conference on Robotics and Automation.   IEEE, 2010, pp. 4982–4989.
  • [41] L. C. Pimenta, V. Kumar, R. C. Mesquita, and G. A. Pereira, “Sensing and coverage for a network of heterogeneous robots,” in 2008 47th IEEE Conference on Decision and Control.   IEEE, 2008, pp. 3947–3952.
  • [42] P. M. Dames, “Distributed multi-target search and tracking using the phd filter,” Autonomous robots, vol. 44, no. 3-4, pp. 673–689, 2020.
  • [43] M. Kushwaha, I. Amundson, P. Volgyesi, P. Ahammad, G. Simon, X. Koutsoukos, A. Ledeczi, and S. Sastry, “Multi-modal target tracking using heterogeneous sensor networks,” in 2008 Proceedings of 17th International Conference on Computer Communications and Networks.   IEEE, 2008, pp. 1–8.
  • [44] Ø. K. Helgesen, K. Vasstein, E. F. Brekke, and A. Stahl, “Heterogeneous multi-sensor tracking for an autonomous surface vehicle in a littoral environment,” Ocean Engineering, vol. 252, p. 111168, 2022.
  • [45] H. Zhou, M. Taj, and A. Cavallaro, “Target detection and tracking with heterogeneous sensors,” IEEE Journal of Selected Topics in Signal Processing, vol. 2, no. 4, pp. 503–513, 2008.
  • [46] S. Mayya, R. K. Ramachandran, L. Zhou, V. Senthil, D. Thakur, G. S. Sukhatme, and V. Kumar, “Adaptive and risk-aware target tracking for robot teams with heterogeneous sensors,” IEEE Robotics and Automation Letters, vol. 7, no. 2, pp. 5615–5622, 2022.
  • [47] R. K. Ramachandran, J. A. Preiss, and G. S. Sukhatme, “Resilience by reconfiguration: Exploiting heterogeneity in robot teams,” in 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).   IEEE, 2019, pp. 6518–6525.
  • [48] Y. Kantaros, M. Thanou, and A. Tzes, “Distributed coverage control for concave areas by a heterogeneous robot–swarm with visibility sensing constraints,” Automatica, vol. 53, pp. 195–207, 2015.
  • [49] N. Bartolini, T. Calamoneri, T. F. La Porta, and S. Silvestri, “Autonomous deployment of heterogeneous mobile sensors,” IEEE Transactions on Mobile Computing, vol. 10, no. 6, pp. 753–766, 2010.
  • [50] O. Arslan and D. E. Koditschek, “Voronoi-based coverage control of heterogeneous disk-shaped robots,” in 2016 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2016, pp. 4259–4266.
  • [51] A. Kwok and S. Martinez, “Deployment algorithms for a power-constrained mobile sensor network,” International Journal of Robust and Nonlinear Control: IFAC-Affiliated Journal, vol. 20, no. 7, pp. 745–763, 2010.
  • [52] K. Laventall and J. Cortés, “Coverage control by robotic networks with limited-range anisotropic sensory,” in 2008 American Control Conference.   IEEE, 2008, pp. 2666–2671.
  • [53] Y. Stergiopoulos and A. Tzes, “Autonomous deployment of heterogeneous mobile agents with arbitrarily anisotropic sensing patterns,” in 2012 20th Mediterranean Conference on Control & Automation (MED).   IEEE, 2012, pp. 1585–1590.
  • [54] ——, “Spatially distributed area coverage optimisation in mobile robotic networks with arbitrary convex anisotropic patterns,” Automatica, vol. 49, no. 1, pp. 232–237, 2013.
  • [55] ——, “Cooperative positioning/orientation control of mobile heterogeneous anisotropic sensor networks for area coverage,” in 2014 IEEE International Conference on Robotics and Automation (ICRA).   IEEE, 2014, pp. 1106–1111.
  • [56] B. Hexsel, N. Chakraborty, and K. Sycara, “Coverage control for mobile anisotropic sensor networks,” in 2011 IEEE International Conference on Robotics and Automation.   IEEE, 2011, pp. 2878–2885.
  • [57] J. Chen and P. Dames, “Distributed multi-target tracking for heterogeneous mobile sensing networks with limited field of views,” in 2021 ieee international conference on robotics and automation (icra).   IEEE, 2021, pp. 9058–9064.
  • [58] W. Luo and K. Sycara, “Voronoi-based coverage control with connectivity maintenance for robotic sensor networks,” in 2019 International Symposium on Multi-Robot and Multi-Agent Systems (MRS).   IEEE, 2019, pp. 148–154.
  • [59] P. Dames and V. Kumar, “Experimental characterization of a bearing-only sensor for use with the phd filter,” arXiv preprint arXiv:1502.04661, 2015.
  • [60] F. Aurenhammer, “Power diagrams: properties, algorithms and applications,” SIAM Journal on Computing, vol. 16, no. 1, pp. 78–96, 1987.
  • [61] B. Michael and H. Daniel, “Capacity-constrained voronoi diagrams in finite spaces,” in Int’l Symp. on Voronoi Diagrams in Science and Engineering, vol. 33, 2008, p. 13.
  • [62] R. Olfati-Saber, J. A. Fax, and R. M. Murray, “Consensus and cooperation in networked multi-agent systems,” Proceedings of the IEEE, vol. 95, no. 1, pp. 215–233, 2007.
  • [63] H. Li, D. Nehab, L.-Y. Wei, P. V. Sander, and C.-W. Fu, “Fast capacity constrained voronoi tessellation,” in Proceedings of the 2010 ACM SIGGRAPH symposium on Interactive 3D Graphics and Games, 2010, pp. 1–1.
  • [64] M. Cao and C. Hadjicostis, “Distributed algorithms for voronoi diagrams and application in ad-hoc networks,” UIUC Coordinated Science Laboratory, Tech. Rep. UILU-ENG-03-2222, DC-210, 2003.
  • [65] C. A. R. Hoare, “Algorithm 65: Find,” Commun. ACM, vol. 4, no. 7, p. 321–322, jul 1961. [Online]. Available: https://doi.org/10.1145/366622.366647
  • [66] D.-M. Yan, K. Wang, B. Lévy, and L. Alonso, “Computing 2d periodic centroidal voronoi tessellation,” in 2011 eighth international symposium on Voronoi diagrams in science and engineering.   IEEE, 2011, pp. 177–184.
  • [67] D. Schuhmacher, B.-T. Vo, and B.-N. Vo, “A consistent metric for performance evaluation of multi-object filters,” IEEE Transactions on Signal Processing, vol. 56, no. 8, pp. 3447–3457, 2008.
  • [68] H. W. Kuhn, “The Hungarian method for the assignment problem,” Naval Research Logistics Quarterly, vol. 2, no. 1-2, pp. 83–97, 1955.
  • [69] K. Zheng, “Ros navigation tuning guide,” Robot Operating System (ROS) The Complete Reference (Volume 6), pp. 197–226, 2021.
  • [70] C. W. Reynolds, “Flocks, herds and schools: A distributed behavioral model,” in Proceedings of the 14th annual conference on Computer graphics and interactive techniques, 1987, pp. 25–34.