A programming language designed for robot swarms.

296
61
C

What is Buzz?

Buzz is a novel programming language for heterogeneous robots swarms.

Buzz advocates a compositional approach, by offering primitives to define swarm behaviors both in a bottom-up and in a top-down fashion.

Bottom-up primitives include robot-wise commands and manipulation of neighborhood data through mapping/reducing/filtering operations.

Top-down primitives allow for the dynamic management of robot teams, and for sharing information globally across the swarm.

Self-organization results from the fact that the Buzz run-time platform is purely distributed.

The language can be extended to add new primitives (thus supporting heterogeneous robot swarms) and can be laid on top of other frameworks, such as ROS.

A simulation demonstration is available here.

The whitepaper on Buzz Design and Implementation is available here.

Documentation Contents

The documentation is structured as follows:

  1. Installation
  2. ARGoS Integration
  3. Buzz Concepts
    3.1 Basics
    3.2 Virtual Machine
  4. Buzz API
  5. Extending Buzz
  6. Examples
    6.1 Distance Gradient
    6.2 Pattern Formation
    6.3 REST-Like API
  7. Technical Specifications
    7.1 Assembly Language
    7.2 Backus-Naur Form Syntax
  8. Robot Integration
    8.1 Khepera IV

Who Made Buzz?

Buzz is a research project conducted at NESTLab, Worcester Polytechnic Institute, and MIST, École Polytechnique de Montréal. It is funded by the Natural Sciences and Engineering Research Council of Canada.

The main developer and maintainer is Carlo Pinciroli.

Buzz News

Scientific Publications

  • C. Pinciroli, G. Beltrame. 2016. Swarm-Oriented Programming of Distributed Robot Networks. IEEE Computer. In press.
  • C. Pinciroli, G. Beltrame. 2016. Buzz: An Extensible Programming Language for Heterogeneous Swarm Robotics. Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2016). In press.
  • C. Pinciroli and G. Beltrame. 2016. Buzz: A Programming Language for Robot Swarms. IEEE Software, volume 33, number 4, pages 97-100. IEEE Press.
  • C. Pinciroli, A. Lee-Brown, G. Beltrame. 2015. A Tuple Space for Data Sharing in Robot Swarms. 9th EAI International Conference on Bio-inspired Information and Communications Technologies (BICT 2015), pages 287-294. ACM Digital Library.

Media Coverage

Talks, Tutorials, Demos

Other