Skip to Content

A Programming Language For Robot Swarms

When it comes to robotic flocks, do you control each machine individually or the entire swarm overall? A new programming language allows both.

One of the more fascinating sights of an autumn evening is the flocking behaviour of starlings as they lurch and swoop in extraordinary demonstrations of aerodynamic synchronisation.

It turns out that these complex displays come about as a result of a simple set of rules that govern how the birds fly relatively to each other. Indeed, this flocking has been relatively straightforward to simulate on computer for many years.

But it has never been repeated with flying robots or ground-based ones for that matter, for two reasons. First because nobody has built robots with the same agility and speed. But even with less agile robots, the task is tricky because of the second reason: there is no easy way to control such a flock.

The first factor is changing rapidly. Cheap, capable robots—flying or otherwise–have caused an explosion of interest in flocks and swarms. Numerous researchers, hobbyists and artists are experimenting with these machines and hoping to study and exploit and the swarming behaviour they generate.

These groups are all finding that controlling large numbers of identical robots is something of a challenge. And in the absence of an established programming language, they are having to tackle the same problems in the same ways. In other words, they are re-inventing the wheel.

Today, Carlo Pinciroli at the Ecole Polytechnique de Montreal in Canada and a few pals say they have developed a programming language for just this purpose. “We present Buzz, a novel programming language for heterogeneous robot swarms,” they say.

There are two opposing approaches to controlling a swarm. The first is a bottom up method in which each robot is controlled individually. That’s useful for fine tuning the interaction between specific robots but becomes increasingly difficult to manage as the size of the swarm increase.

The opposing method is a top down approach in which the swarm is controlled as a whole. That’s much more effective for large swarms but does not allow for the fine tuning of individual robot behaviours.

Pinciroli and co say their new language allows both methods. “We believe that a language for robot swarms must combine both bottom-up and top-down primitives, allowing the developer to pick the most comfortable level of abstraction to express a swarm algorithm,” they say.

They say that Buzz also allows commands to be combined in intuitive ways with predictable results that make it relatively easy to use. It is also scalable and so can be used effectively in swarms of varying sizes.

They go on to show various examples of how the language works in practice and leads to self -organised behaviour using relatively simple rules, just like real swarms and flocks.

That’s interesting work that has the power to become a technology amplifier. Pinciroli and co say that the absence of a standardised programming language for swarms is a significant barrier to future progress because there is no easy way for researchers to share their work and build on each other’s breakthroughs.

“We believe that one of the most important aspects of Buzz is its potential to become an enabler for future research on real-world, complex swarm robotics systems,” says the team.

And they have ambitious plans for the future. For example, they want to create a library of well-known swarm behaviours that will become building blocks for the future work of others.

Interesting stuff which may mean that the extraordinary flocks you see on future autumn evenings may not be starlings at all.

Ref: : Buzz: An Extensible Programming Language for Self-Organizing Heterogeneous Robot Swarms

Keep Reading

Most Popular

The inside story of how ChatGPT was built from the people who made it

Exclusive conversations that take us behind the scenes of a cultural phenomenon.

How Rust went from a side project to the world’s most-loved programming language

For decades, coders wrote critical systems in C and C++. Now they turn to Rust.

Design thinking was supposed to fix the world. Where did it go wrong?

An approach that promised to democratize design may have done the opposite.

Sam Altman invested $180 million into a company trying to delay death

Can anti-aging breakthroughs add 10 healthy years to the human life span? The CEO of OpenAI is paying to find out.

Stay connected

Illustration by Rose Wong

Get the latest updates from
MIT Technology Review

Discover special offers, top stories, upcoming events, and more.

Thank you for submitting your email!

Explore more newsletters

It looks like something went wrong.

We’re having trouble saving your preferences. Try refreshing this page and updating them one more time. If you continue to get this message, reach out to us at with a list of newsletters you’d like to receive.