Image Credits: Chesky/shutterstock.com
Collective behaviors in biological systems are the starting point for understanding how such behavior can be modeled into artificial life. The idea that biological groups, such as ant or bee colonies, work in synchronicity to perform an organized task has encouraged research on swarm robotics that, with the right algorithms, can replicate collective behavior. Understanding how insects living in colonies are able to convey orders and elaborate plans is a complex puzzle.
Wasps (Polybia occidentalis) are a classic example of how a colony works better than a single wasp when constructing a nest. For example, building a nest involves three categories of workers: pulp foragers, water foragers, and builders. The number of wasps required for each category of workers is regulated based on the channeling of sensory inputs between the wasps, which will directly influence the behavior amongst the wasps.
The decision-making process among the colonies is a complex one and the biggest challenge here is how to combine individual acts with collective behavior, making the study of swarm robotics a slow-progressing but exciting concept. I guess one of the main questions to be answered here is how cooperation can manifest among a group of units with the same functional capacity (Figure 1).
Figure 1. Cooperation and self-assembly among swarm robots. This video demonstrates the how swarm robots work together to help move an object from one location to another.
It is well known that collective performance, such as finding food, building a nest, feeding, and alerting the network - in social insect colonies is a self-organized act (i.e., complex collective performance as a result of simple interacting units). Any biological system will be able to change their behavior in response solving a problem presented (for example, a change in the surrounding environment that then triggers a sensory stimulus which manifests as a change in the physiology of the biological system). This flexibility in behavior is and will continue to be a challenge in the modelling of swarm-intelligent systems, though this has been achieved to an impressive degree.
One of the biggest obstacles in modelling swarm-intelligent systems is being able to program these systems: one must be able to map out intricate pathways to solve simple-to-complex problems that, for a robot, such pathways will not be predefined and will be a product of single unit interactions in any given environment.
It is therefore also fundamental to know the type of interactions that need to occur in order for swarm-intelligent robots to demonstrate the right solution to a particular problem – in other words, how these robots can adapt to a changing environment and still function collectively. There are examples of how studying social insects as a colony can be used to model behavior patterns when designing artificial systems that can perform simple tasks collectively.
Algorithms for Swarm Robotics
We have already established that to model an artificial system that can replicate swam behavior, it is important to understand the reasoning behind biological swarm systems, and only then can one progress to implementing this reasoning to a model that can make measurable predictions. There appear to be three well-established behavioral patterns that are used to structure a model for an artificial swarm system:
- Positive feedback (i.e., reinforced behavior [amplified]) to build a network by recruiting similar functioning single units (for example, a bee dance generates a positive feedback system to distribute foraging tasks).
- Negative feedback which would be required to reverse a positive action to stabilize a structure and create a balance.
- Random behavior will encourage new solutions to a problem. This may occur through mistakes made by single units in a system or by the whole colony. This can be effective as it allows for multiple solutions to any one problem creating diversity and adaptation to changes in an environment.
So How Do We Create a Model for Swarm Robot?
There are three popular algorithms for modelling swarm robotics:
Ant Colony Optimization
- This algorithm is based on the behavior of ant colonies, in particular that of swarming. A single ant is not capable of performing complex tasks; however, using signal-based communication, ants can collectively display sophisticated behavior. These insects rely on pheromones as a signal to communicate and form a pathway to the source.
- This concept is based on the notion that particles move at constant speed but will respond to random stimuli by measuring the average motion of the neighboring particles. When considering a swarm of robots, this algorithm will help understand emergent behavior where, in the absence of a central control system, eventually a swarm will unite and move in synchronicity.
Particle Swarm Optimization
- Particle Swarm Optimization is a popular algorithm used for modeling swarm robotics. This algorithm is based on the idea that there are repeated sampling solutions to the problem set.
- The algorithm works by introducing the problem to a swarm sample. Each swarm sample (particle) offers a different solution to the problem using stochastic optimization (a method used to generate random variability). Upon locating the problem, each particle to the swarm records this solution as the most reliable solution at that particular point. The optimum particle in place then tracks the particle that recorded the best overall solution to the problem. The best solution is adopted by the neighbors.
A single robot cannot perform a complex task, but a swarm of robots with multiple functional capabilities have been shown to perform complex tasks. However, robot-to-robot interaction is a problem when it requires a central control system that processes sensory information (i.e., when a stimulus is detected, this has to be processed by a central control system to allow for an action to manifest at the end effector), which is challenging when there are multiple robots carrying out robot-to-robot interaction. (Figure 2).
Figure 2. Robot-to-robot interaction. In this test video, robots spin in a circle and switch on their LED light when detecting another robot. When encountering an obstacle, an ePuck signals infrared signals. In the event of a robot approaching a wall (an obstacle in this situation), the robot will know to turn around and move in the opposite direction.
Designing algorithms for homogenous swarms may be possible, but the complexity comes when trying to design an algorithm for heterogeneous robots that can respond to different stimuli in different ways (Figure 3).
Figure 3. Demonstration of how heterogeneous robots (swarmanoids) interact by applying different capabilities.
Applications and Future Research
Understanding the complexity that comes with designing and modelling swarm robots is and will continue to be a challenge in industry. There are many obstacles here, such as robot-to-robot interaction where you have to be able to calculate every possible move constructed by each robot; successful heterogenous swarm interaction; and manipulating the algorithms to allow for intricate behavior among swarm robots. Currently, the main application for swarm robotic systems includes, but is not restricted to:
- Flying robots for satellite repair
- Environmental robots used for agriculture foraging tasks
- Nano swarm robots used for surgical procedures
- Swarm techniques to control unmanned vehicles in the army
Sources and Further Reading
This article was updated on 21st September, 2018.