This blog gives a brief introduction to the world of swarm robotics with a short discussion on the well known swarm algorithms.
So let’s begin!
What is a Swarm??
Starting from the basics.
Swarm is essentially a group of similar individuals which have same basic functionality but work together effectively to from an intelligent system i.e the individual particles of a swarm are ineffective and are really basic in intelligence and they follow simple rules interacting between themselves and the environment.
Consider an example of an ant colony. The ants themselves are insignificant. But the colony itself is a working mechanism, a swarm to be exact which is a force to be reckoned with. But what is the difference? Basically the ants in a swarm follows basic rules capable of its intelligence which allows the colony itself to perform complex tasks (which is essentially what humans copied and coined the term swarm intelligence).
Therefore individual beings, even though insignificant, when grouped together allows effective utilization of resources available to them. This property is then mimicked in different situations to obtain swarm intelligence. As simple as that.
Therefore to be exact,
- Swarm intelligence (SI) is the collective behavior of decentralized, self-organized systems, natural or artificial.
- SI systems consist typically of a population of simple agents interacting locally with one another and with their environment.
- Interactions between such agents lead to the emergence of “intelligent” global behavior, unknown to the individual agents.
Properties of Swarm
The properties are criteria which allows us to effectively categorize swarm and to differentiate them from other classifications.
- The individuals are relatively homogeneous (i.e, they are either all identical or they belong to a few small classifications)
- The interactions among the individuals are based on simple behavioral rules that exploit only local information that the individuals exchange directly or via the environment (stigmergy)
- The overall behavior of the system results from the interactions of individuals with each other and with their environment, that is, the group behavior self-organizes.
“Swarm Intelligence is like a Brain of Brains”-Louis B Rosenberg
Swarm to swarm robotics
Therefore there are effective usage of swarm intelligence all around us. Ant colonies, Bee colonies, Bird flocking (Ever wondered about the distinctive V shape formed by the birds? Voila.) and even ranging from Wolf packs to Anarchic Human Society.
This can effectively be utilized in case of robotics and other branches of science to obtain efficient and intelligent systems consisting of simple individuals/ particles. Therefore the applications range from swarm robotics to swarm prediction.
The application of swarm principles to robots is called swarm robotics, while ‘swarm intelligence’ refers to the more general set of algorithms which can be effectively used in various applications.
‘Swarm prediction’ has been used in the context of forecasting problems.
We will discuss further on swarm algorithms and how they work. (Just one of them to be exact. Since it is actually a pretty huge field😅 )
Different types of Algorithms
The types of swarm/ swarm intelligence algorithms are too vast to differentiate and here we classify them based on Bio-Inspired and “Others”
This is only a rough idea representation. Almost comparable to classifying living beings as humans and non humans, but it does serve its purpose.
Bio-inspired as you’ve guessed already is through observation of biological life as it is. The other sections includes a huge number of algorithms obtained from nature as well as the algorithms developed on our own.
The one we discuss will be the Wolf Pack Algorithm. One of the most well defined examples of swarm intelligence.
Understanding the algorithm
Wolf Search Algorithm
Wolf Search Algorithm has been inspired from the way wolves hunt and work together as a pack. Therefore first we can discuss about the basic functioning of a wolf pack, i.e to hunt and to not be hunted. ( Ironic? Yes.)
Yet the survival of the entire pack depends on this theory. To hunt is to effectively map a defined area/ region while moving to favourable regions all the while searching for food sources. To not to be hunted is to stay away from predators or adverse weather conditions while fulfilling the first objective.
The 3 golden rules of Wolf Search Algorithm
Based on wolves hunting behavior, as described above, the three rules that govern the logic of the Wolf Search Algorithm (WSA) are presented as follow.
1. Each wolf has a fixed visual area around in which detection is possible, the initial motion is started randomly.
2. The result or the fitness of the objective function represents the quality of the wolf’s current position. The wolf always tries to move to better terrain but rather than choose the best terrain it opts to move to better terrain that already houses a companion.
3.At some point, it is possible that the wolf will sense an enemy. The wolf will then escape to a random position far from the threat and beyond its visual range.
“The more we elaborate the less we convey.”-Joseph Priestley but.. lets just continue 😁
The equation is only thing that each wolf has to follow. According to our perspective and the 3 parts of the equation arise from the 3 rules of the wolf search algorithm
1 . x(i) part. This part defines the initial motion of the wolf as well as its general motion direction. Therefore if there is no interference the wolf continues its path. The initial motion is random.
2. I’ll just refer to it as the second part of the equation. This part defines the motion of the wolf towards favourable regions as well as the effort required to reach the region.
Therefore x(i)-x(j) just calculates the difference in distance from the wolf to the prey or favorable region. This is only calculated if the prey is in range. The distance between them is calculated and multiplied by a factor. This factor allows the wolf to determine whether it is worth the effort to move that much distance to the prey/food. The more the distance (r) the lesser the tendency to move.
3.The escape function allows the wolf to escape from the territory of enemies by generating movement away from the region.
This is the case of a single wolf. Now consider multiple wolfs in the same locality allowing faster area coverage, easier location of prey and enemies. More the number, more efficient the group. This is exactly what swarm intelligence implements as the entire pack now works as an intelligent system with simple members.
That’s it. Wolf Search Algorithm. Done.
This basic formula is the only piece of essential code required and can therefore be implemented easily and used for a wide variety by tweaking the necessary factors
Applications of Swarm
- Disaster Rescue Missions
- Deep space applications
- Military Application
- Medical applications
- Ant-based routing
- Crowd simulation
- Search and Rescue mission
- Area Mapping
- Defence Applications
- Micro-Machinery applications
- Micro Air Vehicle
- Autonomous Surveillance
- Moving Target Localisation and Tracking
Advantages vs Disadvantages
Too Many to count.
In case of swarm robotics, the overall overhead of every node having a full copy of the program makes it very expensive.
Miniature bots of 10 cm or less are not able to have powerful computer on board and there is lack of reliable communication links.