Taming the Swarm: Control and Design of Robotic Swarms

Project: Research project

Project Details


My research objective is to enable the control and creation of robotic swarms with the numbers and capabilities of swarms seen in nature [1] and envisioned in futuristic systems [2,3]. While natural systems provide an existence proof that swarms with these capabilities are possible, there exists a large gap between what is envisioned, and current robotic swarms. This is a result of deficiencies in two factors: algorithmic control, and hardware capabilities. The properties desired from these systems, e.g. shape or locomotion, are generally a global property; however, we can only control the local interactions between individuals. The mapping between the controllable local behaviors and the desired global results is not well understood, as the global results come from the complex interaction between agents, their environment, and the initial conditions. The control is further complicated by the very nature of these systems, which are composed of decentralized, distributed, asynchronous, error-prone individuals with often limited capabilities. Creating a hardware system to embody these algorithms is also an open challenge; cost and manufacturability pressure hardware designs to be simple with low capabilities, while algorithm design favors more capable hardware. The robot design must balance these factors to create a simple robot that is, at the same time, capable of performing the desired behaviors. My research interest is to advance robotic swarms closer to their potential by investigating both the control and hardware design for such systems. My research focuses on the following two interdependent questions: First, how can a distributed, decentralized swarm with thousands or millions of simple and unreliable robots be programmed at the individual robot level to produce a desired global result? Second, what will these robots look like, i.e. what hardware designs and capabilities for individual robots will balance the often conflicting demands of creating and controlling these swarms? It is important to investigate these two questions together; control algorithms should use assumptions about robot capabilities that are grounded in reality, and the design of robots should be guided by an understanding of how hardware compromises influence the controllability of the swarm. Too often are these questions treated independently, resulting in algorithms that run in simulated swarms only, or robot designs that are too complex to do more than display simple behaviors on a few 10’s of robots. Only by looking at both questions together can we reach the goal of creating robot swarms composed of hundreds, thousands or even millions of robots accomplishing desired global behaviors. In my past research I have investigated both of these questions, allowing me to test control algorithms with at-scale experimental systems, putting my work at the forefront of large-scale multi-robot research. For example, in my work published in the journal Science [4], I created a compiler which can take a drawing of user-defined shape, and automatically generate a local program given to every robot to form that desired shape. I showed that this algorithm was provably correct, would execute to completion, and ran successfully on a swarm of 1024 real robots. I have also investigated algorithms to enable other global behaviors in similar swarms such as recovering shape in the event of damage [5], adjusting group shape to adapt to the number of robots present [6], and ways to have connected swarms move and behave as a single entity [7]. To allow for verification of these
Effective start/end date9/15/179/14/19


  • Alfred P. Sloan Foundation (FG-2017-9471)


Explore the research topics touched on by this project. These labels are generated based on the underlying awards/grants. Together they form a unique fingerprint.