Automatic Design of different controllers from the same behavioral modules and conditions
Automatic Design of different controllers from the same behavioral modules and conditions
2012
In this experiments we aim at automatically generating two different controllers in order to solve two swarm robotics tasks: aggregation and foraging:
•In the aggregation task, the swarm has to aggregate in one of the two black areas of the environment (see the aggregation arena).
•The foraging task consists of retrieving objects from the food sources F represented by black circles on the floor and storing them in the nest area represented by the gray floor. In the foraging arena there is a red light behind the nest area that the robots can perceive through the light sensors (see the foraging arena).
The Tasks
![]() |
The controller is a probabilistic finite state machine (PFSM) composed starting from a set of behavioral modules and a set of conditions.
Behavioral Modules. A behavioral module is a self contained behavior that the robot can exhibit. A behavioral module can have some parameters in order to be applicable in different situations. In this experiments we have six behavioral modules:
1. Random walk (RW): the robot goes straight and when it hits a wall it turns for a random number of steps. The parameter rwm is the upper bound of the number of steps.
2. Stop (Stop): the robot stays still
3. Phototaxis (PT): The robot moves toward the light source
4. Anti-Phototaxis (APT): The robot moves away from the light source
5.Attraction (RBT): The robot is attracted near other robots. The parameter att is the attraction coefficient.
6.Repulsion (ARBT): The robot is attracted near other robots. The parameter repulsion is the repulsion coefficient.
Conditions. The conditions are evaluated at each step after the execution of the behavioral module. If a condition is true, then the current state is changed with the state pointed by the condition. Like the behavioral modules, the conditions can have parameters. In this experiments we have four conditions:
1. Black Floor (Black): The condition returns true if the robot’s ground sensor read that the floor is black. False otherwise. The parameter p is the probability of transition.
2.Gray Floor (Gray): The condition returns true if the robot’s ground sensor read that the floor is gray. False otherwise. The parameter p is the probability of transition.
3.White Floor (White): The condition returns true if the robot’s ground sensor read that the floor is white. False otherwise. The parameter p is the probability of transition.
4.Probabilistic Neighbors Count (Neighbors Count): The condition returns true according to the probabilistic distribution z(n) = 2/(1+exp(pn)) , with n that is the number of robots in the neighborhood and p is parameter. This condition is evaluated each w time steps, where w is a parameter.
The controller
The design algorithm automatically explores the space of all the possible controllers that can be obtained by combining the behavioral modules, the conditions and instantiating the respective internal parameters. In our experiments, we use irace , an iterative tuning algorithm developed in IRIDIA.
The automatic design algorithm
The performance of the controllers are evaluated in simulation using ARGoS, a swarm robotic simulator developed by IRIDIA. We use two different objective functions for the two tasks:
•Aggregation: the objective function is based on the difference between the number of robots on the two areas. Better is the controller higher is this difference.
•Foraging: the objective function is based on the number of collected objects.
Controller Evaluation
We performed an automatic configuration for each task. Each automatic configuration run has a budget of 50.000 total trials.
Results
The obtained controller is able to perform the aggregation behavior. In the following the PFSM (click on the image to enlarge) and the video of the behavior are showed.
Aggregation
![]() |
PFSM
Video
![]() |
The obtained controller is able to perform the foraging behavior. In the following the PFSM (click on the image to enlarge) and the video of the behavior are showed.
Foraging
![]() |
PFSM
Video
We are currently performing real robot experiments using 20 robots. To evaluate the performance in the real world we are using a tracking system that calculates the real robot position using a cealing camera. The position the real robots are then used as feedback to move the virtual robots in the simulation.
Real Robot experiments
![]() |