You are on page 1of 9

A simplified algorithm for Implementing Swarm

Intelligence in Multi robot system


Mohammed Abdulla G (EC), Nadia Farheen(EE)
6 th sem , SJCE, Mysore

ABSTRACT:
Swarm robotics is an emergent field of collective robotics that studies robotic system composed of swarms of robots
tightly interacting and co-operating to reach there goals. Swarm robotics finds its theoretical roots in recent studies
of animal societies such as ants and bees. It emphasizes aspects such as decentralization of control, minimal
communication between robots and use local information to give a robust global behavior. In the past decade, for
this relatively trivial task, a lot of control strategies and algorithms for robotic swarm have been presented using
magnetometers, linear proximity encoders, cameras and complex communication between the robots. In this paper
we have designed a low end and easy to implement flocking algorithms using IR sensors, which works without
complex communication between robots. We analyze problem of aggregating and initially random robot swarm
which is not a trivial task for robots that may have local information only. The navigation algorithm is demonstrated
through simulations.
1.

INTRODUCTION:-

Animals that travel in group often rely on social interaction among group members to make movement decisions. These animals
although being very small achieve impressive feats. By the interactions within the swarm [1,2], they can achieve a goal which
cannot be achieved by a single individual. Such behavior can be translated into real world robots using swarm algorithms.
Swarm algorithm is loosely defined as a set of rules which a group of robots follow to interact locally with other proximal robots
without any centralized control. In the last decade a lot of central strategies and algorithms for robotic swarms [3] have been
presented both inSimulated and real robot swarms.
Developing control algorithms for small scale swarm robots raises interesting questions, like "how can a robot which only
knows about the very small part of environment itself, achieve a common goal with rest of the swarm" and "given all
constraints what is the most efficient way to reach a common goal".
Achieving such kind of goals by the swarm requires aggregation [4,5] between them. This task seems to be relatively trivial,
but the constraints like limited range and computational power makes it challenging. These small robots do not have any
global information like position and heading. When local information is available, the co-ordination of swarm requires a
different approach as that of the centralized control. Craig Reynolds was the first to abstract this behavior to steer, swarm of
simulated birds which he called boids [6]. The resulting simulated flock appeared very much similar to the real flocks and
hence several approaches have been made to implement these behaviors in robots. Though they were successfully able to
achieve the natural flocking behavior. They used a lot of communication, knowledge of own heading [7-10] and predefined
leaders [11] which are usually not found in real flocks. This involves extensive communication which can be far too complex
and more importantly are not in accordance to how real flocks achieve alignment [12]. We found that there is a much easier
way to create flocking behavior. In this paper we have implemented an algorithm for two- dimensional model where the
robot's sensor field is divided into 12 sectors. Hence robot swarm can achieve an emergent alignment.

Fig 1. Simplified depiction of the robot and the placement of the sensors.

Fig 2. [a b] x-axisanalog values, y-axisdigital values. [a]: graph showing the equal step size ADC conversion of
analog value. [b]: graph showing unequal step size ADC conversion which helps in identifying far way obstacle with
fairly large digital values.

2. Algorithm
2.1 Prerequisites:As stated earlier the basic scheme of our algorithm is simplicity. By simplicity we mean using very minimal computational
power and sensors but still achieve the complex swarm behavior. Usually swarm robots are fitted with distance sensors and
we are using the same for every computation.

Swarm robots use IR sensors for gathering information about obstacles around it. But a disadvantage about IR sensors is
that it cannot differentiate between obstacle and other robots around it. For this purpose we are using both active and
passive sensing of IR sensor. By active we mean to transmit a IR ray and IR receiver receives the reflected ray (used to
find the obstacle) and passive wherein the IR receiver receives IR ray from environment(from other robots)and used to find
robots around it. In the latter case a threshold is set in the receiver so that the received IR value should be greater than
environmental values. These sensor value are all that is needed for working of our algorithm and one major disadvantage
with IR sensor is the limited range. But our algorithm can work with ultrasonic sensor as well.

Fig 3. [a] the final alignment of robots which is expected. [b] the random position of robots when starting to align
The swarm robots are fixed with 12 pairs of sensors (transmitter and receiver).In a ring fashion as shown in the fig.1.Each
sensor covering a sector of 30 degrees and a range up to 1 meter. The 12 sector in turn cover the 360degrees around the
robot. The sensors are numbered in a fashion just like in a clock, where number 12 is aligned with front of the robot. The
robot has 4 movements straight, back, turn right and turn left. Straight and back are discrete, while turn right and left
according to the value of angle passed dynamically. The algorithm does not use any global position system, memory, robot
to robot recognition or communication. IR sensor is used as distance sensor. In passive mode, the intensity of IR received
can vary from 0 to 5v and the adc is designed to give equal step size as shown in fig.2a.
Equal step size is required because the distance should be linearly mapped. By experimentation we observed that the IR
sensor receives a value of 0.5v when at farthest distance of 0.75m and 4.87v when at distance of 10cm away. Any value
between 4.87v and 0.5v was found to be a linear function of distance. IR sensor in active mode is used for
mainly obstacle detection and has a uneven step size shown in fig.2b. Such a selection gives a fairly better adc output for a
obstacle present far away and relatively the same output for obstacle near as that of equal step size.
2.2 The Algorithm:A constraint for working of algorithm is that every robot is in the vicinity (range) of at least one robot. The robot
is switched between active and passive modes of sensing periodically, but the scheme of sensing starts with when
powered, is completely random and the

reason is to avoid deadlock situations.

Consider a kth robot in n robots(0<k<n+1),the first critical function it does is searching for any obstacle in front of it by
switching to active sensing mode and checking for any obstacle around it from sensor 11,12,1 the value it receives is
written into a table1. If any value is registered in the table1, above the threshold (indicating an obstacle) the robot
moves away in a random direction. In the next stage of algorithm the robots checks for passive IR values in clockwise
fashion from sensor 1 through 12 and stores in another table 2. This table 2 is sorted in descending order of intensity of IR
value received. Thus top most entry in the table 2 gives the nearest neighbor.

For instance consider the robots to be aligned in a straight line. To align in a straight line every robot should have a neighbor
in the 3rd and 9th sensors as shown in the fig.3a.Except for the robots at the end have only one neighbor either 3rd or 9th
sensor. To get such

Fig 4. Flowchart depicting the flocking algorithm. First decision results in collision avoidance, the second decision results
in robot separation and third and forth results in flock cohesion and emergent alignment. Active zone and passive zone
refers to active and passive sensing of IR respectively.
an alignment from random position details in table 2 are used. Consider a random arrangement as shown i fig.3b.The
robot 2 will have two entries at sensor position say 1 and 10(robot 3 is closer than robot 1).Now robot tries to make the
error zero where
error= required value - actual value in this case 3 - 1
By moving forward by the robot 2 the error could be made zero .At the same time robot 3 will try to move backwards to
nullify the error at its end which would result in alignment of the robots. The aligned robot becomes a system and star
searching for neighboring robot for further alignment and the process is repeated. The above stated algorithm is shown in
pictorial form in fig.4.
The V formation and other formation can be achieved by just changing the reference in the algorithm. If the pathof these
two robots is blocked by an obstacle another robot joins the flock and the arrangement can change instantaneously. If two

robots approach frontally they will

Fig 5:[a c
b d]
Shows the different stages of the flocking algorithm. Picture (d) shows the final alignment and (a) show the initial
random start positions.

avoid each other. Only to turn back to each other shortly after, which can create a deadlock situation. To prevent such
situations we implemented a random turn reaction which means that robots will randomly turn either left or right when
avoiding other robots in front.

3. SIMULATION
We conducted simulation as a proof of concept. These Simulations used very abstract and ideal 2-D model of the
autonomous mobile agents with circumferential sensors. For simulation we used a custom built simulator based on multi
agent programing language Netlogo [13].
The simulation was carried for 6 autonomous robots. The robots started with a random position as shown in Fig 5a. The
triangular blocks represent the robots and their random heading. In the Fig 5c partially aligned swarm robots can be seen.
And the robots in green tries to enter the already aligned swarm and the swarm change its alignment to give space to the
other robots. This shows the robustness of the algorithm.

4. RESULT AND FUTURE WORK


As discussed earlier the algorithm was simulated and its working was verified. We focused on finding out the aggregation of
robot swarm which uses our algorithm. In these simulations the robots have been randomly scattered in an arena and had to
aggregate. This has no global information about where to aggregate and the robots reacted purely on short range IR detection. A
swarm was considered as being aggregated when at least 60% of which members were in the same flock for total number of
robots greater than 30 and at least 80% when the total number of robots lesser then 30 and it was found that the robots were able
to achieve the alignment from any random position which was tried.
As a future work simulation can be conducted on density- neutral conditions that are maintaining the same number of robots
changing arena size and introducing obstacles to find the flocking efficiency. Further research can be done on the mobility
(changing the number of robots in the same arena size, checking for the free movements of swarm), scalability, coherence,
aggregation, separation, efficiency by conducting exhaustive simulations.

We started our algorithm by stating a few assumptions or constraints (refer section 2) and in future research we would like to
find efficient way for implementing the same algorithm with addition which eliminates the assumptions.

5. CONCLUSION
The flocking algorithm was tested in simulation environment and was found that the algorithm works satisfactorily. Currently
we are working on implementation of our algorithm in real world swarm robots. As an application of this algorithm we
proposed the following.
Cars with autonomous cruise control (ACC) are available. ACC is not used often because of drawback that cars with ACC
cannot communicate with each other. This algorithm can be extended to cars with better sensors (ultrasonic sensors), the current
ACC technology usage can be optimized.

6. References
1. Beni, G., Wang, J.: Swarm intelligence. In: Proc. of the Seventh Annual Meeting of the Robotics Society of Japan. (1989) 425428
2. Kennedy, J., Eberhart, R.C.: Swarm Intelligence. Morgan Kaufmann (2001)
3. Bonabeau, E., Dorigo, M., Theraulaz, G.: Swarm Intelligence: From Natural to Artificial Systems. Oxford Univ. Press (1999)
4. Trianni, V., Gro, R., Labella, T., Sahin, E., Dorigo, M.: Evolving aggregation behaviors in a swarm of robots. Lect. Notes in Artifcial Intelligence
2801 (2003) 865874
5. Martinoli, A., Easton, K., Agassounon, W.: Modeling swarm robotic systems: A case study in collaborative distributed manipulation. Int. Journal
of Robotics Research 23(4) (2004) 415 436
6. Reynolds, C.W.: Flocks, herds, and schools. Computer Graphics
21(4) (1987) 2534
7. Mataric, M.J.: Designing emergent behaviors: from local interactions to collective intelligence. Proc. of the Second Int. Conf. on From Animals to
Animats 2: simulation of adaptive behavior (1993) 432441

8.. Turgut, A., C elikkanat, H., Gokce, F., Sahin, E.: Self organized flocking in mobile robot swarms. Swarm Intelligence 2(2) (December 2008)
97120
9. Hayes, A.T., Dormiani-Tabatabaei, P.: Self-organized flocking with agent failure: Off-line optimization and demonstration with real robots. In: Int.
Conf. on Robotics and Automation. (2002) 39003905
10. . Balch, T., Hybinette, M.: Social potentials for scalable multi- robot formations. Volume 1. (2000) 7380 vol.1
11. Kelly, I.D., Keating, D.A.: Flocking by the fusion of sonar and active infraredsensors on physical autonomous mobile robots. Proc. of the The
Third Int. Conf. on Mechatronics and Machine Vision in Practice 1 (1996) 14
12. Partridge, B.L., Pitcher, T.J.: The sensory basis of fish schools: relative roles of lateral line and vision. Journal of Comparative Physiology
135(4) (1980) 315325
13. Wilensky, U.: Netlogo. Center for Connected Learning and Computer-Based Modeling, Northwestern University. Evanston, IL (1999)
14.A minimalist Flocking algorithm for swarm Robots: christoph Moeslinger, Thomas Schmickl and Karl Crailsheim

You might also like