I did my summer practice in IRIDIA, Universite Libre de Bruxelles, Brussels, Belgium. I worked on the Swarm-Bots project for a three months period under the guidance of Prof. Marco Dorigo and Dr. Erol Sahin. During that period, I was mostly busy with the design and application of probabilistic/behavior-based robot control mechanisms in a commercial 3-D physics simulation engine, Vortex.
|
| Context 1 : S-bot is connected from backwards in this context. Connection sensors are used to determine if another s-bot is connected from its back. Velocity will be zero, to allow a stable chain; the s-bot will turn off the speaker. There will be no change in the gripper status, because it may be head of the chain or not. | ![]() |
| Context 2 : S-bot has an obstacle ahead. Front and side-front proximity and camera sensors are used to determine if there is any object in front of the s-bot, and to differentiate between s-bots and other objects like walls or obstacles. An evaluating and comparing mechanism performs this task, using values of proximity and camera sensors. If it is the situation, s-bot must perform object avoidance basic behavior and random movement to escape from the obstacle. No gripping and no sound signaling behaviors are performed in this context. | ![]() |
| Context 3 : S-bot is
disconnected from the end of chain, and is trying to find
another chain, to be part of a bigger pattern. It is the only
context that "pure" reactive control is not valid. An exploration
time is specified for the s-bot to "escape" from the chain,
and its attraction field and find another chain. No gripping
and no sound signal behaviors are performed. |
![]() |
| Context 4 : S-bot is very close to another s-bot's connection point in this context, that closing its gripper, there is a high probability that it can connect from the front s-bot's backward. Using front camera sensors and the proportion of the red/blue/green camera sensor values, being sure that they exceed the corresponding threshold, it tries to close the gripper with a probability of P. If it can close gripper successfully and establish a connection, it will stop moving and speaker will be turned ON. It means only the s-bots which locate at the end of chains will emit sound. If it cannot succeed mostly because of the noisy sensor values, old context will be valid. | ![]() |
| Context 5 : S-bot is close to another s-bot's connection point. Using camera sensors, comparing values coming from green/blue/red LEDs, mainly robot attraction and random movement basic behaviors will be performed to obtain a "good" orientation and position, becoming closer to the connection point. No gripping and no sound signaling behaviors performed in this context. | ![]() |
Context 6 : There is no other s-bot which is very close. Camera sensors are used to determine if there is any s-bot around or not, and sound sensors are used to determine direction of the movement. Sound attraction and random movement are main behaviors for movement, to explore the area and find a chain using long-range sensors. Naturally speaker is turned off and gripper remained open. |
![]() |
| SA | SR | RA | RR | OA | RM | NM | ON | OFF | GO | GC | |
| C1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 1.00 | 0.00 | 1.00 | 0.00 | 0.00 |
| C2 | 0.00 | 0.00 | 0.00 | 0.00 | 0.70 | 0.30 | 0.00 | 0.00 | 1.00 | 1.00 | 0.00 |
| C3 | 0.00 | 0.00 | 0.00 | 0.00 | 0.40 | 0.60 | 0.00 | 0.00 | 1.00 | 1.00 | 0.00 |
| C4 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 1.00 | 0.00 | P | 1-P |
| C5 | 0.00 | 0.00 | 0.85 | 0.00 | 0.00 | 0.15 | 0.00 | 0.00 | 1.00 | 1.00 | 0.00 |
| C6 | 0.70 | 0.00 | 0.00 | 0.00 | 0.00 | 0.30 | 0.00 | 0.00 | 1.00 | 1.00 | 0.00 |
In clustering behavior grippers are never used. Additionally, independent from the contexts, speakers will be turned ON with a certain probability. As it is described in all context descriptions, critical point is the orientation of an s-bot within a cluster and the distance of the s-bot to a cluster. Low sound emission frequency effects the time of cluster construction, generally it takes long time. With this probabilistic approach, small clusters can disperse easily, especially if there is a bigger and more stable cluster nearby, which emits more sound.
| Context 1 : S-bot
has an obstacle ahead in this context. Front and side-front
proximity and camera sensors are used to determine if there
is any object in front of the s-bot, and to differentiate
between s-bots and other objects like walls or obstacles.
An evaluating and comparing mechanism performs this task,
using values of proximity and camera sensors. If it is the
situation, s-bot must perform object avoidance basic behavior
and random movement to escape from obstacle. No sound signaling
and no gripping behaviors are performed in this context. |
![]() |
| Context 2 : S-bot is surrounded by many other s-bots closely from different directions. Camera sensors are used to determine appropriately how closely and tightly it is surrounded by other s-bots. If it is the situation, s-bot must stop its wheel actuators to allow a stable cluster. | ![]() |
| Context 3 : S-bot is surrounded less tightly than it is in Context 2. There are some s-bots which are in front, concluding it is heavily surrounded from front and side-fronts. In this context, s-bot has a very high probability for no movement behavior but at the same time, there is a small probability for object avoidance. There are different reasons for this behavior. First, for the current cluster, using object avoidance, it can find a more stable place in the cluster. Second, using object avoidance, s-bot may rotate around its axis, shifting its context either Context 2 or Context 4. For Context 4, s-bot can escape from current cluster, if the cluster cannot acquire sufficient sound emission because of its construction or dimensions. | ![]() |
Context 4 : There are 2 different situations for this context:
In this
context, s-bot must perform sound attraction behavior
to find a different cluster or to be attracted by the
current. It performs random move and robot attraction
behaviors additionally to find an "appropriate" place
in the cluster, or enable to explore other clusters, escaping
from current one. |
![]() |
| Context 5 : S-bot is not surrounded by any other s-bots, but there is at least one s-bot exactly in front and very close to it. There may be different situations for front s-bot. It may be part of a cluster, or an individual which tries to find another cluster. It is not important. In this context, s-bot tries to escape from that situation trying to find a more stable contact with more s-bots. Thus, obstacle avoidance, sound attraction and random move behaviors are performed in varying probabilities. | ![]() |
| SA | SR | RA | RR | OA | RM | NM | ON | OFF | GO | GC | |
| C1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.70 | 0.30 | 0.00 | P | 1-P | 0.00 | 1.00 |
| C2 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | 1.00 | P | 1-P | 0.00 | 1.00 |
| C3 | 0.00 | 0.00 | 0.00 | 0.00 | 0.05 | 0.00 | 0.95 | P | 1-P | 0.00 | 1.00 |
| C4 | 0.55 | 0.00 | 0.15 | 0.00 | 0.00 | 0.30 | 0.00 | P | 1-P | 0.00 | 1.00 |
| C5 | 0.45 | 0.00 | 0.00 | 0.00 | 0.30 | 0.25 | 0.00 | P | 1-P | 0.00 | 1.00 |
| disconnection probability = 0.10 | disconnection probability = 0.05 | disconnection probability = 0.03 |
![]() |
![]() |
![]() |
Below, you can see snapshots from center-periphery pattern formation for 35 robots in a 125x125 arena. First snapshot shows initial positions of different types of robots, second snapshot is taken after 5000 control steps from the movie.
initial configuration |
final configuration |
![]() |
![]() |