Log In Sign Up

An Adversarial Approach to Private Flocking in Mobile Robot Teams

Privacy is an important facet of defence against adversaries. In this letter, we introduce the problem of private flocking. We consider a team of mobile robots flocking in the presence of an adversary, who is able to observe all robots' trajectories, and who is interested in identifying the leader. We present a method that generates private flocking controllers that hide the identity of the leader robot. Our approach towards privacy leverages a data-driven adversarial co-optimization scheme. We design a mechanism that optimizes flocking control parameters, such that leader inference is hindered. As the flocking performance improves, we successively train an adversarial discriminator that tries to infer the identity of the leader robot. To evaluate the performance of our co-optimization scheme, we investigate different classes of reference trajectories. Although it is reasonable to assume that there is an inherent trade-off between flocking performance and privacy, our results demonstrate that we are able to achieve high flocking performance and simultaneously reduce the risk of revealing the leader.


page 1

page 2

page 3

page 4


Hiding Leader's Identity in Leader-Follower Navigation through Multi-Agent Reinforcement Learning

Leader-follower navigation is a popular class of multi-robot algorithms ...

Leader Election Problem Versus Pattern Formation Problem

Leader election and arbitrary pattern formation are funda- mental tasks ...

Swarm Herding: A Leader-Follower Framework For Multi-Robot Navigation

A leader-follower framework is proposed for multi-robot navigation of la...

Distributed Motion Control for Multiple Connected Surface Vessels

We propose a scalable cooperative control approach which coordinates a g...

Decentralized 2-Robot Transportation with Local and Indirect Sensing

In this paper, we propose a leader-follower hierarchical strategy for tw...

Line Marching Algorithm For Planar Kinematic Swarm Robots: A Dynamic Leader-Follower Approach

Most of the existing formation algorithms for multiagent systems are ful...

Unreliable Sensors for Reliable Efficient Robots

The vast majority of existing Distributed Computing literature about mob...

I Introduction

To date, with the exception of a few recent works (e.g., [1, 2, 3]), the topic of privacy remains poorly addressed within robotics at large. Yet, privacy can be an important facet of defence against active adversaries for many types of robotics applications. Using privacy as a defence mechanism is particularly relevant for collaborative robot teams, where individual robots assume different roles with varying degrees of specialization. As a consequence, specific robots may be critical to securing the system’s ability to operate without failure. Our premise is that a robot’s motion may reveal sensitive information about its role within the team. To avoid threats that arise when the roles can be determined by adversaries, we need methods that ensure the anonymity of robots when their motion can be observed.

In this work, we are interested in achieving flocking behavior with private leaders, where privacy refers to preventing the inference of the leader’s identity, based on observable motion behavior. Although classical privacy schemes, such as differential privacy, are now increasingly deployed on continuous control problems [4], they require knowledge of the output distribution of the dynamical system. Even though it is straightforward to define a basic flocking control scheme, and even sample results from its output distribution through simulation, there are no readily available analytical models that could be used to represent this distribution.

For this reason, we choose an approach towards privacy that leverages data-driven adversarial co-optimization. In specific, we design a mechanism that optimizes flocking control parameters, such that the risk of leader inference is minimized. As the flocking performance improves, we train an adversarial discriminator that tries to infer the identity of the leader. To evaluate the performance of our co-optimization scheme, we investigate three complementary classes of reference trajectories (line, sine, and chevron).

I-a Background

Flocking is a class of formation control algorithms that rely on velocity synchronization and regulation of relative distances within a group of mobile robots [5]. The aim of formation control is to drive multiple robots to satisfy certain constraints on their physical position, using local or limited information [6]. Movement in formation is crucial for a wide variety of robotics applications including surveillance [7], transportation [8], space flight control [9], and environmental monitoring [10]. The problem varies greatly depending on the desired topology of the formation, and the sensing and communication capabilities available to the robots. Given these varying constraints and the complexity of the problem, a vast number of formation control schemes have been proposed, e.g., [5, 11, 12, 13, 6, 14].

Formation control schemes generally fall into three classes: (i) leader-follower schemes, (ii) virtual structure schemes, and (iii) behavioral formation control schemes. Leader-follower schemes designate one or more robots as leaders and give them access to the desired trajectory of the formation [13, 15]. The followers use local information about the leader’s position and kinematics to maintain a specified offset that forms the desired formation.

In virtual structure schemes, the robot team is considered a single object with a designated trajectory. Each robot then uses this information in addition to local information in order to plan its own motion. These schemes often involve consensus algorithms to drive the robots’ states to a common value [11]. In particular, virtual leader approaches [16, 17, 18] have the robots agree on the position of a virtual robot, which is then treated as a leader in some leader-follower algorithm.

Behavioral formation control schemes assign simple behaviors, such as cohesion and collision avoidance, to individual robots, with the aim of creating an emergent formation [19, 20, 12, 21]. A well-known example of this scheme is flocking, which is typically deployed in larger robot teams [22]. The movement of the team can be directed by a tacit leader [23], which is a robot that does not explicitly identify itself as a leader to other robots. Instead, it follows a reference trajectory itself, and thus, due to flock cohesion, causes the group to move with it in the desired direction.

As evident from the overview above, formation control schemes are vulnerable when they rely on robots with varying degrees of responsibility. The most obvious case is found in control schemes that leverages explicit or tacit leadership. If the leader is compromised, the entire formation can be led astray or stopped. While virtual structure approaches do not have designated leaders, it is nevertheless common for only several robots to directly receive trajectory commands, distributing this information amongst the others through local communication. This means that specific robots may act as gate-way nodes, receiving control information before other robots do. If these key robots can be identified and compromised by an adversary, the mission of the robot team can be easily disrupted.

I-B Contributions

There is a dearth of research specifically tackling the problem of role privacy for individual robots participating in a formation control scheme. In this work, we address this gap by introducing the problem of flocking with private leaders. More specifically, we provide the following contributions:

  • We formulate the problem of flocking in homogeneous mobile robot teams with private leaders.

  • We develop an adversarial co-optimization method.

  • We provide a study of the relation between flocking and privacy performance, and analyze the ensuing trade-off.

The following section summarizes related work. Section III introduces the problem, and Section IV presents our methodology. In Section V, we provide simulations to exhibit the behavior of the proposed co-optimization scheme, and discuss the impact on the flocking performance. Finally, Section VI concludes the article and draws directions for future research.

Ii Related Work

Although privacy has not traditionally featured as part of robotics research, several works have appeared in this domain in the last few years. In particular, the problem of motion planning and tracking under privacy has been a subject of focused study. In [3] and [24], the authors consider the problem of generating a target tracking policy that simultaneously preserves the target’s privacy. The work deals with a powerful adversary, who is interested in computing the location of the target, and is assumed to have access to the full history of tracking information. Tsiamis et al. [25], too, consider a tracking problem. A robot is commanded to track a desired trajectory, which is transmitted on-line through a communication channel that can be compromised by eavesdroppers. They design secure communication codes to encode the trajectory information and hide it from the eavesdroppers.

Our work differs from the aforementioned works. Compared to [25], we do not focus on the aspect of information transmission. Our adversarial model is similar to the one in [3], which assumes an adversary that has access to a history of trajectory information. Yet, we consider a distinct problem setting, where multiple robots are involved. In particular, our goal is to provide role privacy; thus, we tackle the problem of preventing an adversary from being able to distinguish the role of one robot from that of another.

The issue of role privacy was explored to some extent in prior work [26]. That work considers heterogeneous robot teams, and quantifies how easy it is for an adversary to identify the type of any robot in the group, based on an observation of the robot group’s dynamic state. The framework, however, builds on the theory of differential privacy, and assumes the availability of an output distribution that describes the robot group’s dynamic state. As previously mentioned in Section I, such a method is not easily applied to the case of flocking, where output distributions are hard to model in analytical form, and where the analytical model for the dynamical system is unknown.

Our approach towards privacy leverages an adversarial co-optimization approach. The idea of adversarial privacy was recently presented by Huang et al. [27], who formulate it as a constrained minimax game between two players. Their method learns the parameters of a privatizer, which is a generative model that creates private data, and an adversarial model, which tries to infer the private variables from the output of the privatizer. Although the idea of alternating the optimization of privatizer and adversary is common in both our approaches, we apply the method to a completely different domain.

Iii Problem Statement

Our work has two objectives: (i) efficient three-dimensional flocking of a team of mobile robots that follows a trajectory only known to a single leader robot; and (ii), privacy of this leadership—that is, making it challenging for an artificial or human adversary to correctly identify the leader of the flock. We choose to tackle this problem using a co-optimization framework that simultaneously refines the performance of both the robot team and an adversarial discriminator .

Robot team and flocking models

We consider a homogeneous robot team comprising of identical robots. We refer to the position and velocity of each robot as and , respectively. All robots share the same limited sensing range and each robot’s neighborhood is defined as the set of all robots within this radius —where is the distance between robot and

. We assume that each robot is capable of observing the position and velocity of all its neighbors. Thus, the observation vector

of robot at time can be written as:


Each robot is modelled as a single integrator with velocity directly set by control . In its general formulation, the flocking control input is a function of the current state of a robot’s neighborhood and a vector of parameters :


The family of the velocity controllers for the robot team leader is a superset of the flocking controllers in Equation (2) as it also includes a contribution based on the leader’s absolute position , its intended trajectory , and a separate set of parameters (with ):


To automate the optimization of the flocking with leadership behavior, we also require a formal measure of its performance , that is a function in the form:


where is the number of time steps produced by sampling and over seconds at a fixed frequency .

Adversarial discriminator

The discriminator is an adversarial agent tasked with unveiling the identity of the robot leader of flock . Our assumption is that has access to observations : the positions of the entire team for time windows of seconds, that is, where is an arbitrary observation start time. Here, we assume no noise and uniform time sampling. Thus, ’s role is to solve a multi-class classification problem by attaching to each observation its presumed leader identifier . Given discrete sampling, at fixed frequency , a discriminator is any function in the form:


Discriminator performance and privacy

To formally define privacy as the ability to reduce the performance of an adversarial discriminator, we first define a loss function, returning non-negative penalties for each mislabelled



The privacy can then be defined through a function aggregating the losses of a given discriminator over a vector of observations with correct labels :


e.g., in a simple arithmetic mean .

Problem (adversarial private flocking)

given a robot team with sensing capabilities as defined in Equation (1), (i) define functions , , and , and (ii) design an adversarial co-optimization framework capable of selecting , and such that and are simultaneously improved by solving the dual problem , .

Iv Methods

Fig. 1: Block diagram of the proposed implementation of the adversarial co-optimzation approach. From the top left, a complete, clockwise loop presents all the steps in a single generation of genetic optimization.

Our method comprises two components: (i) flocking optimization and (ii) leader discrimination learning. The former optimizes the controller parameters , for more efficient and private flocking (i.e., minimizing and ), while the latter refines to achieve higher leader-identification accuracy (i.e., increasing ). We co-optimize these two components in an alternating optimization procedure, as shown in Figure 1. The following text details the sub-components of our co-optimization procedure, which is finally summarized in Section IV-D.

Iv-a Flocking Implementation

We adopt Reynold’s flocking [12], a basic flocking model consisting of three simple components generating control . The first component ensures collision avoidance and it is computed as:


with the aid of the helper function :

where is a scale function to transform a position vector into a velocity. The second component is each robot’s average neighborhood velocity:


To make the flocking cohesive and avoid splitting, finally, the third component leads the robots to move towards the centre of their neighborhood :


The leader robot’s trajectory tracking is implemented by a velocity component which is returned from function using proportional control in the form:


where is a control gain and is the position on the trajectory at a fixed look-ahead distance. It is worth noting that the leader robot can adopt a complete separate set of parameters, meaning that , , , , , and are , while , , , , , , and belong to and can take on different values. The initial position of robot leader within the flock is captured by two additional parameters , each and included in .

Iv-B Flocking Performance Metrics and Genetic Optimization

The flocking with leadership model described above incorporates 15 control parameters. Optimizing such a large pool of continuous parameters cannot be done by hand or through parameter sweeping. In our proposal (Figure 1

), we adopt an evolutionary approach based on classical genetic algorithms (GAs) 

[28], that is, optimization through a biologically-inspired stochastic search. Having defined the GA’s chromosome as the concatenation of and , we are left with the non-trivial task of capturing its fitness .

Let represent a single performance metric at time

. We can define the sample average and variance of metrics

, over simulation time of samples, as follows:


To achieve good flock alignment, the literature suggests candidate metrics—velocity correlation [22] or polarization [29]. We chose velocity correlation as it accounts for not only the direction alignment but also the magnitude similarity:


This metric should be maximised to encourage alignment within the flock neighborhood. To ensure dense but also collision-free flocking, we introduce metric :


as well as metric :


where defines a range of acceptable inter-robot distances. The spacing within the flock should also be uniform. Thus, we introduce a metric for the variance of spacing among robots:


To minimize the leader’s tracking error to , we define:


Finally, to assess the overall flock tracking efficiency, the flock’s speed is measured at the centre of mass:


and we defined metric as:


where is the minimum acceptable flock speed.

We can then combine all these metrics in a vector :


define the hyper-parameter vector , and write our proposed overall flocking performance as . Note that, by this formulation, flocking improves as . Having formalized our problem as one of minimization in Section III also means that the GA favours smaller values. Thus, in order to purely optimize for one can set .

Iv-C Adversarial Discriminator Design

Given the complexity of flocking dynamics and a lack of analytical models that can describe observations of trajectories (as defined in Section III), we opt to design the discriminator (Figure 1

) using a data-driven approach. Convolutional Neural Networks (CNNs) have proven successful in multi-class classification problem for high-dimensional input with spatial information 

[30]. Their setup closely resembles the problem at hand of the discriminator, which is trained to distinguish the leader robot from its followers. The discriminator’s input can be directly fed into a CNN as a multi-channel rectangular input with shape and number of channels . The CNN output is set to be a one-hot vector encoding ’s predicted leader . We implement Equation (7) by first defining as the multi-class cross-entropy loss of the predicted output and , the identifier of the actual leader ,


and, finally, privacy as:


where is a hyper-parameter and a set of pairs.

Iv-D Genetic Optimization with Adversarial Training

The co-optimization of flocking and privacy

is implemented through a loop that alternates genetic optimization generations and training epochs of the CNN, as shown in Figure 

1. As the genetic algorithm repeatedly optimizes the controller parameters , , our framework also refines the discriminator . The aim is to generate flocking behaviors that fool the discriminator; meanwhile, the trajectories and correct labels

of these improved flocking controllers are provided to the discriminator in the next optimization epoch. Online training is needed to give the discriminator stronger distinguishing ability while the GA continuously tries to beat it. We achieve this by updating the discriminator network using stochastic gradient descent for one epoch after each GA generation. To inform the GA about the current performance of

, the flocking fitness function is adapted as follows:


Hyper-parameters and can be used to discard extremely poor flocking performance and tune the - trade-off, respectively.

V Performance Evaluation

Fig. 2: Flocking metric through the evolution process for the 3 classes of reference trajectories. The blue box plots represent the distributions of the scores of the chromosomes in the population of the GA. The red box plots represent those of the new experiments of each generation.
Fig. 3: Fitness (0 is best) through the evolution process for the 3 classes of reference trajectories. The blue box plots represent the distributions of the scores of the chromosomes in the population of the GA. The red box plots represent those of the new experiments of each generation.
Fig. 4: CNN discriminator performance through the evolution process for the 3 classes of reference trajectories. The blue box plots represent the distribution of for the solutions retained in the population of the genetic algorithm. The teal line represents the training accuracy of the network.
Fig. 5: Trade-off between flocking performance and privacy scores for the three classes of leader trajectories (the rows) at four, representative generations (5, 10, 20, and 50, i.e. the columns). The plots with the teal markers present the privacy score returned by the discriminator CNN undergoing the online training described in Subsection IV-D. The plots with the orange markers present the privacy score returned by the originally pre-trained network from Subsection V-A. Ideal performance is achieved in the bottom left corner of each plot.
Fig. 6: The genetic champions with respect to (i) pure flocking performance (left column) and (ii) the joint privacy/flocking fitness (right column) for the three classes of leader trajectories, over 3-minute simulations. The trajectory trace of the leader robot is drawn in red. Note that amplitude and frequency of the sine and chevron reference trajectory are fixed at design time.
Fig. 7: Evolution of four of the individual components in the flocking metric for the three classes of leader trajectories. Each series of box plots represent the distributions of scores of the solutions in the population of the GA. The black dashed line represents the optimization target value.
Fig. 8: Distributions over 500 experiments of the same four components of from Figure 7, for the three classes of leader trajectories.

In the following, we first describe our simulation setup. We then present the results and discuss our findings.

V-a Simulation Setup

Our simulations were conducted using a 12-core, 3.2Ghz i7-8700 CPU and an Nvidia GTX 1080Ti GPU with 32 and 11GB of memory, respectively. Physics was provided by Unreal Engine release 4.18 (UE4). Our flocking control models (Equations 2 and 3) were implemented through the AirSim plugin [31] and its Python client, which conveniently exposes asynchronous APIs for the velocity control of multiple agents in custom UE4 worlds. To formalize and run the genetic evolution process, we used ESA’s pygmo [32]

library for massively parallel optimization. The discriminator’s CNN implementation and training used PyTorch 

[33] v1.2.0, and were accelerated with Cuda v10.0 APIs.

The population size of the GA was set to and evolved over 50 generations. At every generation, pygmo interfaced with AirSim and UE4 to execute 10 3-minute flock flights for each of 10 new chromosomes (experiments)—containing new values for , . Specifically, we used the SGA

algorithm with crossover and mutation probabilities of 0.9 and 0.02, respectively, a single crossover point, and elitism set to 3. Our CNN architecture included a feature extractor


followed by a three-layer Linear-ReLU-Linearclassifier. In the feature extractor, we used kernels of size 3. Stride and zero-padding were set to 1 for both the Conv2d and MaxPool2d layers. The intermediate channel number was set to 16.

We pre-trained the CNN to give the discriminator reasonable privacy performance at the beginning of the co-optimization process. We used stochastic gradient descent, for 150 epochs, and 2000 training samples from hand-tuned flocking behaviors following 3 types of leader reference trajectories . The initial leader position (,

) was uniformly distributed within the flock. After pre-training, the discriminator achieved 86.9% test accuracy on hand-tuned flocking.

For the online training of the CNN—i.e., during SGA’s evolution—we used the 100 most recent chromosomes generated by the GA having attained a flocking score . The learning rate was set to 0.025, and momentum to 0.9.

In the following subsection, we report results for 3 separate evolution processes, one for each of the trajectory types , with 9 robots (quadcopters). These account for 1500 3-minute experiments, that is, over 3 days of simulated flight. All of our code is available on GitHub111˙flocking.

V-B Results

Figure 2 presents the evolution—over 50 generations—of the flocking performance described in Subsection IV-B, for the 3 different leader reference trajectories. As each generation refers to a population of chromosomes, as well as new, experimental chromosomes (see Figure 1), is presented by two series of 50 box plots: one (blue) describing the evolution of the distribution of for the chromosomes in the GA’s population; and one (red) describing the evolution of the distribution for the experimental chromosomes. SGA quickly (within 10 generations) and effectively (for all reference trajectories) reaches good values of (0 is best).

The results in Figure 3 refer to the fitness values, (Equation 23). Similarly to Figure 2, Figure 3 presents information about the evolution of the chromosomes in the GA’s population (in blue), and the experimental chromosomes (in red) as series of box plots. Again, 0 is best. As depends on , we observe similar trends between Figure 2 and 3. However, in the latter, the experimental chromosomes’ performance diverges with respect to that of the GA’s population, in particular for the reference trajectory. At later stages, we confront the solutions to stronger adversaries, making it more challenging for new solutions to be added to the population.

Figure 4, displays a series of box plots capturing the evolution of the distribution of the values of for the chromosomes in the population of the genetic algorithm for the 3 reference trajectories, as well as the training accuracy of the CNN . Notably, improvements in are slower than those in . We also note that training accuracy of the CNN is slower to converge for the reference trajectory.

Figure 5 shows the trade-off between flocking and privacy performance. The panels in teal show how the genetic evolution successively increases the number of solutions that provide interesting trade-offs between and (bottom-left is best). The pair-wise comparison in each of the four columns of the plot also shows that the scores provided by the pre-trained CNN (orange) are more highly polarized towards non-private, good flocking (top-left) or private, poor flocking (bottom-right).

In the left and right columns of Figure 6, we compare the trajectories generated by the champion chromosomes with respect to and , respectively, for each of the 3 reference trajectories. The private trajectories (on the right) tend to be slightly slower and less smooth.

Finally, Figures 7 and 8 present the evolution (over 50 genetic generations) and the overall distributions (over the 500 experiments in the 50 generations) of four of the flocking performance metrics presented in Subsection IV-B: (i) , quantifying the flock’s alignment (1 is best); (ii) , quantifying the flock velocity (1 is best); (iii) , quantifying the flock inter-robot spacing (2 is best); and (iv) , quantifying the leader trajectory tracking error (0 is best). We see that: alignment (row 1) does well for all trajectory classes; flock velocity (row 2) is smaller for the , and varies more for ; spacing (row 3) also varies more for ; and tracking error (row 4) is smallest for .

V-C Discussion

Overall, the results demonstrate that the GA is able to find very good flocking solutions, despite the large parameter space, and despite the increasing strength of the adversarial discriminator. The inclusion of privacy does not appear to harm flocking convergence, yet it is a slower process.

The final performance across the different trajectory classes is comparable, however, the fitness converges quicker for the reference than for the other two. This is corroborated by the discriminator performance, which shows a slower learning curve for the . The common denominator among and is that they are both composed of straight lines. These insights indicate increased difficulty of hiding a leader along linear trajectories.

Although we purposefully constructed a very powerful adversary, it is not a very realistic one. Observations made from a fixed vantage point, or observations that only capture trajectories on a plane, for example, may cause the flock to move in different ways. These avenues remain to be explored in future work.

Vi Conclusions and Future Work

This work introduced the problem of private flocking and presented a method to generate robot controllers which achieve that feat. We employed a co-optimization procedure that uses a data-driven adversarial discriminator and a genetic algorithm that optimizes flocking control parameters. Although we expected an inherent trade-off between flocking performance and privacy, our results demonstrated that we are able to achieve both efficient and private flocking, across different classes of reference trajectories. In this work, we considered a worst-case powerful adversary that has access to the complete, non-noisy data. Future work will consider a physical setup with real robots and a realistic adversary, who observes the robot team from specified vantage points, and through potentially noisy sensors.


Hehui Zheng and Amanda Prorok were supported by the Centre for Digital Built Britain, under InnovateUK grant number RG96233. Jacopo Panerati was supported by a Mitacs Globalink research award and the Natural Sciences and Engineering Council of Canada (NSERC) Strategic Partnership Grant. The support of Arm is gratefully acknowledged. This article solely reflects the opinions and conclusions of its authors and not Arm or any other Arm entity.


  • [1] A. Prorok and V. Kumar, “Privacy-preserving vehicle assignment for mobility-on-demand systems,” in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).    IEEE, 2017, pp. 1869–1876.
  • [2] L. Li, A. Bayuelo, L. Bobadilla, T. Alam, and D. A. Shell, “Coordinated multi-robot planning while preserving individual privacy,” in International Conference on Robotics and Automation (ICRA).    IEEE, 2019, pp. 2188–2194.
  • [3] Y. Zhang and D. A. Shell, “Complete characterization of a class of privacy-preserving tracking problems,” The International Journal of Robotics Research (IJRR), vol. 38, no. 2-3, pp. 299–315, 2019.
  • [4] S. Han and G. J. Pappas, “Privacy in control and dynamical systems,” Annual Review of Control, Robotics, and Autonomous Systems, vol. 1, pp. 309–332, 2018.
  • [5] R. Olfati-Saber, “Flocking for multi-agent dynamic systems: algorithms and theory,” IEEE Transactions on Automatic Control, vol. 51, no. 3, pp. 401–420, March 2006.
  • [6] K.-K. Oh, M.-C. Park, and H.-S. Ahn, “A survey of multi-agent formation control,” Automatica, vol. 53, pp. 424–440, 2015.
  • [7] D. Van der Walle, B. Fidan, A. Sutton, C. Yu, and B. D. Anderson, “Non-hierarchical uav formation control for surveillance tasks,” in American Control Conference (ACC).    IEEE, 2008, pp. 777–782.
  • [8] J. Bom, B. Thuilot, F. Marmoiton, and P. Martinet, “A global control strategy for urban vehicles platooning relying on nonlinear decoupling laws,” in IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS).    IEEE, 2005, pp. 2875–2880.
  • [9] R. W. Beard, J. Lawton, and F. Y. Hadaegh, “A coordination architecture for spacecraft formation control,” IEEE Transactions on Control Systems Technology, vol. 9, no. 6, pp. 777–790, 2001.
  • [10] S. Li, Y. Guo, and B. Bingham, “Multi-robot cooperative control for monitoring and tracking dynamic plumes,” in IEEE International Conference on Robotics and Automation (ICRA).    IEEE, 2014, pp. 67–73.
  • [11] W. Ren and N. Sorensen, “Distributed coordination architecture for multi-robot formation control,” Robotics and Autonomous Systems, vol. 56, no. 4, pp. 324 – 333, 2008.
  • [12] C. W. Reynolds, “Flocks, herds and schools: A distributed behavioral model,” in Proceedings of the 14th Annual Conference on Computer Graphics and Interactive Techniques, ser. SIGGRAPH ’87.    New York, NY, USA: ACM, 1987, pp. 25–34.
  • [13] J. Desai, J. Ostrowski, and V. Kumar, “Modeling and control of formations of nonholonomic mobile robots,” IEEE Transactions on Robotics and Automation, vol. 17, no. 6, pp. 905–908, 2001.
  • [14] B. T. Fine and D. A. Shell, “Unifying microscopic flocking motion models for virtual, robotic, and biological flock members,” Autonomous Robots, vol. 35, no. 2, pp. 195–219, Oct 2013.
  • [15] D. Gu and Z. Wang, “Leader?follower flocking: Algorithms and experiments,” IEEE Transactions on Control Systems Technology, vol. 17, no. 5, pp. 1211–1219, Sep. 2009.
  • [16] N. E. Leonard and E. Fiorelli, “Virtual leaders, artificial potentials and coordinated control of groups,” in IEEE Conference on Decision and Control, vol. 3.    IEEE, 2001, pp. 2968–2973.
  • [17] M. Egerstedt, X. Hu, and A. Stotsky, “Control of mobile platforms using a virtual vehicle approach,” IEEE Transactions on Automatic Control, vol. 46, no. 11, pp. 1777–1782, Nov 2001.
  • [18] H. Su, X. Wang, and Z. Lin, “Flocking of multi-agents with a virtual leader,” IEEE Transactions on Automatic Control, vol. 54, no. 2, pp. 293–307, Feb 2009.
  • [19] F. Cucker and S. Smale, “Emergent behavior in flocks,” IEEE Transactions on Automatic Control, vol. 52, no. 5, pp. 852–862, May 2007.
  • [20] A. E. Turgut, H. Çelikkanat, F. Gökçe, and E. Şahin, “Self-organized flocking in mobile robot swarms,” Swarm Intelligence, vol. 2, no. 2, pp. 97–120, Dec 2008.
  • [21] T. Balch and R. C. Arkin, “Behavior-based formation control for multirobot teams,” IEEE Transactions on Tobotics and Automation, vol. 14, no. 6, pp. 926–939, 1998.
  • [22] G. Vásárhelyi, C. Virágh, G. Somorjai, T. Nepusz, A. E. Eiben, and T. Vicsek, “Optimized flocking of autonomous drones in confined environments,” Science Robotics, vol. 3, no. 20, 2018.
  • [23] S. A. Amraii, P. Walker, M. Lewis, N. Chakraborty, and K. Sycara, “Explicit vs. tacit leadership in influencing the behavior of swarms,” in IEEE International Conference on Robotics and Automation (ICRA).    IEEE, 2014, pp. 2209–2214.
  • [24] J. M. O?kane, “On the value of ignorance: Balancing tracking and privacy using a two-bit sensor,” in Algorithmic Foundations of Robotics VIII.    Springer, 2009, pp. 235–249.
  • [25] A. Tsiamis, A. B. Alexandru, and G. J. Pappas, “Motion planning with secrecy,” in 2019 American Control Conference (ACC), July 2019.
  • [26] A. Prorok and V. Kumar, “A macroscopic privacy model for heterogeneous robot swarms,” in Swarm Intelligence, M. Dorigo, M. Birattari, X. Li, M. López-Ibáñez, K. Ohkura, C. Pinciroli, and T. Stützle, Eds.    Cham: Springer International Publishing, 2016, pp. 15–27.
  • [27] C. Huang, P. Kairouz, X. Chen, L. Sankar, and R. Rajagopal, “Context-aware generative adversarial privacy,” CoRR, vol. abs/1710.09549, 2017. [Online]. Available:
  • [28]

    D. E. Goldberg and J. H. Holland, “Genetic algorithms and machine learning,”

    Machine Learning, vol. 3, no. 2, pp. 95–99, Oct 1988. [Online]. Available:
  • [29] C. Gershenson, A. Muoz-Melndez, and J. L. Zapotecatl, “Performance metrics of collective coordinated motion in flocks,” in Artificial Life Conference Proceedings 13.    MIT Press, 2016, pp. 322–329.
  • [30] Y. LeCun, K. Kavukcuoglu, and C. Farabet, “Convolutional networks and applications in vision,” in Proceedings of 2010 IEEE International Symposium on Circuits and Systems, May 2010, pp. 253–256.
  • [31] S. Shah, D. Dey, C. Lovett, and A. Kapoor, “Airsim: High-fidelity visual and physical simulation for autonomous vehicles,” in Field and Service Robotics, 2017.
  • [32] “esa/pagmo2: pagmo 2.11.1,” Aug. 2019. [Online]. Available:
  • [33] A. Paszke, S. Gross, S. Chintala, G. Chanan, E. Yang, Z. DeVito, Z. Lin, A. Desmaison, L. Antiga, and A. Lerer, “Automatic differentiation in pytorch,” in NIPS-W, 2017.