A Minimalist Flocking Algorithm For Swarm Robots PDF
A Minimalist Flocking Algorithm For Swarm Robots PDF
Robots
{christoph.moeslinger, thomas.schmickl}@uni-graz.at
1 Introduction
The main aim of our flocking algorithm is simplicity. This means that we devel-
oped our algorithm in consideration of very limited computational power and
only minimalist swarm robot equipment. Such a basic equipment is a set of
distance sensors, which are usually used for collision avoidance. We wanted to
utilize just these sensors to generate complex swarm behaviours.
Swarm robots usually have IR-sensors in all directions which enable the de-
tection of reflecting surfaces like walls, obstacles and other robots. A major dis-
advantage of these IR-sensors is, that they have very limited range and cannot
discriminate robots from obstacles, except when using a combination of active
and passive sensing. Here, active sensing means that the robot activates its IR-
light at the position of the sensor and checks for reflections, whereas passive
sensing means that the robot only checks for IR-light from other robots without
emitting IR-light itself. Usually, the brighter the sensed IR-light, the higher is
the value that the sensor returns. These IR-sensor values are all that is needed
for the effectivity of our algorithm. Of course other distance measuring sensors,
like ultrasonic sensors, can be used for our algorithm as well.
The minimal requirements of the algorithm are 4 circumferential distance sen-
sors with limited range and 3 discrete reactions in movement: move straight, turn
left or turn right. The algorithm does not require any global information about
positions or headings, precise sensor information, memory, elaborate robot-to-
robot recognition or communication.
Each robot in the swarm periodically emits IR-pulses. The robots then react
(move straight, turn left or turn right) depending on information from their
active and passive IR-sensors. These sensors are polled periodically and the
returned values are then checked against predefined thresholds (Fig. 1B) in a
simple subsumption architecture (Fig. 1A).
First, the active IR-value for the front sensor is polled to find out whether
there is an obstacle in front. If the value for the reflected IR-light is above a
certain threshold, the robot turns away in a random direction. This is the basic
collision avoidance of our robots.
If there are no objects in its way, the robot checks the passive IR-values of all
sensors. If the front, left or right sensor is above a certain threshold, the robot
turns away from what is presumably another robot which is too close. This rule
is usually referred to as the separation rule in flocking algorithms.
If there is no other robot too close, the robot checks the passive IR-values of
its left, right and rear sensors. For every sensor that returns a value that is above
the environmental IR-light threshold but below the threshold which defines the
maximally desired distance to another robot in that sector, the robot performs a
basic vector addidtion and adds up all turns. It then decides to turn in a direction
depending on whether there were more left or more right turns. Robots in the
rear zone trigger a random turn reaction. This rule is usually referred to as the
cohesion rule in flocking algorithms.
The third rule in flocking algorithms is usually the alignment rule which
generates the common direction of movement in a flock. Since we wanted our
Fig. 1. A: Simple subsumption architecture depicting the flocking algorithm. The first
decision results in collision avoidance, the second decision results in robot separation
and the third decision results in flock cohesion and emergent alignment. B: Simplified
depiction of the perceived IR-values of other objects (reflected active IR) or flock mates
(passive IR) dependent on their distance to the robot. Thresholds and the resulting
zones for a robot with 4 IR-sensors.
2.3 Simulator
3 Results
Our simulations contribute to two distinct analyses. On the one hand, we wanted
to investigate the flocking capabilities of our swarms and, on the other hand, we
wanted to determine the algorithm’s efficiency to let randomly scattered robots
form an aggregation in an arena. Here, aggregated or flock means that we counted
each robot which was inside the IR-sensor field of another robot and counted
the total number of robots within that connected swarm.
Our first simulations were set up to find out the mobility of an aggregated robot
swarm. For this we simulated a huge 300x300 robot-diameter2 arena so that
the robots were not confined in their movement by the borders. An already
aggregated swarm of 1 to 25 robots with randomized headings was placed into
the middle of this arena. We then added up the movements of all robots for 60
seconds and calculated the average distance covered by a robot in the swarm.
Additionally, we measured the movement of the coherent flock by calculating its
center of mass and adding up its path.
An ideally mobile flock would cover the same distance as the average distance
covered by a robot in the flock. Since our algorithm does merely impede but not
prevent a flock from splitting up, we only counted simulation runs where the
whole swarm stayed together the whole time of the simulation, which was the
case, on average, in 46% of all runs. Each experiment was repeated until there
were 10 successful runs. A comparison of the distance measurements for the
robots and the center of mass of the flock can be seen in Fig. 2B. The average
movement of a robot in a flock differs slightly due to the implemented speed
error.
average robot center of mass
200
100
50
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
(A) (B) flock size [robots]
4 Discussion
The flocking analysis showed that the mobility of a flock of swarm robots which
use our algorithm was dependent on the flock’s size. A small flock of 5 robots still
moved 69% of the distance a single robot could have moved, whereas increasing
the flock size to up to 25 robots decreased the mobility down to 25%. This
decrease is of course a major drawback in comparison to traditional flocking
algorithm implementations, where large flocks can still be quite mobile.
median, 1st and 3rd quartiles for desired aggregation size
60% 80%
800 1200 2400
600 1800
800
400
200
600
25
200
20 t s]
bo
0 ro
1800
0
15
e[ 0 0
1440
0
0 10 siz 5 robots 10 robots 15 robots 20 robots 25 robots
arena si 1080 rm
ze [rob 7200 5 wa
(A) ot-diam 3600 s (B)
eter 2]
Fig. 3. A: Aggregation speed analysis for all swarm sizes and all arena sizes. We mea-
sured the median time it took for an initially scattered robot swarm to form an aggre-
gation of at least 60% of the whole swarm. B: Comparison of aggregation time for an
initially scattered robot swarm in density neutral setups for 60% (light grey) and 80%
(dark grey) desired aggregation size. Median, first and third quartiles of 100 repetitions.
The aggregation analyses suggested that our flocking algorithm was quite ef-
ficient concerning aggregating scattered robots. It should be noted that, contrary
to our expectations, there was an increase in aggregation time when increasing
the number of robots in the same arena. In retrospective this can be explained
by the flocking analysis, which showed that with increasing numbers of flock
mates, the movement of the flock was more and more limited. Thus it became
harder for two larger flocks to merge in order to attain the desired aggregation
size.
Our density-neutral experiments showed that the aggregation time was in-
creased when increasing the number of robots and the size of the arena. This is
due to the larger distances that flocks have to cover in order to join other flocks
and the aforementioned decrease of flock movement in bigger flocks. When the
desired aggregation size was changed from 60% of the whole swarm to 80% of the
whole swarm, there was a large increase in aggregation time. The reason why we
did not test the goal of achieving 100% aggregation was that, when working with
numerous swarm robots, one has to expect a small fraction of malfunctioning or
stuck robots, so that perfect achievements are rather improbable.
Summing up, our flocking algorithm enables swarm robots to form a coherent
and reactive flock which moves around in the arena randomly. Our results suggest
that it works well with small swarms and is especially suited for robots with
minimal equipment. It could, for instance, be used for the aggregation part of
a more comprehensive scenario. Moreover, the algorithm can also be used for
a heterogeneous robotic swarm when the robot types use the same distance-
sensing method. Our next step will be to port the algorithm to a real swarm of
up to 30 heterogeneous swarm robots [22, 23].
1
Supported by: EU-IST-FET project ‘SYMBRION’, no. 216342; EU-ICT project
‘REPLICATOR’, no. 216240; EU-IST FET project ‘I- Swarm’, no. 507006.
References
1. Wilson, E.O.: The Insect Societies (Harvard Paperbacks). Belknap Press (Novem-
ber 1974)
2. Beni, G., Wang, J.: Swarm intelligence. In: Proc. of the Seventh Annual Meeting
of the Robotics Society of Japan. (1989) 425–428
3. Kennedy, J., Eberhart, R.C.: Swarm Intelligence. Morgan Kaufmann (2001)
4. Bonabeau, E., Dorigo, M., Theraulaz, G.: Swarm Intelligence: From Natural to
Artificial Systems. Oxford Univ. Press (1999)
5. Dudek, G., Jenkin, M., Milios, E., Wilkes, D.: A taxonomy for swarm robots.
Intelligent Robots and Systems ’93 1 (1993) 315–325
6. Seyfried, J., et al.: The I-SWARM project: Intelligent small world autonomous
robots for micro-manipulation. In Şahin, E., Spears, W.M., eds.: Swarm Robotics
- SAB 2004 Int. Workshop, Berlin, Germany, Springer-Verlag (2005) 70–83
7. Trianni, V., Groß, R., Labella, T., Şahin, E., Dorigo, M.: Evolving aggregation
behaviors in a swarm of robots. Lect. Notes in Artifcial Intelligence 2801 (2003)
865–874
8. 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
9. SYMBRION: Project website (2009) http://www.symbrion.eu/.
10. REPLICATOR: Project website (2009) http://www.replicators.eu/.
11. Reynolds, C.W.: Flocks, herds, and schools. Computer Graphics 21(4) (1987)
25–34
12. Mataric, M.J.: Designing emergent behaviors: from local interactions to collec-
tive intelligence. Proc. of the Second Int. Conf. on From Animals to Animats 2:
simulation of adaptive behavior (1993) 432–441
13. Turgut, A., Çelikkanat, H., Gökçe, F., Şahin, E.: Self-organized flocking in mobile
robot swarms. Swarm Intelligence 2(2) (December 2008) 97–120
14. Hayes, A.T., Dormiani-Tabatabaei, P.: Self-organized flocking with agent fail-
ure: Off-line optimization and demonstration with real robots. In: Int. Conf. on
Robotics and Automation. (2002) 3900–3905
15. Balch, T., Hybinette, M.: Social potentials for scalable multi-robot formations.
Volume 1. (2000) 73–80 vol.1
16. Kelly, I.D., Keating, D.A.: Flocking by the fusion of sonar and active infrared
sensors on physical autonomous mobile robots. Proc. of the The Third Int. Conf.
on Mechatronics and Machine Vision in Practice 1 (1996) 1–4
17. Baldassarre, G., Nolfi, S., Parisi, D.: Evolving mobile robots able to display col-
lective behaviors. Artificial Life 9(3) (2003) 255–267
18. Bjerknes, J.D., Winfield, A., Melhuish, C.: An analysis of emergent taxis in a wire-
less connected swarm of mobile robots. In: IEEE Swarm Intelligence Symposium,
Los Alamitos, CA, IEEE Press (2007) 45–52
19. 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) 315–325
20. Wilensky, U.: Netlogo. Center for Connected Learning and Computer-Based Mod-
eling, Northwestern University. Evanston, IL (1999)
21. Moeslinger, C.: Video link (2009) http://zool33.uni-graz.at/artlife/flocking.
22. Swarmrobot: Project website (2009) http://www.swarmrobot.org/tiki-index.php.
23. ePuck: e-puck desktop mobile robot - website (2009) http://www.e-puck.org/.