Interacting, understanding and then responding to the situation are some of the greatest features of humans and those are the things which make us what we are. We are born to live in a social society and we have always known about us that we are the most well-mannered social creature known since the creation of this planet.
The social culture and interaction with each other to help for a common goal is not only found in humans but also in other species of this planet like a flock of birds or fishes or bee's, all they have a one thing in common that they are having a collective behavior. When the birds migrate its often seen they are in a group which is led by the lead member of their group and all are following them and their group are designed in a particular geometrical shapes despite being the birds have no sense of the shapes and figures and also the group is made such that the senior members of the group are on the boundaries while the young ones or the newborns are in the center.
The same characteristics are found in fire ants, these ants are a bit different from other species of the ants and are especially known for their group behavior, they build together, they eat together and they defend their colonies from the preys together, basically they know they can achieve more when they are in a group. A recent study was being conducted on the group behavior of these ants in which it was found that they were capable of making strong structures whenever needed, such as when needed to create a small bridge to crossover.
The collective behavior of these social animals and insect’s help's them to achieve more despite all their constraints. Researchers have demonstrated that individuals of these groups do not need any representation or sophisticated knowledge to produce such complex behaviors. In social insects, animals and birds individuals are not informed about the global status of the colony. The knowledge of the swarm is distributed throughout all the agents, where an individual is not able to accomplish its task without the rest of the swarm. What if this collective sensing can be brought into a group of Robots? This is what swarm robotics is and we will learn about this in detail in this article.
Robots as a part of a Swarm
Our environment in which we are living is very much inspiring for us, many of us take inspiration for their work from nature and the environment, famous inventors like the Leonardo da Vinci did it very well and can be seen in his designs in today's world we are also making the same process work for us for solving the design and engineering problems like the nose of bullet trains are inspired from the beak of the kingfisher so that it has more speed and be more energy efficient and produce relatively less noise as it passes through the tunnels and there is term coined for this and its known as Biomimicry.
So to solve the complex tasks where human intervention is difficult and has higher complexity of what needs to be more than just an average robot like certain uses cases where a building is collapsed due to an earthquake and people are depressed under the concrete, certainly this problem requires some kind of robot which can run multiple tasks at once and small enough to make it through the concrete and helps to get the information of human existence at the first place, so what comes to your mind, a group of small robots that are small enough and autonomously create their own way and get the information and it certainly mimics the some kinda swarm of insects or flies and hence where the swarm robotics comes into first place and here's the more formal one. Swarm robotics is a field of multi-robotics in which a large number of robots are coordinated in a distributed and a decentralized way. it's based upon the use of local rules, small simple robots inspired by the collective behavior of social insects so that a large number of simple robots can outperform a complex task in a more efficient way than a single robot, giving robustness and flexibility to the group.
Organizations and group emerge from the interactions between the individuals and between individuals and the enclosing environment, these interactions are scattered throughout the colony and so the colony can solve tasks that are difficult to solve by a sole individual which means working towards a common goal.
How Swarm Robotics is inspired from Social Insects
Multi-robotic systems maintain some of the characteristics of social insect like robustness, the robot swarm can work even if some of the individuals fail, or there are disruptions in the surrounding environment; flexibility, the swarm are able to create different solutions for different tasks and are able to change each robot role depending on the need of moment. Scalability, the robot swarm is able to work in different group sizes, from a few individuals to thousands of them.
Characteristics of Robot Swarm
As said simple robotic swarm acquires a characteristic of social insects which are listed as follows
1. The swarm of robots must be autonomous, and able to sense and act in real environment.
2. The number of robots in a swarm must be large enough so as to back their every single task as a group which they are required to perform.
3. There should be homogeneity in the swarm, there can be different groups in the swarm but they should not be too many.
4. A single robot of the swarm must be incapable and inefficient with respect to their main objective, that is, they need to collaborate in order to succeed and improve the performance.
5. All the robots are necessitated to have only local sensing and communication capabilities with neighboring partner of the swarm, this ensures the coordination of the swarm is distributed and scalability becomes one of the properties of the system.
Multi-Robotics Systems and Swarm Robotics
Swarm robotics is a part of the multi-robotic system and as a group, they have some characteristics to their multiple axes that define their group behavior
Collective size: Collective size is the SIZE-INF which is N>>1 which is opposite to the SIZE-LIM, where the number of robot’s N is smaller than their respective environment size they are put in.
Communication range: Communication range is COM-NEAR, so that the robots can only communicate with the robots which are close enough.
Communication topology: Communication topology for the robots in the swarm would be generally TOP-GRAPH, robots are linked in a general graph topology.
Communication bandwidth: Communication bandwidth is BAND-MOTION, Communication cost between the two robots is the same as moving the robots between locations.
Collective recounfigrability: Collective reconfigurability is generally ARR-COMM, this is coordinated arrangement with the members that communicate, but it also could be ARR-DYN, that is the dynamic arrangement, positions can change randomly.
Process ability: Process ability is PROC-TME, where the computational model is a tuning machine equivalent.
Collective composition: Collective composition is CMP-HOM, meaning that robots are homogeneous.
Advantages of Multi-Robotics Systems as compared to a Single Robot
- Task Parallelism: We all know the tasks could be decomposable, and we all are aware of the agile development method, so by using parallelism, groups can make to perform the task more efficiently.
- Task Enablement: A group is more powerful than a single one and the same applies for the swarm robotics, where a group of robots can make task do certain task that is impossible for a single robot
- Distribution in Sensing: As the swarm has a collective sensing so it has wider range of sensing than the range of a single robot.
- Distribution in Action: A group of robots can actuate different actions at different places at the same time.
- Fault Tolerance: The failure of a single robot within a swarm of robots within a group does not imply that the task is going to fail or cannot be accomplished.
Experimental Platforms in Swarm Robotics
There are different experimental platforms used for swarm robotics which involves the use of the different experimental platforms and different robotic simulators to stimulate the environment of swarm robotics without the actual hardware needed.
1. Robotic Platforms
Different robotic platforms are used in different swarm-robotic experiments in different laboratories
(i) Swarmbot
Sensors used: it has various sensors to help the bot out which includes range sensors and camera.
Motion: It uses wheels for moving from one to another.
Developed by: It's developed by Rice University, USA
Description: SwarmBot is a swarm robotic platform developed for research by Rice University. It can autonomously work for approximate of 3 hours of a single charge, also these bots are self-enabled to find and dock themselves to charging stations placed on walls.
(ii) Kobot
Sensors used: It involves the use of the distance sensor, vision sensors and compass.
Motion: It uses wheels for their motion
Developed by: It's developed in the KOVAN Research Lab at Middle East Technical University, Turkey.
Description: Kobot is specifically designed for the research in swarm robotics. It is made of several sensors that make it a perfect platform for performing various swarm robotic situations such as coordinated motion. It has can work autonomously for 10 hours on a single charge. It also includes a replaceable battery which is to be recharged manually and It is mostly been used in the implementation of self-organizing scenarios.
(iii) S-bot
Sensors used: It makes the use of various sensor to get the things to work like sensors for light, IR, position, force, speed, temp, humidity, acceleration, and a mic.
Motion: It makes the use of treels attached to its base for its movements.
Developed by: It's developed by the École Polytechnique Fédérale de Lausanne (EPFL), Switzerland.
Description: S-bot is one of the several competent and substantial swarm robotic platforms ever built. it has a unique gripper design capable of gripping objects and other s-bots. Also, they can approximately work out for 1 hour on a single charge.
(iv) Jasmine Robot
Sensors used: It makes use of distance and light sensors.
Developed by: It's developed by the University of Stuttgart, Germany.
Motion: It makes its movement on the wheels.
Description: Jasmine mobile robots is a swarm robotic platforms which is used in many swarm robotic research.
(v) E-Puck
Sensors used: It uses a variety of sensors like distance, camera, bearing, acceleration, and a mic.
Developed by: École Polytechnique Fédérale de Lausanne (EPFL), Switzerland
Motion: It's based on the wheel motion.
Description: E-puck is primarily designed for educational purposes and is one of the most successful robots. However, due to its simplicity, it is often employed in swarm robotics research as well. It has user replaceable batteries with a working time of 2-4 hours.
(vi) Kilobot
Sensors used: It uses a combination of distance and light sensors.
Developed by: Harvard University, USA
Motion: It uses vibrations of the system for the movement of the system's body.
Description: Kilobot is a moderately recent swarm robotic platform with a unique function of group charging and group programming. Due to its simplicity and low power consumption, it has an uptime of up to 24 hours. Robots are charged manually in groups in a special charging station.
2. Simulators
Robotic simulators solve the problem of the hardware needed for the job of testing the credibility of the bots in the artificially simulated real environment parameters.
There exist many robotic simulators which can be used for multi-robotic experiments, and more specifically for the swarm robotic experiments and all of them differ in their technical aspects but also in the license and the cost. Some of the simulators for the swarm bots and Multi-robotic platforms are as follows:
- SwarmBot3D: SwarmBot3D is a simulator for the multi-robotics but designed specifically for the S-Bot robot of the SwarmBot project.
- Microsoft Robotics Studio: The robotic studio is a simulator developed by Microsoft. It allows multi-robotic simulation and requires the Windows platform to run.
- Webots: Webots is a realistic mobile simulator that allows multi-robot simulations, with already built models of the real robots. It can simulate real collisions by applying the physics of the real world. However, its performance decreases when working with more than robots making simulations with a large number of robots difficult.
- Player/stage/Gazebo: Player/stage/Gazebo is an open source simulator with multi-robotic capabilities and a wide set of available robots and sensors ready for use. It can well handle the simulations of the swarm-robotic experiments in a 2D environment with very good results. The population size in the environment can scale up to 1000 simple robots in a real time.
Algorithms and Technique used for various tasks in Swarm Robotics
Here we are going to explore the various techniques used in swarm robotics for various simple tasks such as aggregation, dispersion etc. These tasks are the basic initial steps for all the high end working in swarm robotics.
Aggregation: Aggregation is getting all the bots together and it’s really important and initial step in other complex steps such as pattern formation, self-assembly, exchange information and collective movements. A robot uses its sensors such as proximity sensors and microphone which uses sound exchange mechanisms with the help of the actuator such as speakers. The sensors helps a single bot to find the nearest robot which also turns out to be the center of the group, where the bot has to concentrate solely on the other bot which is at the center of the group and reach towards it and the same process is followed by all the members of the swarm which let them aggregate all.
Dispersion: When the robots are aggregated at a single place then the next step is to disperse them in the environment where they work as a single constitute member of the swarm and this also helps in the exploration of the environment each bot of the swarm work out as a single sensor when it is left to explore. Various algorithms have been proposed and used for the dispersion of the robots, one of the approaches includes the potential field algorithm for the dispersion of the robots in which the robots get repel by the obstacles and other robots which allow the swarm environment to disperse linearly.
One of the other approaches involves dispersion based on reading the wireless intensity signals, wireless intensity signals allows the robots to disperse without the knowledge of their nearest neighbors they just catch the wireless intensities and arrange them in order to disperse them in the surrounding environment.
Formation of Patterns: Formation of patterns in swarm robotics is a major characteristic of their collective behavior, these patterns can be very much helping when a problem is to be solved which involves the whole group works together. In pattern formation, bots create a global shape by changing the portion of the individual robots where each bot has just local information.
A swarm of robots forms a structure with an internal and external defined shape. The rules that make the particle/robots to aggregate in the desired formation are local, but a global shape emerges, without having any global information with respect to an individual member of the swarm. The algorithm uses virtual springs between the neighboring particles, taking into consideration how many neighbors they have.
Collective movement: What's the meaning of a team if they all can't work out the problem together and that's the best part of a swarm? Collective movement is a way of letting to coordinate a group of robots and making them move together as a group in a cohesive way. It’s a basic way of making some collective tasks done and can be classified into two types formation and flocking.
There are many methods of collective movement but only those allowing scalability with a growing number of robots are of concern where each robot recognizes the relative position of its neighbor and react with respective forces which could be attractive or repulsive to form structures for collective movements.
Allocating tasks: Task Allocation is a problematical area in swarm robotics on the basis of labor division. However, there are various methods used for the labor division, one of them is that each robot would keep an observation on other robot’s tasks and maintains the history for the same and later then can change its own behavior to get fit itself in the task, this method is based on gossip communication and surely it has its pros of better performance but at the same time it has a con that due to limited robustness and packet loss during communication it comes out to be less scalable. In the other method, tasks are announced by some of the robots and a certain number of other robots attend them simultaneously, it's a simple and reactive method.
Searching of a source: Swarm robotics is very much successful in the task of the source searching, especially when the source for the searching is complex as in case of sound or odor. The searching by the swarm robotics is done in two ways one is global other is local, and the difference between the two is the communication. One with the global communication among the robots in which the robots are able to find the global maximum source. The other one is restricted to only local communication between the robots to find the local maxima.
Transporting of objects: The ants have collective transportation of objects where an individual ant waits for the other mate for the cooperation if the object to be transported is too heavy. Under the same light robots, the swarm makes the things work out in the same way where each robot has the advantage of getting cooperation from the other robots for transporting the objects. S-bots offers a great platform for solving the problem of transportation where they self-assemble to cooperate and their algorithm scales up if the object to be transported to be is heavy.
The other method is the collective transportation of objects where the objects are collected and stored for later transportation, here the robots have two different tasks - collecting the objects and placing them in a cart, and collectively move the cart carrying those objects.
Collective Mapping: Collective mapping is used for the exploration and mapping of the big indoor areas using a large number of robots.
In one method the mapping is carried out by the two group of two robots, which exchange information to merge the maps. The other method is role based in which the robot can assume any of the two roles which are moving or landmark that they can exchange for the movement of the swarm. Also, the robots have a certain estimate of their position so have to an estimate of the location of the other robots so as to build a collective map.
The Real World Application of Swarm Robotics
Though the extensive research on swarm robotics has begun around 2012 till now it has not come out with the commercial real-world application, it is being used for medical purposes but not at that large scale and still is under testing. There are various reasons behind that this technology is not coming out commercially.
Designing of Algorithm for Individual and the Global: The collective behavior of the swarm comes out from the individual which requires to design a single robot and its behavior, and presently there exist no method of going from the individual to group behavior.
Testing and Implementation: Extensive requirements for the laboratories and infrastructure for further development.
Analysis and modeling: The various basic tasks performed in swarm robotics suggest out that these are non-linear and so building out the mathematical models for their working is quite hard
Besides these challenges, there are further security challenges for the individual and the swarm due to their simple design
(i) Physical capture of the robots.
(ii) Identity of the individual in the swarm, that the robot must know if it is interacting with a robot of its swarm or another swarm.
(iii) Communication attacks on the individual and the swarm.
The main goal of the swarm robotics is to cover a wide region where the robots could disperse and perform their respective tasks. They are useful for detecting hazardous events like leakages, landmines etc and the main advantage of a distributed and moveable network of sensors is that it can sense the wide area and even act on it.
The applications of the swarm robotics are really promising but there is still a need for its development both in algorithmic and modeling part.