Probabillistic Behavior-Based Hand-Crafted Controller

 

 

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.

  1. Introduction

  2. Basic Behaviors

  3. Chain Formation

  4. Cluster Formation

  5. Center-Periphery Formation

  6. Movies:
    • Chain : ,,
    • Cluster : ,,
    • Center-Periphery :


Introduction

Design of self-organizing and self-assembling systems is a novel approach in artificial intelligence both for software and hardware. The goal of the project is the study and the realization of this approach, by implementing such systems. Swarm intelligence forms the theoretical basis of these studies. It is inspired from social animal societies especially from social insects like ants.


Basic Behaviors

 

Movement Basic Behaviors :

Sound Attraction (SA) : S-Bot moves in the direction of the sound intensity gradient due to the sound sensors.
Sound Repelsion  (SR) : S-Bot moves in the opposite direction of the sound intensity gradient due to the sound sensors.
Robot Attraction (RA) : S-Bot attracted in the presence of other s-bots, detached by camera sensors.
Robot Repelsion  (RR) : S-Bot repelled by the presence of other s-bots due to the camera sensors.
Object Avoidance (OA) : S-Bot repelled by the presence of any type of object, walls, obstacle or other s-bots.
Random Movement  (RM) : S-bot moves in random direction,
No Movement      (NM) : S-Bot makes itself motionless, setting velocity 0.

Speaker Basic Behaviors :

Sound On  (SO) : S-Bot turns on the speaker.
Sound Off (OFF): S-Bot turns off the speaker.

Gripper Basic Behaviors :

Gripper Open  (GO) : S-Bot opens the gripper.
Gripper Close (GC) : S-Bot closes its gripper to connect.


Chain Formation


S-bots explore on the surface to find a chain. The s-bot which locates at the end of the chain emits sound to attract others towards the tail of tha chain. If s-bot see a close connection point, it is attracted by robot for a connection. For chain formation, connection point means the back of the s-bot. Using sound attraction and robot attraction, chain formation is established. If s-bot is very close to another one, but cannot see any connection point, it will be repeled by robot to find a proper position for connection. If s-bots don't disconnect after joining a chain, lots of small chains will be constructed. We apply a disconnection probability, to the s-bots which are at the end of chains. Thus, small chains may disperse and components of the small chains may explore for bigger chains.

Context Descriptions :

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.

 

Activation Probability Matrix :

 

  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

From Simulation :

  60 s-bots are randomly distributed on the ground.It is a 200x200 arena.Initial simulation environment looks like:
If disconnection probability is zero, after 5000 control steps, you can see lots of chains with small sizes. Figure is the last snaphot of the movie from simulation.
If disconnection probability is 0.001, after 5000 control steps, you can see formation of relatively longer chains. Figure is the last snapshot after 5000 control steps.
If disconnection probability is higher, we cannot see any stable chain. You can see tha last snapshot after 1500 control steps.
 



Cluster Formation

Context Descriptions : 

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:

  1. S-bot is surrounded by other s-bots as in the Context 3. Similarity is the "tightness" of the surrounding s-bots and difference is in this context, no other s-bot exists in the front. It means that, now, s-bots front is open, it can move freely. 
  2. S-bot does not sense any other close s-bot, in any direction.

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.

Activation Probability Matrix :

 

  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

 

From Simulation :

  • Below, there are three snapshots with different sound emission probabilities. You can see the effect of the sound emmision frequency in the clustering behavior. We can observe four small cluster when sound emission probability is 0.10 in the first figure. In the third snapshot one huge and one small cluster is contructed for a probability 0.03. Hovewer small cluster is likely to be dispersed, if you follow the dynamics of clusters from movies.

disconnection probability = 0.10 disconnection probability = 0.05 disconnection probability = 0.03
           


Center-Periphery Formation

Context Descriptions : 

There are two different types of s-bots used for center/periphery formation.
  1. Center s-bots are mainly attracted by sound. They turn their speak on in a very low probability when they are not connected to be part of the center formation process. When they are surrounded from different directions tightly, they try to connect to surrounding robots for the formation of a stable center. If center s-bots are connected to others, their sound emission probability increased to inform others of the center.
  2. Periphery s-bots are attracted by sound like center s-bots. They connect whenever it is possible but there are two different situations that it must disconnect. First, periphery s-bot may be connected to another one, and they don't locate in the border of any cluster. Second, s-bot is stable in the periphery but a center s-bot approach it from back. In the second case, periphery s-bot must disconnect and allow center s-bot to go into cluster. After that, periphery s-bot may again connect again. In both situations, periphery s-bot should disconnect first, be repelled by the cluster, randomly move around for a certain period and then come back.

Center S-Bot Context Descriptions :

Context 1 : S-bot is connected by another s-bot. It will sound emission frequency and no movement behavior will be performed.

Context 2 : S-bot is surrounded by other s-bots closely and from different directions. Context is valid if it is very close to another s-bot to connect it, or it is already connected to another s-bot. If it is already connected and not surrounded by other s-bots, it will be disconnected.

Context 3 : S-bot has an obstacle in front of it. Obstacle avoidance behavior will be performed.

Context 4 : This context is valid, in all situations except for the previous contexts. Mainly sound attraction behavior is performed with a small probability of random movement.



Periphery S-Bot Context Descriptions :


Context 1 : S-bot is connected by another s-bot.No movement behavior is performed.

Context 2 : S-bot is very close to another s-bot to connect it, or it is already connected to another s-bot. If it is not connected, it will connect directly. If it is connected, it will disconnect if (1) there isn't enough sound to conclude it is in periphery, (2) center s-bot approaches from back. After disconnection, context 4 will be valid for a certain amount of time.

Context 3 : S-bot has an obstacle in front of it. Obstacle avoidance behavior is performed.

Context 4 : S-bot is disconnected from a cluster and randomly moving repeled by sound. This context is valid for a time interval, to allow s-bot find another place to connect.

Context 5 : This context is valid, in all situations except for the previous contexts. S-bot tries to find a center, using sound attraction and random movement behaviors.

From Simulation :

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