Why have many robots when you can have one robot do the same task?
Swarm robotics is a system of many robots working together to achieve a single task. Why have many robots when you can have one robot do the same task? I mean, conventional logic would say that many robots would be harder to control, would require more power and complex communication architectures and would make the entire system less robust, less scalable and more prone to failure, right? Well, that is the question that we will be trying to answer in this article. In the next few articles, I will introduce more advanced concepts in swarm robotics, distributed computing, decentralized control and autonomous robots and in the process, I hope to get you as hyped about this emerging research field as I am!
What swarm robotics wishes to achieve is a collective behavior that helps in accomplishing tasks that may be too difficult for a single robot to do.
So, why have many robots when you can have one? What swarm robotics wishes to achieve in a multi robot system is to have many simple physical robots, which by interacting with their environment, can achieve a collective behavior that helps in accomplishing tasks that may be too difficult for a single robot to do. To put it simply, take an ant nest for example. Each ant is a simple creature with very limited capability. These capabilities include walking, eating, carrying things, searching for food and limited communication with their immediate neighbors using hormonal signals. But despite these simple functions of a single ant, a colony of ants can perform great feats like building nests, killing prey, protecting their eggs and so on. And ants perform these tasks even if a few of them are killed or disabled. Similarly, in the case of swarm robots, a few simple robots with very simple functions can perform very complex tasks collectively as a group even if a few of them fail. So even though the tasks to be performed may be difficult, and even though the robots may be prone to failure, a collective behavior emerges through the interactions of the robots and the environment that results in the completion of the task.
Ok, so now that we have defined what swarm robotics is and sort of understood how the system will eventually complete the task without failing, the next obvious question would be: Why can’t we have one robot perform all the tasks instead of many simple robots?
Can you imagine a single human building the pyramids?
The answer is quite simple. Even though we may not realize it, even humans are a part of a big swarm. Can you imagine a single human building the pyramids? It’s not possible, is it? Or, can you imagine one big human trying to build the pyramids? Well, one could probably do that, but the complexity of that one human and the power requirements(food) would be far greater than many smaller humans. A single human would also take more time than many smaller ones working together.
One mine detecting robot, trying to detect mines in a huge field will be far slower than a few hundred of many such smaller robots.
Moreover, certain tasks cannot be performed by a single robot. One mine detecting robot, trying to detect mines in a huge field will be far slower than a few hundred of many such smaller robots. Or, in rescue operations: a single small robot would be far more efficient in fitting through small spaces and finding trapped humans inside a collapsed building than a single big robot doing the same task.
But what about controlling the robots? How are we supposed to control hundreds of individual robots? In swarm robotics, the robots are largely autonomous, that is, they can look at their surroundings, perform some calculations and then make decisions regarding where to move or what task to perform.
It is because of these reasons and more that many researchers and robot enthusiasts and labs are researching, building and deploying swarm robots. Prof. Vijay Kumar has made robots that can be used to for agricultural foraging tasks. In MIT, students and researchers are making robots that can form shapes and letters and can also rescue trapped civilians. The world is slowly moving towards decentralized and autonomous control and I believe that swarm robots will be a big part of this revolution.
So far, we have seen that relatively simple individual rules and functions can produce a large set of complex swarm behaviors. We have also seen that when it comes to swarms of robots, they are more robust, simpler and require less power. In the next article, I’ll try to define a swarm robot, specifically, the kind of functions and capabilities it has. Later, we’ll see how these robots can accomplish certain tasks like gathering and pattern formation.