Content uploaded by Mohsen Raoufi

Author content

All content in this area was uploaded by Mohsen Raoufi on Apr 09, 2019

Content may be subject to copyright.

Self-organized Collective Motion with a

Simulated Real Robot Swarm?

Mohsen Raouﬁ1, Ali Emre Turgut2, and Farshad Arvin3

1Department of Aerospace Engineering, Sharif University of Technology, Tehran,

Iran, email: mohsen raoufi@ae.sharif.edu

2Mechanical Engineering Department, Middle East Technical University, 06800

Ankara, Turkey, email: aturgut@metu.edu.tr

3School of Electrical and Electronic Engineering, The University of Manchester,

M13 9PL, Manchester, UK, email: farshad.arvin@manchester.ac.uk

Abstract. Collective motion is one of the most fascinating phenomena

observed in the nature. In the last decade, it aroused so much attention

in physics, control and robotics ﬁelds. In particular, many studies have

been done in swarm robotics related to collective motion, also called

ﬂocking. In most of these studies, robots use orientation and proxim-

ity of their neighbors to achieve collective motion. In such an approach,

one of the biggest problems is to measure orientation information using

on-board sensors. In most of the studies, this information is either simu-

lated or implemented using communication. In this paper, to the best of

our knowledge, we implemented a fully autonomous coordinated motion

without alignment using very simple Mona robots. We used an approach

based on Active Elastic Sheet (AES) method. We modiﬁed the method

and added the capability to enable the swarm to move toward a desired

direction and rotate about an arbitrary point. The parameters of the

modiﬁed method are optimized using TCACS optimization algorithm.

We tested our approach in diﬀerent settings using Matlab and Webots.

Keywords: Swarm Robotics ·Collective Motion ·Coordinated Motion

·Flocking ·Self-organized.

1 Introduction

Collective motion (CM) is an eye-catching demonstration of a more broad phe-

nomenon called collective behaviour [22]. CM is observed in diverse domains

such as: physics [10], chemistry [11], from micro-size creatures such as bacteria

colonies [20], cells [1], macro-molecules [18] to handful macro-size examples of

ﬁsh [24], birds [3,4], even humans [15] and to non-living systems [21]. The princi-

ple feature of CM is that each individual agent behaves based on the interaction

between its neighbors; resulting in polarized motion of the group. This interac-

tion might be either simple (attraction/repulsion) or complex (combinations of

simple interactions) [23].

?This work was supported by EPSRC Impact Acceleration Account (EP/R511626/1).

2 M. Raouﬁ et al.

In most of the works on CM, agents use both orientation and proximity infor-

mation of their neighbors [7,5]. In contrast to these works, some works introduced

methods that do not rely on this information. An individual-based model is de-

ﬁned in [17], where the interaction between neighbor agents is deﬁned only by

escape-pursuit behavior. In [8], inelastic collisions between isotropic agents, and

in [12] a pairwise repulsive force between deform-able, self-propelled particles are

introduced as interaction mechanism regardless of the orientation of neighbors.

These methods leave an indirect eﬀect on individual agents, and as a result,

enable them to establish aligning interaction in an eﬀective, implicit manner.

By so doing, not only the swarm achieves CM, but also the reduced dynamics

reaches consensus in the heading direction of agents. An example of this implicit

aligning is [6], in which, Ferrante et al. identiﬁed a new elasticity-based approach

for achieving collective motion and illustrated the behavior by introducing an

Active Elastic Sheet (AES) model. In their proposed model, the motion of an

individual is determined by only attraction-repulsion forces. This feature is very

useful in practical cases, such as a swarm of robots in which a speciﬁc robot have

not any information of its neighbors’ orientation.

In this paper, we improve the AES model presented in [6], and optimize some

of the parameters of the proposed algorithm using a heuristic optimization algo-

rithm. To illustrate the improved performance of the model, various simulations

with diﬀerent assumptions are performed. In addition, some simulations are con-

ducted in Webots [13] using the model of Mona robot [2]. Finally, We implement

the AES model on a swarm of simulated real Mona robots for the ﬁrst time. To

the best of our knowledge, this is the ﬁrst implementation of fully autonomous

CM using such a simple robotic platform without alignment information.

This paper is organized as follows: in the Sect. 2, we introduce the concept of

AES mechanism to achieve CM, and the modiﬁcations are addressed there. Then,

the optimization algorithm is discussed and the objective function is deﬁned in

Sect. 3. We mention the settings of simulations in the Sect. 4. In Sect. 5, the

results are shown and we discuss them. Sect. 6 closes the paper with a conclusion

about the current work.

2 Collective Motion Control

In this section, the dynamic model of AES along with some modiﬁcations is

presented. The model is derived based on a simple two-dimensional active elastic

sheet mechanism [6]. After deﬁning the basic mechanism, the numerical dynamics

of particles and modiﬁcations will be elaborated upon.

2.1 Active Elastic Sheet Model and Numerical Dynamics

Each agent iout of Nagents, is aﬀected by the attraction-repulsion force of its

neighbors. This force will leave an eﬀect on both the linear velocity ˙xiand the

rotational velocity ˙

θiof the agent. This eﬀect is formulated in continuous-time

Self-organized Collective Motion with a Simulated Real Robot Swarm 3

i

γ

i

f

agent i

i

n

ˆ

Fig. 1: The angle between force and heading vectors

form as:

˙xi(t) = nv0(t) + αhfi(t) + Drˆ

ξr(t)ˆni(t)ioˆni(t) (1)

˙

θi(t) = βnhfi(t) + Drˆ

ξr(t)iˆn⊥

i(t)o+Dθξθ(t) (2)

where, v0is the forward biasing speed, and parameters αand βare the inverse

transitional and rotational coeﬃcients, respectively. The unit vector ˆni(t) is the

heading vector which is parallel to the heading direction of agent i, and ˆn⊥

i(t)

is perpendicular to it.

ˆni(t) = cos(θi(t))

sin(θi(t))(3)

The term fiˆn⊥

iof Eq. (2) indicates that the angle between force and heading

vectors (γi) deﬁnes the rotation speed of the agent (Fig. 1). So, the rotation

speed will be zero if two vectors fiand ˆniare parallel (i.e. fiand ˆn⊥

iare

perpendicular.)

Agents are subject to measurement and actuation noises Drˆ

ξr(t) and Dθξθ(t);

in which, ˆ

ξr(t) is a randomly oriented unit vector and ξθ(t) is a random variable

with standard normal distribution. Drand Dθare noise strength coeﬃcients.

Inducing total force vector fi(t) over agent iat time tcan be calculated by

the summation of linear spring-like forces, which link agent ito its interacting

neighbor j, member of set Si:

fi(t) = X

j∈Si−k

lij

(krij (t)k − lij )rij (t)

krij (t)k(4)

rij (t) = xj(t)−xi(t) (5)

lij is equilibrium distance (or alternatively called natural length) of the spring

that links agent iand j. In order to simulate the model, we need to numerically

integrate the dynamic equations of motion. Integrating Eq. (1) and (2) using

Euler method at time step t, results in the governing discrete-time kinematic

equations of each particle which is expressed by the following equations:

xt+1

i=xt

i+v0ˆnt

i+αft

i+Dr

√∆t

ˆ

ξt

rˆnt

iˆnt

i∆t (6)

4 M. Raouﬁ et al.

θt+1

i=θt

i+βft

i+Dr

√∆t

ˆ

ξt

rˆn⊥,t

i+Dθ

√∆tξt

θ∆t (7)

here, xt

iand θt

iare the position and orientation of agent iat step time t, re-

spectively, and ∆t is the numerical time-step interval of integration. It is note-

worthy that the velocity vector in Eq. (1) points parallel to the heading of

the agent which means it is assumed that each agent can only turn, and move

forward/backward. Modeling agents with 2 degrees of freedom provides many

advantages to robotic applications in which the robots are not able to move

omni-directionally, take E-puck [14] and Mona [2] robots for instance.

2.2 Modiﬁcations to AES

In this section, we present some modiﬁcations to AES model, which result in

collective linear and rotational motion of swarm. Firstly, we add a stimulating

force to compel the swarm to move toward a speciﬁc direction. This modiﬁca-

tion leads to faster convergence of collective motion. Furthermore, the desired

direction of swarm movement is also achievable by such modiﬁcation. To model

this auxiliary inducing force, at a certain time, we simply added the auxiliary

force faux, l to the induced force of Eq. (4). This force is parallel to the desired

velocity unit vector ˆvdand its magnitude is deﬁned by a weighting parameter

wlas follows:

faux, l =wlˆvd(8)

The second modiﬁcation enables the swarm to rotate collectively by adding

another auxiliary force. This force is also related to another desired linear velocity

which itself is proportional to the rate of rotation. According to the kinematics

of 2D rotation, the linear speed of each agent is proportional to its distance with

respect to the center of rotation xc. Thus, pointed in the following equation, the

linear velocity of rotation vris related to ric, the position vector of agent iwrt

the center of rotation, and ωis the rate of rotation. ric,x and ric,y are the x-

and y-component of ric.

vr=ωric,y

−ric,x(9)

ric =xi−xc(10)

Rotation center xcis an arbitrary point, yet it is common to consider it on

the center of swarm. Hence, same as the previous approach, we calculated the

modiﬁed force for rotation by the following equation:

faux, r =wrvr(11)

where, wris the weighting parameter of induced force for swarm rotation. It is

worth mentioning that faux, r should be calculated for each agent, but faux, l

is a universal force and is same for all agents. The linearity feature of the afore-

mentioned phenomena enables us to add both terms together and form the total

Self-organized Collective Motion with a Simulated Real Robot Swarm 5

auxiliary force, which still satisﬁes both motions. So, the ﬁnal modiﬁed inducing

force is:

f=fneighors +faux, l +faux, r (12)

fneighors is exactly the same as Eq. (4), but we added the subscript to show

that this is the force which is deﬁned by the inﬂuence of interacting neighbors.

2.3 Degree of Alignment

Since the symmetry is a principal feature for achieving ﬂocking behavior, a cri-

teria is introduced to measure it. This metric is deﬁned by a speciﬁc system

variable, called the degree of alignment. One of the most common, and widely

used deﬁnition is represented in [23]. In this case the variable ψis the average

normalized velocity vectors:

ψ=1

Nv0

N

X

i=1

vi

(13)

where Nis the total number of the agents, v0is the average absolute velocity,

and viis the velocity vector of the agent i. However, in methods with 2-DoF

agents, like AES, as previously mentioned, the velocity vector is parallel to the

heading direction. So, the degree of alignment of the system is deﬁned as [6]:

ψ=1

N

N

X

i=1

ˆni

(14)

Because our purpose is to simulate the AES method on robots, we added another

criterion which is deﬁned from a control viewpoint. In this respect, the alignment

of each particle ψiis deﬁned by its desired direction of movement, i.e. an agent is

called aligned when its orientation is parallel to its desired direction of motion.

Referred to Fig. 1, the alignment is deﬁned by the angle γias follows:

ψi=|cos(γi)|=

fiˆni

kfik

(15)

In this deﬁnition, ψiis between zero (agent’s orientation is perpendicular to the

force, γi=π/2) and one (agent is directed toward the force, γi= 0 or γi=π).

Note that, as the norm of the unit vector ˆniis equal to one, it is eliminated

from the denominator. Therefore, the degree of system alignment is calculated

by the following equation:

ψ=1

N

N

X

i=1

ψi

(16)

Mathematically, the value of this variable is between zero (asymmetric, disor-

dered, random orientation) and one (fully symmetric orientation).

6 M. Raouﬁ et al.

Initialization

Move ants to new Locations

Update tabu list,

promising list and

the best solution found

Update Pheromone

Distribution

Stopping Condition

is Reached?

End

Yes

No

Fig. 2: General Flowchart of TCACS

3 Optimization

In this section, the parameter optimization of the algorithm will be introduced.

For so doing, we utilized a heuristic optimization algorithm called Tabu Con-

tinuous Ant Colony System (TCACS) [9]. TCACS combines two algorithms:

Continuous Ant Colony System (CACS) [16], and Tabu Search (TS) [19]. We

will mention a brief description of the algorithm in the next subsection. Our aim

is to ﬁnd the optimal decision parameters for AES model with a speciﬁc setup

conﬁguration. The decision parameters to be tuned are α,β, and k.

3.1 TCACS Optimization Algorithm

The structure of the algorithm is very similar to CACS; however, the advantages

of tabu concept are also added. Borrowing the concept of tabu balls (meta-

spherical shapes in the decision-space), prevents the ants choosing their desti-

nation within the tabu regions. The ﬂowchart of TCACS is illustrated in Fig. 2.

In this paper, we considered the parameters of TCACS as Nants = 15,

γ= 0.5, m= 2 (which are number of ants, weighting factor, and PCA fac-

tor, respectively) and used Roulette as the weighting strategy.

3.2 Objective Function

One of the most important steps in optimization is the deﬁnition of objective

function, which can leave a considerable eﬀect on the performance of the algo-

rithm to solve the problem. Various objective functions can stand as candidates,

Self-organized Collective Motion with a Simulated Real Robot Swarm 7

depending on what the aim of the problem is and which conditions needs to be

satisﬁed. In case of collective motion using the modiﬁed AES method, we have

two main objectives:

–To minimize the total induced force, which, generally speaking, means that

agents are at their ideal position according to the elastic force of the sheet.

Satisfying this objective will result in maintaining the shape of swarm same

as its natural shape.

–To maximize the rate of convergence, which will be reached when the ori-

entation of agents are about the same as the desired ones. To fulﬁll this

objective, the optimization algorithm will try to maximize the degree of

system alignment.

Although the deﬁned problem is multi-objective, we combine both previous func-

tions, multiplied by their weights, into a single objective function. This will help

us to simplify and solve the parameter tuning problem in a more straight-forward

manner.

It is notable that the system is subject to noise; consequently, the objective

function gets stochastic, and it is necessary to reduce the eﬀect of noise on

it, otherwise, the performance of optimization will be reduced. Therefore, we

calculate the average of multiple Monte Carlo simulations as the output of the

objective function. With this in mind, the objective function is as follows:

J=1

NMC

NMC

X

m=1 (tf

X

t=0 "w1 N

X

i=1

ft

i

!+w2ψt#) (17)

In which, the ﬁrst term of the RHS is calculated by Eq. (12), and the second

term by Eq. (16). Additionally, NMC is the number of Monte Carlo simulations

which is set to 10, and tfis the ﬁnal time of simulation. Considering the fact

that the ﬁrst objective is a minimization problem, and the second objective is

a maximization problem, we determined w1(the weighting parameter of the

ﬁrst function) positive and w2negative. As the result, the optimization can be

alternatively called minimization, and the objective function is a cost function.

Determining the value of weighting parameters depends mainly on the purpose

of the optimization, however, a common initial setting is normalizing the order

of each term; so, we considered them as w1= 1/N, and w2=−1.

4 Experimental Setup

To model Mona robot [2] in Webots, we assembled diﬀerent parts including

upper and lower boards, motors, and wheels which is shown in Fig. 3-b. A

population of 100 Monas, where presented in the simulations and each one has

its own speciﬁc ID in order for the supervisor to recognize them in the simulation

world-model, and calculate the adequate displacement of linear and rotational

motion. Besides the simulations in Webots, we also conducted some simulations

in Matlab to check the modiﬁcations and to run optimization programs. In this

8 M. Raouﬁ et al.

(a) (b)

Fig. 3: (a) Mona, an open-source miniature mobile robot developed for swarm

robotic applications and (b) Mona model in Webots.

paper, we represented three diﬀerent setups for simulations in both Webots and

Matlab, which will be described in the following subsections.

4.1 Setup 1: Linear Motion

The ﬁrst simulation is executed to prove the linear motion of swarm is achievable

thanks to the ﬁrst modiﬁcation. The conﬁguration of this setup is similar to

Table 1, but the rate of rotation is set to zero, ω= 0. The result of this Matlab

simulation is illustrated in the ﬁrst row of Fig. 5.

4.2 Setup 2: Rotational Motion

Similarly, the second modiﬁcation is veriﬁed by another simulation, in which

the setting makes the swarm rotate about its center. The setting of Table 1

is analogous to the current setting, yet the desired linear speed is set to zero,

kˆvd= 0k. The second row of Fig. 5 represents a time lapse of this simulation in

Matlab.

4.3 Setup 3: Combination of Linear & Rotational Motion

This simulation is conducted in Webots. We considered the robots as indepen-

dent particles, each of which is determined by its orientation and position in the

xy-plane. In this paper, a supervisor code is programmed to calculate the posi-

tion and orientation of robots and dictate them to the corresponding agent. In

other words, it is assumed that the controller of robots are ideal and the desired

states of robots which supervisor calculates, is the same as the actual state of

robots.

The settings of this simulation is placed at Table 1. By deﬁning such settings,

we expect the swarm to rotate about its center while moving collectively toward

the west direction. To depict the result of the simulation, we saved a log ﬁle

from Webots, and then plot the position and rotation of each robots in Matlab,

results of which are placed in the third row of Fig. 5.

Self-organized Collective Motion with a Simulated Real Robot Swarm 9

Table 1: AES Simulation Settings

Parameter Description Value

v0Absolute linear velocity of each agent 0.05 [m/sec]

tfFinal time of simulation 30 [sec]

NNumber of agents 10*10

dinit Initial distance between two side-by-side agents 0.2 [m]

ˆvdDesired linear velocity unit vector [−1.0,0.0]T[m/sec]

wlWeight for desired linear velocity 0.8

ωDesired rate of rotation 0.7 [rad/sec]

wrWeight for desired rotational velocity 1

DrStrength coeﬃcient of measurement noise 0.5

DθStrength coeﬃcient of actuation noise 0.02

5 Results & Discussion

Applying TCACS optimization algorithm on the previously deﬁned problem

provided us the tuned parameter of the algorithm for a speciﬁc setting of simu-

lation. The setting was considered as Table 1. In the optimization, the maximum

number of function evaluations was limited to 300. Finally, the optimized pa-

rameters achieved as α∗= 0.066, β∗= 0.97, and k∗= 1.28. The shape of swarm

was considered as a square with 10 rows and 10 columns of agents.

In order to show the eﬀect of optimized parameters on the performance of

ﬂocking, we investigated those objectives with both the optimized and non-

optimized set of parameters. Fig. 4-b shows the signiﬁcant improvements, in

comparison with the default parameters Fig. 4-a, which is achieved by optimized

parameters. As it is shown, the rate of convergence is increased, so the CM

achieved faster. Besides, the total force of the network is decreased, meaning

that the shape of the swarm is maintained better.

We also studied the eﬀect of objective weights w1, and w2on the optimized

parameters. Since the behavior of swarm varies for each obtained parameters,

we deﬁned two more diﬀerent weight sets to show the eﬀect of diﬀerent weights

on swarm behavior:

–More emphasis on the ﬁrst objective, w1= 10/N,w2=−1 (Fig. 4-c)

–More emphasis on the second objective, w1= 1/N,w2=−10 (Fig. 4-d)

As we expected, the former setting resulted in the more reduction of total force,

and the latter one, increased the rate of convergence of alignment, yet made the

system more sensitive to noise (the eﬀect of which is shown on the ﬂuctuating

behavior of force on Fig. 4-d). The ﬁrst row of Fig. 5 proves that the initially

perturbed formation of the swarm is eliminated, then the collective motion of

swarm is achieved. The inducing linear force caused the swarm to move toward

the west direction, as it was expected by ˆvd. Due to the robustness of AES to

noises, noises were not eﬀective enough to prevent the swarm from ﬂocking. The

time history of the second row, for rotational motion, proves that the second

10 M. Raouﬁ et al.

0 5 10 15 20 25 30

time [sec]

0

0.2

0.4

0.6

0.8

1

Fitness

(a)

0 5 10 15 20 25 30

time [sec]

0

0.2

0.4

0.6

0.8

1

Fitness

F/kN

(b)

0 5 10 15 20 25 30

time [sec]

0

0.2

0.4

0.6

0.8

1

Fitness

(c)

0 5 10 15 20 25 30

time [sec]

0

0.2

0.4

0.6

0.8

1

Fitness

(d)

Fig. 4: Eﬀect of Parameter optimization, and Weights on CM: a) Default param-

eters, b) optimized parameters, c) optimized parameters with emphasis on force

objective, d) optimized parameters with emphasis on alignment objective

modiﬁcation is veriﬁed, similarly. In this simulation, the swarm rotates about its

center and maintain its shape, meanwhile.

The third row shows that the combination of linear and rotational motions

made the swarm to move toward the desired direction, and in the mean time,

rotate about its center. The same optimized parameters were used for this sim-

ulation, in Webots, proving that similar settings results in similar behavior in

Matlab and Webots.

6 Conclusion

We have addressed the parameter optimization and Webots simulations of AES

model, which is an elasticity-based approach for achieving CM. Some of its ad-

vantages such as not relying on exchanging orientation information, and assum-

ing 2-DoF agents attracted our attention. So, considering our robotic case, we

added some modiﬁcations helping the swarm of robots to move toward the de-

sired direction and turn about an arbitrary rotation center point. In addition, a

new criterion for measuring the alignment of the swarm is deﬁned based on the

desired direction of motion.

utilizing TCACS optimization algorithm, we tuned the parameter of AES

model for a speciﬁc setup containing combination of linear and rotational motion

of swarm. The eﬀect of optimization on the behavior of CM, such as increasing

Self-organized Collective Motion with a Simulated Real Robot Swarm 11

-2 -1 0 1 2

x [m]

-2

-1.5

-1

-0.5

0

0.5

y [m]

Time : 0.100 [sec]

-2 -1 0 1 2

x [m]

-2

-1.5

-1

-0.5

0

0.5

y [m]

Time : 5.100 [sec]

-2 -1 0 1 2

x [m]

-2

-1.5

-1

-0.5

0

0.5

y [m]

Time : 10.100 [sec]

-2 -1 0 1 2

x [m]

-2

-1.5

-1

-0.5

0

0.5

y [m]

Time : 15.100 [sec]

-2 -1 0 1 2

x [m]

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

y [m]

Time : 0.100 [sec]

-2 -1 0 1 2

x [m]

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

y [m]

Time : 5.100 [sec]

-2 -1 0 1 2

x [m]

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

y [m]

Time : 10.100 [sec]

-2 -1 0 1 2

x [m]

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

y [m]

Time : 15.100 [sec]

-2 -1 0 1 2

x [m]

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

y [m]

Time: 0.1 [Sec]

-2 -1 0 1 2

x [m]

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

y [m]

Time: 5.1 [Sec]

-2 -1 0 1 2

x [m]

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

y [m]

Time: 10.1 [Sec]

-2 -1 0 1 2

x [m]

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

y [m]

Time: 15.1 [Sec]

Fig. 5: Simulation Results: First row: Pure linear motion in Matlab, Second row:

Pure rotational motion in Matlab, Third row: Linear+rotational motion in We-

bots

the rate of convergence and decreasing the total force, has been shown. Various

weighting strategies for optimization has been studied, too.

Finally, three diﬀerent scenarios have been conducted in Matlab and Webots.

For this end, we have designed a CAD model of Mona robot in Webots and

have simulated a supervised program to control agents. The results proved that

our modiﬁcations are applicable and the optimized parameters improved the

performance of the AES mechanism.

References

1. Arboleda-Estudillo, Y., Krieg, M., St¨uhmer, J., Licata, N.A., Muller, D.J., Heisen-

berg, C.P.: Movement directionality in collective migration of germ layer progeni-

tors. Current Biology 20(2), 161–169 (2010)

2. Arvin, F., Espinosa, J., Bird, B., West, A., Watson, S., Lennox, B.: Mona: an af-

fordable open-source mobile robot for education and research. Journal of Intelligent

& Robotic Systems pp. 1–15 (2018)

3. Ba jec, I.L., Heppner, F.H.: Organized ﬂight in birds. Animal Behaviour 78(4),

777–789 (2009)

4. Ballerini, M., Cabibbo, N., Candelier, R., Cavagna, A., Cisbani, E., Giardina, I.,

Lecomte, V., Orlandi, A., Parisi, G., Procaccini, A., et al.: Interaction ruling animal

collective behavior depends on topological rather than metric distance: Evidence

from a ﬁeld study. Proceedings of the national academy of sciences 105(4), 1232–

1237 (2008)

12 M. Raouﬁ et al.

5. Couzin, I.D., Krause, J., James, R., Ruxton, G.D., Franks, N.R.: Collective memory

and spatial sorting in animal groups. Journal of theoretical biology 218(1), 1–11

(2002)

6. Ferrante, E., Turgut, A.E., Dorigo, M., Huepe, C.: Collective motion dynamics of

active solids and active crystals. New Journal of Physics 15(9), 095011 (2013)

7. Gr´egoire, G., Chat´e, H.: Onset of collective and cohesive motion. Physical review

letters 92(2), 025702 (2004)

8. Grossman, D., Aranson, I., Jacob, E.B.: Emergence of agent swarm migration and

vortex formation through inelastic collisions. New Journal of Physics 10(2), 023036

(2008)

9. Karimi, A., Nobahari, H., Siarry, P.: Continuous ant colony system and tabu search

algorithms hybridized for global minimization of continuous multi-minima func-

tions. Computational Optimization and Applications 45(3), 639–661 (2010)

10. Kudrolli, A., Lumay, G., Volfson, D., Tsimring, L.S.: Swarming and swirling in

self-propelled polar granular rods. Physical review letters 100(5), 058001 (2008)

11. Lewandowski, J.R., Sein, J., Blackledge, M., Emsley, L.: Anisotropic collective

motion contributes to nuclear spin relaxation in crystalline proteins. Journal of

the American Chemical Society 132(4), 1246–1248 (2009)

12. Menzel, A.M., Ohta, T.: Soft deformable self-propelled particles. EPL (Europhysics

Letters) 99(5), 58001 (2012)

13. Michel, O.: Cyberbotics ltd. webots: professional mobile robot simulation. Inter-

national Journal of Advanced Robotic Systems 1(1), 5 (2004)

14. Mondada, F., Bonani, M., Raemy, X., Pugh, J., Cianci, C., Klaptocz, A., Magnenat,

S., Zuﬀerey, J.C., Floreano, D., Martinoli, A.: The e-puck, a robot designed for

education in engineering. In: Proceedings of the 9th conference on autonomous

robot systems and competitions. vol. 1, pp. 59–65. IPCB: Instituto Polit´ecnico de

Castelo Branco (2009)

15. Moussa¨ıd, M., Helbing, D., Theraulaz, G.: How simple rules determine pedestrian

behavior and crowd disasters. Proceedings of the National Academy of Sciences

108(17), 6884–6888 (2011)

16. Pourtakdoust, S.H., Nobahari, H.: An extension of ant colony system to continuous

optimization problems. In: International Workshop on Ant Colony Optimization

and Swarm Intelligence. pp. 294–301. Springer (2004)

17. Romanczuk, P., Couzin, I.D., Schimansky-Geier, L.: Collective motion due to indi-

vidual escape and pursuit response. Physical Review Letters 102(1), 010602 (2009)

18. Schaller, V., Weber, C., Semmrich, C., Frey, E., Bausch, A.R.: Polar patterns of

driven ﬁlaments. Nature 467(7311), 73 (2010)

19. Siarry, P., Berthiau, G.: Fitting of tabu search to optimize functions of continuous

variables. International journal for numerical methods in engineering 40(13), 2449–

2457 (1997)

20. Sokolov, A., Aranson, I.S., Kessler, J.O., Goldstein, R.E.: Concentration depen-

dence of the collective dynamics of swimming bacteria. Physical review letters

98(15), 158102 (2007)

21. Suematsu, N.J., Nakata, S., Awazu, A., Nishimori, H.: Collective behavior of inan-

imate boats. Physical Review E 81(5), 056210 (2010)

22. Vicsek, T.: Fluctuations and scaling in biology. Oxford University Press New York

(2001)

23. Vicsek, T., Zafeiris, A.: Collective motion. Physics reports 517(3-4), 71–140 (2012)

24. Ward, A.J., Sumpter, D.J., Couzin, I.D., Hart, P.J., Krause, J.: Quorum decision-

making facilitates information transfer in ﬁsh shoals. Proceedings of the National

Academy of Sciences 105(19), 6948–6953 (2008)