#
Distributed Multi-Robot Information Gathering under Spatio-Temporal Inter-Robot Constraints^{ †}

^{1}

^{2}

^{3}

^{*}

^{†}

## Abstract

**:**

## 1. Introduction

- We introduce a discussion on state-of-the-art information metrics for IG. This discussion allows us to motivate and proof, empirically through simulations, our specific choice.
- We introduce algorithmic approximations that permit an online realization of our algorithm. In addition, we present a detailed analysis of our algorithm’s computational complexity.
- We include an inter-robot collision avoidance constraint that permits collision-free IG.
- We extend the simulations setup from four to up to eight robots. This allows us to show the algorithm’s scalability as the number of robots increases.
- We analyze in detail the effect of algorithm parameters in the algorithm’s performance.
- We provide a full description of the experimental setup, and additional experimental results.

## 2. Related Work

## 3. Problem Statement

- The physical process of interest can be modeled with a GP sufficiently well.
- This process is time-invariant during the IG task.
- The robot positions are known exactly and are noise-free. That is, we assume that there exists an external positioning system that provides us with a highly accurate localization, e.g., a Real-Time Kinematic navigation for global positioning systems (GPS-RTK) for outdoor scenarios, or a motion tracking system for indoor environments. Uncertainty in positioning could also be accounted for using GPs [25], but it is out of the scope of this work.

- 4.
- The robot i, with $i=1,\dots ,N$, motion model is given by a known function ${\mathbf{x}}_{i}(t+\Delta t)=\mathbf{f}({\mathbf{x}}_{i}\left(t\right),{\mathbf{u}}_{i})$ that relates the robot’s current position ${\mathbf{x}}_{i}\left(t\right)$ and future position ${\mathbf{x}}_{i}(t+\Delta t)$ given a control input ${\mathbf{u}}_{i}$, where $\Delta t$ is the duration of a single time step.
- 5.
- Robots can only directly communicate if they are neighbors, i.e., if they are separated by less than a distance ${r}_{c}$. This defines a robots communication graph ${\mathcal{G}}_{c}({\mathcal{V}}_{t},{\mathcal{E}}_{t})$ at time t, with ${\mathcal{V}}_{t}=\left(\right)open="\{"\; close="\}">{\mathbf{x}}_{1}\left(t\right),\dots ,{\mathbf{x}}_{N}\left(t\right)$, and ${\mathcal{E}}_{t}=\left(\right)open="\{"\; close="\}">({\mathbf{x}}_{i}\left(t\right),{\mathbf{x}}_{j}\left(t\right)):i,j\in \{1,\dots ,N\},i\ne j,\left|\right|{\mathbf{x}}_{i}\left(t\right)-{\mathbf{x}}_{j}\left(t\right)\left|\right|\le {r}_{c}$. We also assume that there exists an underlying communication protocol, like, e.g., TCP/IP, which ensures an error-free data transmission.

- 6.
- Inter-robot collision avoidance: two robots collide if they are separated less than a distance ${r}_{s}$. Distance ${r}_{s}$ shall take into account robots’ shape, as well as the potential uncertainty in robot positions.
- 7.
- Network connectivity: the network of robots requires a periodic connectivity, with a maximum disconnection time of ${k}_{c}\Delta t$ seconds, where ${k}_{c}$ is a constant that denotes a number of time steps.

## 4. Background

#### 4.1. Gaussian Processes for Modelling Spatial Data

#### 4.2. Rapidly Exploring Random Trees

#### 4.3. Max-Sum Algorithm

- Factor to variable message; denoted ${s}_{i\to j}$. It is the maximum value of factor ${U}_{i}$ for each possible value of ${\mathcal{D}}_{j}$.
- Variable to factor message; denoted ${q}_{j\to i}$. It is the maximum value of ${U}_{i}$ neighboring factors for each possible value of ${\mathcal{D}}_{j}$.

## 5. Information Metric

- monotonicity as we increase the number p of potential measurement locations ${\mathbf{X}}_{*}$. That is, we are interested in information metrics that yield a higher value as we consider longer paths, i.e., paths with a higher p; and
- submodularity respect to p. In short, a submodular information metric offers diminishing returns as we increase p. This justifies the use of finite horizon approaches (as we do in this paper), as the amount of information obtained by increasing p becomes irrelevant from a certain value of p. For a detailed overview of submodularity applications in the context of GPs, we refer the reader to [28].

**Differential Entropy.**We denote the differential entropy of a process given by random variable ${Y}_{{\mathbf{X}}_{*}}$, defined at potential measurement locations ${\mathbf{X}}_{*}$, as $H\left({Y}_{{\mathbf{X}}_{*}}\right|\mathbf{X})$, with $\mathbf{X}$ the location of measurements gathered by the robot up to now. $H\left({Y}_{{\mathbf{X}}_{*}}\right|\mathbf{X})$ can be calculated with $H\left({Y}_{{\mathbf{X}}_{*}}\right|\mathbf{X})=\frac{1}{2}log({\left(2\pi e\right)}^{p}|{\mathbf{\Sigma}}_{*}\left|\right)$, with ${\mathbf{\Sigma}}_{*}$ calculated with (3).

**Mutual Information Non-Measured.**We define

`Mutual`

`Information`

`Non-Measured`as the MI between: a random variable ${Y}_{{\mathbf{X}}_{*}}$; and a random variable ${Y}_{{\mathcal{V}}_{{\mathcal{X}}_{free}}\backslash \{\mathbf{X}\cup {\mathbf{X}}_{*}\}}$ that represents the physical process at ${\mathcal{V}}_{{\mathcal{X}}_{free}}$ that would remain unmeasured after visiting ${\mathbf{X}}_{*}$. Note that we employ here ${\mathcal{V}}_{{\mathcal{X}}_{free}}$ instead of ${\mathcal{X}}_{free}$ because MI for GPs is evaluated at a set of discrete locations [28]. Therefore, to calculate MI we discretize ${\mathcal{X}}_{free}$ by overlaying a lattice graph with vertices ${\mathcal{V}}_{{\mathcal{X}}_{free}}$. Also note that, for $\mathbf{x}\in \mathbf{X},{\mathbf{X}}_{*}$ and ${\mathbf{x}}^{\prime}\in {\mathcal{V}}_{{\mathcal{X}}_{free}}$, we assume that $\mathbf{x}={\mathbf{x}}^{\prime}$ if $\mathbf{x}$ lies within the cell associated to ${\mathbf{x}}^{\prime}$ (see Figure 2).

`Mutual Information Non-Measured`is given by: $I({Y}_{{\mathcal{V}}_{{\mathcal{X}}_{free}}\backslash \{\mathbf{X}\cup {\mathbf{X}}_{*}\}};{Y}_{{\mathbf{X}}_{*}}|\mathbf{X})=H({Y}_{{\mathcal{V}}_{{\mathcal{X}}_{free}}\backslash \{\mathbf{X}\cup {\mathbf{X}}_{*}\}}|\mathbf{X})$$-H({Y}_{{\mathcal{V}}_{{\mathcal{X}}_{free}}\backslash \{\mathbf{X}\cup {\mathbf{X}}_{*}\}}|\mathbf{X},{Y}_{{\mathbf{X}}_{*}})$. This expression has a clear interpretation for IG: we aim to sample at locations ${\mathbf{X}}_{*}$ that yield a maximum inter-dependence with process ${Y}_{{\mathcal{V}}_{{\mathcal{X}}_{free}}\backslash \{\mathbf{X}\cup {\mathbf{X}}_{*}\}}$, defined at all positions in the environment that will remain unmeasured.

**Mutual Information All.**In this chapter we propose the use of

`Mutual`

`Information`

`All`. This calculates the MI between a random variable ${Y}_{{\mathbf{X}}_{*}}$; and a random variable ${Y}_{{\mathcal{V}}_{{\mathcal{X}}_{free}}}$.

`Mutual Information All`is given by the following expression: $I({Y}_{{\mathcal{V}}_{{\mathcal{X}}_{free}}};{Y}_{{\mathbf{X}}_{*}}|\mathbf{X})=H({Y}_{{\mathcal{V}}_{{\mathcal{X}}_{free}}}|\mathbf{X})-H({Y}_{{\mathcal{V}}_{{\mathcal{X}}_{free}}}|\mathbf{X},{Y}_{{\mathbf{X}}_{*}})$. This metric is similar to

`Mutual`

`Information`

`Non-Measured`, but it has an interesting property that we discuss next.

`Differential Entropy`is non-monotonic, which goes against the principle of “information never hurts”. Non-monotonocity is a property that is particularly undesirable for algorithms that aim to plan over an horizon longer than one step, as it is the case in Equation (1).

`Mutual`

`Information`

`Non-Measured`and

`Mutual`

`Information`

`All`. According to Figure 3,

`Mutual`

`Information`

`Non-Measured`is only monotonic in the first part of the curve. This implies that

`Mutual`

`Information`

`Non-Measured`does not allow us to plan over arbitrarily long horizons, as longer paths may result in a lower value of the information metric. Note that this property goes again against the principle of “information never hurts”.

`Mutual`

`Information`

`All`as information metric to tackle this problem.

`Mutual`

`Information`

`All`is monotonic (see Figure 3c), which is an ideal choice for IG tasks.

## 6. Distributed Multi-Robot Information Gathering Algorithm

`Mutual`

`Information`

`All`, as indicated in Section 5. To solve this multi-robot cooperation problem we propose the use of a DCOP algorithm: max-sum [9].

`Mutual`

`Information`

`All`(Section 6.4).

#### 6.1. Calculate Candidate Paths and Generate Clusters

#### 6.2. Search Neighbors and Exchange Domains

#### 6.3. Calculate Robot Utilities and Execute Max-Sum

- an information gathering term, denoted as ${\tilde{U}}_{I}(\mathcal{D},\mathbf{X})$, which measures the informativeness of a particular assignment of clusters $\mathcal{D}$ given previously collected measurements $\mathbf{X}$. Note that here we refer to ${\tilde{U}}_{I}(\xb7)\approx {U}_{I}(\xb7)$ as robots aim to find a joint cluster assignment, instead of a joint assignment of paths as in (1); and
- a constraint satisfaction term, denoted as ${U}_{C}\left(\mathcal{D}\right)$, which enforces problem (1) constraints.

#### 6.3.1. Information Gathering Utility—${\tilde{U}}_{I}(\mathcal{D},\mathbf{X})$

`Mutual Information All`, described in Section 5, and is given by the following expression: ${\tilde{U}}_{I}(\mathcal{D},\mathbf{X})=I({Y}_{{\mathcal{V}}_{{\mathcal{X}}_{free}}},{Y}_{{\mathcal{D}}_{1}},{Y}_{{\mathcal{D}}_{2}},\dots ,{Y}_{{\mathcal{D}}_{N}}|\mathbf{X})$, with ${Y}_{{\mathcal{D}}_{i}}$ a GP that represents $y\left(\mathbf{x}\right)$ for all $\mathbf{x}\in {\mathcal{D}}_{i}$, $i=1,2,\dots ,N$.

#### 6.3.2. Constraint Satisfaction Utility—${U}_{C}\left(\mathcal{D}\right)$

- Inter-robot collision avoidance: we penalize robots that are separated a distance smaller than ${r}_{s}+{r}_{e}$.
- Periodic network connectivity: we penalize robots configurations that could lead to a disconnected network at $t+{k}_{c}\Delta t$; i.e., at the end of robots’ paths.

#### 6.3.3. Path Selection

#### 6.4. Follow Path and Collect Measurements

#### 6.5. Exchange Measurements (Data Fusion)

#### 6.6. Update GPs Model

## 7. Computational Complexity

`NoCluster`. This corresponds to the algorithm described in Section 6, but without considering the clustering method. That is, we consider there are as many clusters as paths resulting from the RRT for all time horizons (that is, as nodes in the RRT), where each cluster has a single path. This allows us to highlight the complexity in terms of the number of collected measurements, and total number of robots.`Cluster`. This is the algorithm described in Section 6. Here we highlight complexity reduction that results by introducing a clustering method.`ClusterSimplified`. This corresponds to algorithm described in Section 6 plus additional techniques that we introduce to reduce the computational complexity. These techniques: are kd-trees, sparse GPs [34], and the principle of locality [35]. Note that sparse GPs, and principle of locality are approximations that do not yield exact solutions. Nevertheless, these techniques have been shown to work well in practice in a large domain of problems as discussed in [34,35].

#### 7.1. NoCluster

`NoCluster`variant has three main components that define the algorithm’s computational complexity: (i) RRT planner, (ii) calculation of max-sum utilities, and (iii) update of the GPs model.

- The complexity of RRT is given by $\mathcal{O}({N}_{p}log{N}_{p})$, with ${N}_{p}$ the number of RRT planner iterations [26].
- The complexity of max-sum algorithm is determined by the calculation of $H({Y}_{{\mathcal{V}}_{{\mathcal{X}}_{free}}}|{Y}_{{\mathcal{D}}_{i}},{Y}_{\mathcal{N}\left({\mathcal{D}}_{i+1:N}\right)},\mathbf{X})$ in (7). This is given by the GPs regression, which is cubic on the total number of elements m [5] contained in ${\mathcal{V}}_{{\mathcal{X}}_{free}}$, ${\mathcal{D}}_{i}$, $\mathcal{N}\left({\mathcal{D}}_{i+1:N}\right)$ and $\mathbf{X}$. Since a robot calculates the utility of each combination of clusters (in this case, smaller or equal than ${N}_{p}$), the overall complexity of max-sum is $\mathcal{O}({m}^{3}{N}_{p}^{|{\mathcal{N}}_{C}|})$, with $|{\mathcal{N}}_{C}|$ the number of elements of ${\mathcal{N}}_{C}\triangleq \mathcal{N}\left({\mathcal{D}}_{i+1:N}\right)$.
- The complexity of the GPs model update in (4) is given by $\mathcal{O}\left({n}^{3}{i}_{G}\right)$, where n is the total number of gathered measurements, and ${i}_{G}$ is a user-defined parameter that sets the number of iterations we allow the optimizer to calculate the GPs hyperparameters.

`NoCluster`variant is thus determined by max-sum, as $m>>n$, and typically ${N}_{p}>>{i}_{G}$. The benefit of using a distributed approach such as max-sum is illustrated by noticing that the complexity scales with the number of neighbors, and not with N. However, it is clearly influenced by ${N}_{p}$, which is typically large for robots with complex dynamics, or environments with multiple obstacles. Therefore, in order to reduce the algorithm’s computational complexity we propose in this paper a concept of clustering.

#### 7.2. Cluster

`Cluster`variant, the RRT structure is exploited to group ${N}_{p}$ nodes in ${k}_{s}\times {k}_{t}$ clusters. This yields a max-sum complexity of $\mathcal{O}({m}^{3}{\left({k}_{s}{k}_{t}\right)}^{|{\mathcal{N}}_{C}|})$. The complexity is thus now dependent on the total number of clusters, which is typically much smaller than ${N}_{p}$ due to the tree structure. Of course, the clustering method adds additional complexity to the algorithm. However, this is negligible [30] compared to max-sum complexity. In particular, [30] has a running time of $\mathcal{O}\left({N}_{p}{k}_{s}{k}_{t}{d}_{c}{i}_{c}\right)$, with ${d}_{c}$ the maximum number of dimensions of a k-means state, and ${i}_{c}$ the number of iterations of Lloyd’s algorithm [30].

`Cluster`variant faces two main problems due to the complexity increase: (i) in max-sum algorithm as m grows, and (ii) in the GPs model update step as n grows.

#### 7.3. Cluster Simplified

`ClusterSimplified`. On the one hand, we exploit the principle of locality to reduce the complexity, assuming that $\mathbf{x},{\mathbf{x}}^{\prime}$ that are far apart are uncorrelated, and therefore do not need to be considered to carry out regression. In particular, in this work we assume that $\mathbf{x},{\mathbf{x}}^{\prime}$ are far if $k(\mathbf{x},{\mathbf{x}}^{\prime},\mathbf{\theta})<{\sigma}_{n}/10$. Let us point out that this is a reasonable assumption as in this paper we consider sensors with a negligible noise level. To efficiently search for locations that are correlated, we structure the data in a kd-tree.

#### 7.4. Summary

`ClusterSimplified`in our simulations and experiments.

## 8. Simulations and Discussion of Results

#### 8.1. Simulations Setup

#### 8.1.1. Generation of the Process for Exploration

#### 8.1.2. Robot Model

#### 8.1.3. Algorithm Parameters

#### 8.2. Analysis of the Exploration Strategy

- The proposed cooperation procedure, which builds on MI as information metric and max-sum as decentralized coordination technique, outperforms a benchmark algorithm.
- Our proposed algorithm scales as the number of robots in the system increases. That is, as the number of robots increases the performance gap between a benchmark and our algorithm grows.

#### 8.3. Analysis of the Multi-Robot Coordination Strategy

- Our algorithm meets the collision avoidance constraint, and outputs collision-free trajectories.
- The network connectivity constraint is fulfilled, and our algorithm guarantees a higher connectivity than a random walk benchmark.

#### 8.3.1. Collision Avoidance

#### 8.3.2. Network Connectivity

#### 8.4. Analysis of the Algorithm’s Scalability with an Increasing Number of Robots

#### 8.5. Analysis of the Clustering Procedure

- The softer the constraints, i.e., a larger communication radius, the better the algorithm’s performance both in terms of RMSE and solution feasibility.
- Our algorithm’s performance increases, i.e., lower RMSE and higher solution feasibility are achieved, as we increase the number of clusters up to approximately 18 clusters. This demonstrates that the larger the number of clusters, the better we represent the original RRT, which translates into a more efficient multi-robot cooperation.
- The performance of the algorithm remains approximately constant for a number of clusters that ranges between 18 and 25. In another words: adding new clusters does not improve the representability of the original RRT, since clusters start containing paths that are very similar. This property leads to an enormous reduction of the algorithm’s computational complexity as indicated in Section 7.
- Performance of the algorithm decreases with a number of clusters greater tham 25, for our particular setup. It is essentially due to an insufficient running time for max-sum to converge, which results in a suboptimal solution. This result emphasizes the importance of point 3, since according to Figure 11 with a number of clusters equal to approximately 18, for our setup, we obtain the best performance both in terms of RMSE and solution feasibility.

## 9. Experiments and Discussion of Results

- Our system is able to perform active IG online, according to the measured values.
- Our system is robust against inaccuracies in robots’ position.

#### 9.1. Experimental Setup

#### 9.1.1. Wind Field model

#### 9.1.2. System Architecture

#### 9.2. Experimental Results

#### 9.2.1. Robots Trajectories

#### 9.2.2. Wind Field Estimation

#### 9.2.3. Error between Estimate and Ground Truth

## 10. Conclusions and Future Work

## Author Contributions

## Acknowledgments

## Conflicts of Interest

## References

- Viseras, A.; Wiedemann, T.; Manss, C.; Magel, L.; Mueller, J.; Shutin, D.; Merino, L. Decentralized multi-agent exploration with online-learning of Gaussian processes. In Proceedings of the 2016 IEEE International Conference on Robotics and Automation (ICRA), Stockholm, Sweden, 16–21 May 2016; pp. 4222–4229. [Google Scholar]
- Hitz, G.; Galceran, E.; Garneau, M.È.; Pomerleau, F.; Siegwart, R. Adaptive continuous-space informative path planning for online environmental monitoring. J. Field Robot.
**2017**, 34, 1427–1449. [Google Scholar] [CrossRef] - Lawrance, N.R.; Sukkarieh, S. Autonomous exploration of a wind field with a gliding aircraft. J. Guid. Control Dyn.
**2011**, 34, 719–733. [Google Scholar] [CrossRef] - Stranders, R.; Fave, F.M.D.; Rogers, A.; Jennings, N.R. A decentralised coordination algorithm for mobile sensors. In Proceedings of the Twenty-Fourth AAAI Conference on Artificial Intelligence, Atlanta, GA, USA, 11–15 July 2010; AAAI Press: Palo Alto, CA, USA, 2010; pp. 874–880. [Google Scholar]
- Rasmussen, C.E.; Williams, C.K. Gaussian Processes for Machine Learning (Adaptive Computation and Machine Learning); The MIT Press: Cambridge, MA, USA, 2005. [Google Scholar]
- Singh, A.; Krause, A.; Guestrin, C.; Kaiser, W.J. Efficient Informative Sensing using Multiple Robots. J. Artif. Intell. Res.
**2009**, 34, 707–755. [Google Scholar] [CrossRef] - Choi, H.L.; Lee, S.J. A Potential-Game Approach for Information-Maximizing Cooperative Planning of Sensor Networks. IEEE Trans. Control Syst. Technol.
**2015**, 23, 2326–2335. [Google Scholar] [CrossRef] [Green Version] - Doo-Hyun, C.; Jung-Su, H.; Su-Jin, L.; Sunghyun, M.; Han-Lim, C. Informative Path Planning and Mapping with Multiple UAVs in Wind Fields. In Proceedings of the 13th International Symposium on Distributed Autonomous Robotic Systems, London, UK, 7–9 November 2016. [Google Scholar]
- Farinelli, A.; Rogers, A.; Petcu, A.; Jennings, N.R. Decentralised coordination of low-power embedded devices using the max-sum algorithm. In Proceedings of the 7th International Joint Conference on Autonomous Agents and Multiagent Systems, Estoril, Portugal, 12–16 May 2008; Volume 2, pp. 639–646. [Google Scholar]
- Oliehoek, F.A.; Whiteson, S.; Spaan, M.T. Exploiting structure in cooperative Bayesian games. arXiv
**2012**, arXiv:1210.4886. [Google Scholar] - Philip, G.; Schwartz, H.M.; Givigi, S.N. Cooperative Exploration Using Potential Games. In Proceedings of the 2013 IEEE International Conference on Systems, Man, and Cybernetics, Manchester, UK, 13–16 October 2013; pp. 2384–2389. [Google Scholar]
- Viseras, A.; Xu, Z.; Merino, L. Distributed Multi-Robot Cooperation for Information Gathering under Communication Constraints. In Proceedings of the 2018 IEEE International Conference on Robotics and Automation (ICRA), Brisbane, Australia, 21–25 May 2018; pp. 1267–1272. [Google Scholar]
- Ouyang, R.; Low, K.H.; Chen, J.; Jaillet, P. Multi-robot active sensing of non-stationary Gaussian process-based environmental phenomena. In Proceedings of the 2014 International Conference on Autonomous Agents and Multi-Agent Systems, Paris, France, 5–9 May 2014; pp. 573–580. [Google Scholar]
- Chen, J.; Low, K.H.; Yao, Y.; Jaillet, P. Gaussian Process Decentralized Data Fusion and Active Sensing for Spatiotemporal Traffic Modeling and Prediction in Mobility-on-Demand Systems. IEEE Trans. Autom. Sci. Eng.
**2015**, 12, 901–921. [Google Scholar] [CrossRef] - Viseras, A.; Shutin, D.; Merino, L. Robotic Active Information Gathering for Spatial Field Reconstruction with Rapidly-Exploring Random Trees and Online Learning of Gaussian Processes. Sensors
**2019**, 19, 1016. [Google Scholar] [CrossRef] [PubMed] [Green Version] - Choi, H.L.; How, J.P. Continuous trajectory planning of mobile sensors for informative forecasting. Automatica
**2010**, 46, 1266–1275. [Google Scholar] [CrossRef] [Green Version] - Levine, D.; Luders, B.; How, J.P. Information-rich Path Planning with General Constraints using Rapidly-exploring Random Trees. In Proceedings of the AIAA Infotech@Aerospace Conference, Garden Grove, CA, USA, 19–21 June 2012. [Google Scholar]
- Hollinger, G.A.; Sukhatme, G.S. Sampling-based robotic information gathering algorithms. Int. J. Robot. Res.
**2014**, 33, 1271–1287. [Google Scholar] [CrossRef] - Chung, J.J.; Lawrance, N.R.J.; Sukkarieh, S. Learning to soar: Resource-constrained exploration in reinforcement learning. Int. J. Robot. Res.
**2014**, 34, 158–172. [Google Scholar] [CrossRef] - Nguyen, J.L.; Lawrance, N.R.J.; Fitch, R.; Sukkarieh, S. Real-time path planning for long-term information gathering with an aerial glider. Auton. Robots
**2016**, 40, 1017–1039. [Google Scholar] [CrossRef] - Schlotfeldt, B.; Thakur, D.; Atanasov, N.; Kumar, V.; Pappas, G.J. Anytime Planning for Decentralized Multirobot Active Information Gathering. IEEE Robotics Autom. Lett.
**2018**, 3, 1025–1032. [Google Scholar] [CrossRef] - Ma, K.C.; Ma, Z.; Liu, L.; Sukhatme, G.S. Multi-Robot Informative and Adaptive Planning for Persistent Environmental Monitoring. In Proceedings of the 13th International Symposium on Distributed Autonomous Robotic Systems, London, UK, 7–9 November 2016. [Google Scholar]
- Gan, S.K.; Fitch, R.; Sukkarieh, S. Online decentralized information gathering with spatial–temporal constraints. Auton. Robots
**2014**, 37, 1–25. [Google Scholar] [CrossRef] - Stranders, R.; Farinelli, A.; Rogers, A.; Jennings, N.R. Decentralised coordination of mobile sensors using the max-sum algorithm. In Proceedings of the 21st International Joint Conference on Artifical Intelligence, Pasadena, CA, USA, 11–17 July 2009; Morgan Kaufmann Publishers Inc.: Burlington, MA, USA, 2009; pp. 299–304. [Google Scholar]
- Muppirisetty, L.S.; Svensson, T.; Wymeersch, H. Spatial wireless channel prediction under location uncertainty. IEEE Trans. Wirel. Commun.
**2015**, 15, 1031–1044. [Google Scholar] [CrossRef] [Green Version] - LaValle, S.M.; Kuffner, J.J. Randomized kinodynamic planning. Int. J. Robot. Res.
**2001**, 20, 378–400. [Google Scholar] [CrossRef] - Kschischang, F.R.; Frey, B.J.; Loeliger, H.A. Factor graphs and the sum-product algorithm. IEEE Trans. Inf. Theory
**2001**, 47, 498–519. [Google Scholar] [CrossRef] [Green Version] - Krause, A.; Guestrin, C. Submodularity and its applications in optimized information gathering. ACM Trans. Intell. Syst. Technol. (TIST)
**2011**, 2, 32. [Google Scholar] [CrossRef] - Cover, T.M.; Thomas, J.A. Elements ofInformation Theory; John Wiley & Sons: Hoboken, NJ, USA, 2012. [Google Scholar]
- Lloyd, S. Least squares quantization in PCM. IEEE Trans. Inf. Theory
**1982**, 28, 129–137. [Google Scholar] [CrossRef] - Michael, N.; Zavlanos, M.M.; Kumar, V.; Pappas, G.J. Maintaining connectivity in mobile robot networks. In Experimental Robotics; Springer: Berlin/Heidelberg, Germany, 2009; pp. 117–126. [Google Scholar]
- Yang, P.; Freeman, R.A.; Gordon, G.J.; Lynch, K.M.; Srinivasa, S.S.; Sukthankar, R. Decentralized estimation and control of graph connectivity for mobile sensor networks. Automatica
**2010**, 46, 390–396. [Google Scholar] [CrossRef] [Green Version] - Chen, J.; Low, K.H.; Tan, C.; Oran, A.; Jaillet, P.; Dolan, J.M.; Sukhatme, G.S. Decentralized data fusion and active sensing with mobile sensors for modeling and predicting spatiotemporal traffic phenomena. arXiv
**2012**, arXiv:1206.6230. [Google Scholar] - Quiñonero-Candela, J.; Rasmussen, C.E. A unifying view of sparse approximate Gaussian process regression. J. Mach. Learn. Res.
**2005**, 6, 1939–1959. [Google Scholar] - Guestrin, C.; Krause, A.; Singh, A.P. Near-optimal sensor placements in Gaussian processes. In Proceedings of the 22nd International Conference on Machine Learning, Bonn, Germany, 7–11 August 2005; pp. 265–272. [Google Scholar]
- Allen, M.J. Updraft model for development of autonomous soaring uninhabited air vehicles. In Proceedings of the Forty Fourth AIAA Aerospace Sciences Meeting and Exhibit, Reno, NV, USA, 9–12 January 2006. [Google Scholar]
- Renzaglia, A.; Reymann, C.; Lacroix, S. Monitoring the Evolution of Clouds with UAVs. In Proceedings of the IEEE International Conference on Robotics and Automation, Stockholm, Sweden, 16–21 May 2016. [Google Scholar]
- Quigley, M.; Gerkey, B.; Conley, K.; Faust, J.; Foote, T.; Leibs, J.; Berger, E.; Wheeler, R.; Ng, A. ROS: An open-source Robot Operating System. In Proceedings of the ICRA Workshop on Open Source Software, Kobe, Japan, 12–17 May 2009. [Google Scholar]
- Viseras, A.; Shutin, D.; Merino, L. Online information gathering using sampling-based planners and GPs: An information theoretic approach. In Proceedings of the 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Vancouver, BC, Canada, 24–28 September 2017; pp. 123–130. [Google Scholar]
- Alejo, D.; Cobano, J.; Heredia, G.; Ollero, A. Optimal reciprocal collision avoidance with mobile and static obstacles for multi-UAV systems. In Proceedings of the 2014 International Conference on Unmanned Aircraft Systems (ICUAS), Orlando, FL, USA, 27–30 May 2014; pp. 1259–1266. [Google Scholar]
- Hollinger, G.; Singh, S. Multi-robot coordination with periodic connectivity. In Proceedings of the 2010 IEEE International Conference on Robotics and Automation (ICRA), Anchorage, AK, USA, 3–7 May 2010; pp. 4457–4462. [Google Scholar]
- Misra, P.; Enge, P. Global Positioning System: Signals, Measurements and Performance Second Edition; Ganga-Jamuna Press: Lincoln, MA, USA, 2006. [Google Scholar]

**Figure 1.**Left: a multi-robot network, where arrows depict inter-robot communication. Right: a factor graph representing utility function $U\left(\mathcal{D}\right)={U}_{1}({\mathcal{D}}_{1},{\mathcal{D}}_{2})+{U}_{2}({\mathcal{D}}_{1},{\mathcal{D}}_{2},{\mathcal{D}}_{3})+{U}_{3}({\mathcal{D}}_{2},{\mathcal{D}}_{3})$. Diamonds correspond to factors, and circles correspond to variables. Note that dependencies between factors and variables are determined by the multi-robot communication network (Figure 1a).

**Figure 2.**Graphical representation of the notation employed in this paper. We depict an scenario in which a robot i (colored red) aims to explore a process (in the background) in an environment populated with obstacles (colored black). Orange stars correspond to measurements that were previously gathered by the robot at positions $\mathbf{X}$. White stars are potential measurements locations ${\mathbf{X}}_{*}$. As in this chapter we consider a path planning mechanism, ${\mathbf{X}}_{*}$ belong to potential paths ${\mathcal{P}}_{i}^{\left[1\right]}$, ${\mathcal{P}}_{i}^{\left[2\right]}$ that could be traversed by the robot. Information metrics are utilized here to quantify the informativeness of potential paths. In addition, we also represent ${\mathcal{V}}_{{\mathcal{X}}_{free}}$, together with associated grid cells, which are needed to compute some metrics.

**Figure 3.**Evaluation of several information metrics as we increase the number of potential measurements. (

**a**) Differential Entropy; (

**b**) Mutual Information Non-Measured; (

**c**) Mutual Information All. Figure 3c corresponds to our proposed metric.

**Figure 4.**Algorithm block diagram. Shadowed blocks represent modules that require communication between robots.

**Figure 5.**Spatio-temporal clustering. On the left hand side we depict a Rapidly exploring Random Trees algorithm (RRT). On the right hand side we depict the clusters calculated with our proposed clustering procedure for the RRT. Specifically, we considered one temporal horizon and three spatial clusters; i.e., ${k}_{t}=1,\phantom{\rule{3.33333pt}{0ex}}{k}_{s}=3$, respectively. Each of the colors represent a spatio-temporal cluster.

**Figure 8.**Root Mean Squared Error (RMSE) reduction and network connectivity. (

**a**) RMSE reduction during an exploration task as we increase the number of robots in the system. (

**b**) Percentage of iterations in which the network fulfills a periodic connectivity constraint.

**Figure 9.**Inter-robot distance during one illustrative execution of our algorithm. Each color represents the distance between a different pair (6 different pairs) of robots for a 4-robot team.

**Figure 10.**Algorithm’s scalability for an increasing number of robots. Scalability is measured in terms of the computational load per robot, which is exponential in $|{\mathcal{N}}_{C}|$. We compare a fully connected/centralized system against our distributed solution.

**Figure 11.**Algorithm’s performance as we vary the two most relevant parameters: number of spatial-temporal clusters, and communication radius. For these two parameters we analyze: (

**a**) the resulting RMSE, calculated with (10), after three iterations of the algorithm, and (

**b**) the solution feasibility; i.e., how often the algorithm finds a solution that meets constraints from Equation (1).

**Figure 12.**Nominal position and actual position of the quadcopters during the exploration task. Each of the three quadcopters is represented with a different color. (

**a**) Quadcopters during the experiment. (

**b**) Nominal position. (

**c**) Actual position.

**Figure 13.**(

**a**,

**b**) Process entropy and reconstruction after performing an exploration run. (

**c**) RMSE between estimate and ground truth for one and three quadcopters.

**Table 1.**Evaluation of algorithm’s complexity. For clarification, let us add that typically ${m}_{s}<<m$, ${k}_{s}{k}_{t}<<{N}_{p}$, and ${n}_{s}<<n$.

$\mathtt{NoCluster}$ | $\mathtt{Cluster}$ | $\mathtt{ClusterSimplified}$ | |
---|---|---|---|

Path planner | $\mathcal{O}({N}_{p}log{N}_{p})$ | $\mathcal{O}({N}_{p}log{N}_{p})$ | $\mathcal{O}({N}_{p}log{N}_{p})$ |

Clustering method | - | $\mathcal{O}\left({N}_{p}{k}_{s}{k}_{t}{d}_{c}{i}_{c}\right)$ | $\mathcal{O}\left({N}_{p}{k}_{s}{k}_{t}{d}_{c}{i}_{c}\right)$ |

Max-sum | $\mathcal{O}({m}^{3}{N}_{p}^{|{\mathcal{N}}_{C}|})$ | $\mathcal{O}({m}^{3}{\left({k}_{s}{k}_{t}\right)}^{|{\mathcal{N}}_{C}|})$ | $\mathcal{O}({m}_{s}^{3}{\left({k}_{s}{k}_{t}\right)}^{|{\mathcal{N}}_{C}|})$ |

Updating GPs | $\mathcal{O}\left({n}^{3}{i}_{G}\right)$ | $\mathcal{O}\left({n}^{3}{i}_{G}\right)$ | $\mathcal{O}\left({n}_{s}^{3}{i}_{G}\right)$ |

**Table 2.**Computational time required to execute one algorithm run. For the calculations, we used a set of fix parameters that is representative of the simulations we carried out in the paper. These parameters are as follows: ${N}_{p}=1000$, ${d}_{c}=20$, ${i}_{c}=10$, ${i}_{G}=10$, $m=2500$, $|{\mathcal{N}}_{C}|=7$. In addition, we varied parameters ${m}_{s}$, ${k}_{s}{k}_{t}$, ${n}_{s}$ to account for several degrees of complexity reduction. In particular, we considered: $[{m}_{s},{k}_{s}{k}_{t},{n}_{s}]=[m,{N}_{p},n]/10,\phantom{\rule{3.33333pt}{0ex}}[m,{N}_{p},n]/50,\phantom{\rule{3.33333pt}{0ex}}[m,{N}_{p},n]/100,\phantom{\rule{3.33333pt}{0ex}}[m,{N}_{p},n]/200$. The set of parameters used for our simulations corresponds to the $\mathtt{ClusterSimplified}$ with a reduction factor of 100. Execution time for this set of parameters is approximately 6 s.

$\mathtt{NoCluster}$ | $\mathtt{Cluster}$ | $\mathtt{ClusterSimplified}$ | ||||||
---|---|---|---|---|---|---|---|---|

/10 | /50 | /100 | /10 | /50 | /100 | /200 | ||

Computational time [s] | 3 × ${10}^{20}$ | 3 × ${10}^{13}$ | 4× ${10}^{8}$ | 3× ${10}^{6}$ | 3× ${10}^{10}$ | 3075 | 6 | 3 |

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Viseras, A.; Xu, Z.; Merino, L.
Distributed Multi-Robot Information Gathering under Spatio-Temporal Inter-Robot Constraints. *Sensors* **2020**, *20*, 484.
https://doi.org/10.3390/s20020484

**AMA Style**

Viseras A, Xu Z, Merino L.
Distributed Multi-Robot Information Gathering under Spatio-Temporal Inter-Robot Constraints. *Sensors*. 2020; 20(2):484.
https://doi.org/10.3390/s20020484

**Chicago/Turabian Style**

Viseras, Alberto, Zhe Xu, and Luis Merino.
2020. "Distributed Multi-Robot Information Gathering under Spatio-Temporal Inter-Robot Constraints" *Sensors* 20, no. 2: 484.
https://doi.org/10.3390/s20020484