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.
The documentation is structured as follows:
- Installation
- ARGoS Integration
- Buzz Concepts
3.1 Basics
3.2 Virtual Machine - Buzz API
- Extending Buzz
- Examples
6.1 Distance Gradient
6.2 Pattern Formation
6.3 REST-Like API - Technical Specifications
7.1 Assembly Language
7.2 Backus-Naur Form Syntax - Robot Integration
8.1 Khepera IV
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.
- 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.
- [2015/08/11] Heise: short version full version
- [2015/08/10] RoboHub
- [2015/08/06] École Polytechnique de Montréal
- [2015/08/03] Communications of the ACM
- [2015/08/03] Fusion
- [2015/07/30] SD Times
- [2015/07/29] MIT Technology Review
- [2017/01/04] The ICRA2017 tutorial page is online!
- [2016/11/16] Tutorial proposal on Buzz accepted at ICRA2017.
- [2016/10/29-30] Demo at NERC 2016, the 5th Northeast Robotics Colloquium.
- [2016/10/12] Oral presentation at IROS 2016
- [2016/06/18] Tutorial at the Swarmathon workshop at RSS2016
- [2016/01/29] Colloquium at Worcester Polytechnic Institute: Software for Complex Robot Swarms (Carlo Pinciroli)
- [2016/01/15] Colloquium at Université de Montreal: Software for Complex Robot Swarms (Carlo Pinciroli)
- [2015/11/19] Guest lecture for the course of Evolutionary Swarm Robotics (Prof. Moses) at University of New Mexico: Programming Complex Robot Swarms (Carlo Pinciroli)
- [2015/11/18] Colloquium at University of New Mexico: Software for Complex Swarm Robotics (Carlo Pinciroli)
- [2016/03/02] Buzz to be used in the NASA Swarmathon
- [2015/08/10] The Hello World Collection includes an example for a Buzz 'Hello world!' program.