Simple Foraging and Random Aggregation Strategy for swarm robotics
without communication
Paulo Roberto Loma Marconi
1
Abstract— In swarm robotics Foraging and Aggregation are
basic tasks yet that can be challenging when there is no com-
munication between the robots. This paper proposes a strategy
using a Mealy Deterministic Finite State Machine (DFSM) that
switches between five states with two different algorithms, the
Rebound avoider/follower through proximity sensors, and the
Search blob/ePuck using the 2D image processing of the ePuck
embedded camera. Ten trials for each scenario are simulated
on V-rep in order to analyse the performance of the strategy
in terms of the mean and standard deviation.
I. FORAGING AND RANDOM AGGREGATION
The DFSM diagram in Fig. 1, which is defined by (1),
starts in the Behaviour state where the robot is set as avoider
while the time simulation is t ≤ 60[s]. During that time, the
Foraging state looks for the green blobs with the Search
blob/ePuck algorithm while avoiding obstacles using the
Rebound algorithm. Moreover, a Random Movement state is
used to introduce randomness to the system so the agent can
take different paths if there is no blob or obstacle detection.
For 60 < t ≤ 120, the Behaviour of the robot is set to
follower and switches to Random Aggregation state where
it uses both algorithms, the Rebound to follow ePucks with
the proximity sensors and the Search to look for the closest
ePuck wheels. For both algorithms, the output is the angle
of attack α
n
, where n depends on the current state.
S = {B, F, R, A, Ra}
Σ = {t ≤ 60, 60 < t ≤ 120, bl ∃, bl @,ob ∃, ob @,
eP ∃, eP @}
s
0
= {B}
(1)
where, S is the finite set of states, Σ is the input alphabet,
δ : S × Σ is the state transition function, s
0
is the initial
state, ∃ and @ mean detection and no detection respectively.
TABLE I: State transition function δ
Input Current State Next State Output
t ≤ 60 Behaviour Foraging avoider
60 < t ≤ 120 Behaviour Aggregation follower
blob ∃ Foraging Foraging α
C
blob @ Foraging Random Mov. α
C
r
obstacle ∃ Foraging Rebound α
R
obstacle @ Rebound Foraging -
obstacle ∃ Aggregation Rebound α
R
obstacle @ Rebound Aggregation -
ePuck ∃ Aggregation Aggregation α
e
ePuck @ Aggregation Random Mov. α
e
r
1
The author is with the Department of Automatic Con-
trol Systems Engineering, The University of Sheffield, UK
prlomamarconi1@sheffiel.ac.uk
B
start
R
F
A
Ra
t ≤ 60/avoider
60 < t ≤ 120/f ollower
ob @
ob @
bl ∃/α
C
ob ∃/α
R
bl @/α
C
r
ob ∃/α
R
eP @/α
e
r
eP ∃/α
e
Fig. 1: Mealy DFSM of the controller
II. IMPLEMENTATION
A. Unicycle model
The Unicycle model in Fig. 2a [1] controls the angular
velocities of the right and left wheels, v
r
and v
l
as follows,
v
r
= (2 V
x
+ ω L)/(2 R)
v
l
= (2 V
x
− ω L)/(2 R)
(2)
where, V
x
is the linear velocity of the robot, L is the
distance between the wheels, R is the radius of each wheel,
and ω is the angular velocity of the robot. Using α
n
and the
simulation sampling period T , the control variable for the
simulation is ω = α
n
/T , refer to code line 23, 196 and 214.
B. Rebound avoider/follower algorithm
The Rebound algorithm [2] calculates the Rebound angle
α
R
to avoid/follow an obstacle/objective given α
0
= π/N
and α
i
= i α
0
,
α
R
=
P
N/2
i=−N/2
α
i
D
i
P
N/2
i=−N/2
D
i
(3)
where, α
0
is the uniformly distributed angular pace, N is the
number of sensors, α
i
is the angular information per pace
α
i
−
N
2
,
N
2
, and D
i
is the distance value obtained by the
proximity sensors, refer to code line 17 and 138.
The weight vector given by α
i
sets the robot behaviour
for each corresponding mapped sensor {s
1
, s
2
, s
3
, s
4
, s
5
, s
6
}.
For the avoider is {−3, −2, −1, 1, 2, 3}, and for the follower
is {3, 2, 1, −1, −2, −3}. Fig. 2b and Fig. 2c shows an