An introduction to “Swarm-Enabling Technology for Multi-Robot Systems”

Thomas Paul
3 min readMay 9, 2018

In this post, I will be discussing what the paper “Swarm-Enabling Technology for Multi-Robot Systems” is all about.

In a Nutshell,

Paper tells how to convert a bunch of normal robots to swarm robots.

Before diving into the paper, one prerequisite is to know what swarm robots are.

Swarm Robots

A swarm robotics system consists of autonomous robots with local sensing and communication capabilities, lacking centralized control or access to global information, situated in a possibly unknown environment performing a collective action.

In plain English, it’s a bunch of robots, without nobody controlling them, working together to get a task done. It’s like microbots from Big Hero six movie but way less cool. Below video from Harvard University gives a quick peek at what swarm robotics is.

A quick peek to swarm robotics; a video from Harvard University.

Now that we know what swarm robotics is, we are all equipped to dive into the paper.

What’s this paper all about?

Let’s say we have a couple of robots lying around and we want to make them a swarm of robots. Before this paper was published, there was no guideline nor any research on how we can achieve this. This paper solves the problem by creating a framework for converting an existing set of robots to swarms. Yep, the title says it all — Swarm-Enabling Technology for Multi-Robot Systems. Simply put, the paper helps us to make a couple of non-swarm robots to swarm robots!!

How to do that?

The solution suggested by the paper is in two folds.

The first part of the solution is a hardware component — A Raspberry Pi, for controlling the bot, along with an XBee module, for communication with other bots. So a normal bot is added with Raspberry Pi, XBee module, and a power source. Using XBee module, the bot communicates to all nearby bots(mesh topology) which are in its WiFi range.

The second part, obviously, is a software component. It is written in python and runs on bot’s Raspberry Pi. This piece of code controls the movement of the robot, communicates with nearby robots and establishes a collective behavior. The Python program is implemented using a module named marabunta.

Authors of the paper have written the marabunta module such a way that, for creating our own swarm of bots, we only need to create a Python class that represents our robot. This class will be used by Python program to control the bot.

So, the solution described in the paper can be summarized as follows.

A python script using marabunta module, running on a Raspberry Pi with an XBee module.

Testing of the solution.

The solution is tested with three different swarming algorithms( also called Cooperative Control Strategies) on two different kinds of robots( robotic platforms).

The robotic platforms used were eBots from EdgeBotix and Autonomous Surface Vehicle(Bunch of Buoys) developed at MIT.

Cooperative Control Strategy is responsible for the collective behavior of robots. Cooperative Control Strategies tested were Consensus heading, Perimeter Defense and Environment Exploration. Testing was done with a different number of bots.

Collective search and Exploration by eBots

Consensus heading algorithm makes the group of bots travel in the same direction. Perimeter defense, as the name suggests, makes the bots organize such a way that maximum perimeter of the unknown environment is covered. In Environment Exploration, each bot investigates the surroundings along with maintaining communication with neighbors.

A note. As this post is an overview, I encourage you to read the paper.

Some useful links.

Thanks to Ankita, for your valuable suggestions.

--

--

Thomas Paul

Techie, husband, deep learning enthusiast, traveler, and lifelong learner; Currently interested in DL deployment