Programming robot swarms

What are the fundamental concepts that constitute a swarm behavior, and how to combine them? How to identify and fix errors and bugs in a swarm behavior?

Current projects

  • Buzz, a programming language for heterogeneous robot swarms
  • Space- and time-dynamic distributed hash tables
  • In-network computation of swarm functions
  • Debugging infrastructure for robot swarms
  • Machine-learning and bug detection
  • Augmented-reality-based development and testing

How to harmonize the individual needs of robots (e.g., battery limitations, completion of assigned tasks), with swarm-level coordination requirements (e.g., connectivity maintenance)?

Current projects

  • Scalable network deployment and maintenance
  • Energy-constrained coordination
  • Spatially-aware task allocation

How can a robot swarm construct a shared representation of complex aspects of the environment, despite severe limitations in sensing and computational capabilities?

Current projects

  • Decentralized detection of spatial patterns
  • Decentralized, memory-constrained SLAM with robot swarms

Which behavioral traits can a swarm exhibit to interact with a human operator efficiently? Conversely, what kind of commands can a human operator give a swarm, for the swarm to execute them effectively?

Current projects

  • Novel interfaces for human-swarm interaction
  • Expressive swarm behaviors