buzz-lang / Buzz

A programming language designed for robot swarms.
MIT License
294 stars 61 forks source link

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

Media Coverage

Talks, Tutorials, Demos

Other