Modified Self-Organized Task Allocation in a Group of Robots

08/30/2018 ∙ by Chang Liu, et al. ∙ Northwestern University 0

This paper introduces a modified self-organized task allocation algorithm, where robots are assigned to pick up one of the two types of object. This paper also demonstrates both algorithms by showing the simulation results of the conventional self-organized task allocation algorithm and the simulation results of its modification.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

The conventional task allocation algorithm does not distinct the object types, which means there is only one type of object in the experiments. Robots are finally separated into two different groups: (1) foragers: robots that have more tendencies to retrieve objects; (2) loafers: robots that have more tendencies to stay in the central nest.

In the modified task allocation algorithm, there exists multiple types of robots (in the experiments shown in this paper, there are two types of object). Robots leave the central nest and are assigned to pick up one certain type of object. Through the experiment, each robot will grow tendency to pick up only one out of the two types of object. Therefore, ideally, robots should be separated into three groups eventually: (1) foragers for object type 1: robots that have more tendencies to leave the nest and pick up objects of type 1; (2) foragers for object type 2: robots that have more tendencies to leave the nest and pick up objects of type 2; and (3) loafers: robots that have more tendency to stay in the nest.

This paper is designed by the following sequence: Section II mainly discusses the movement and collision avoidance strategies of the robots; Section III discusses two sets of experiment parameters and environments; Section IV reviews the conventional task allocation algorithm and introduces the modified algorithm; Section V shows the simulation results and Section VI gives the conclusion.


Ii Details About Robots Movement

The robots are always in one of the three phases: (1) searching phase; (2) returning phase; and (3) stopping phase. Each robot has its own timer and once the robot starts moving, its timer will start counting. If the robot can not find any object when its searching time is out, it will go back home itself. The corresponding movement and collision avoidance strategies during searching phase and returning phase will be introduced in the following subsections. When the robot returns home, it will be set to stopping phase, where robot keep checking whether it is able to leave the nest by comparing a randomly generated value and the leave nest probability

, which will be introduced in later section.

Ii-a Movement And Collision Avoidance Strategies In Searching Phase

Robots are initially placed inside the central nest. Once the task allocation algorithm starts, robots start to leave the central nest and start searching.

Ii-A1 No Collision

As the robots moving inside the experimental arena, if a robot does not collide with any other robots or any object, the robot will move forward. The heading direction will be slightly changed by an random error.

Ii-A2 Collide With Other Robots

If a robot is too close to another robot during searching phase, both robots will be bounced away from each other. For bouncing, robots will keep updating their heading directions to random values until they are not too close to each other.

Ii-A3 Collide With Objects

Each robot has its own probabilities to pick up different types of object due to mechanical differences. If a robot is too close to an object, the robot will generate a random number between 0 and 1 and compare it with the certain predefined probability. If the robot is able to pick up the object, it will carry the object back home, which is the situation in the next subsection. If a robot is not able to pick up the object, it will be bounced away to another direction and keep searching new objects.

Ii-A4 Collide With The Boundary Of The Central Nest

Since robots will search within the entire experimental arena, it is possible that a robot will try to pass the central nest zone. In this case, if the robot is carrying an object, it will be allowed to pass the boundary of the central nest and drop the object. However, if the robot is not carrying an object, it will be bounced away when it is too close to the boundary of the central nest. Bouncing will be the same as the one in subsection 2).

Ii-A5 Collide With The Boundary Of The Experimental Arena

If a robot is too close to the boundary of the experimental arena, it will be bounced back, whether it is carrying an object or not. Technically, if a robot is carrying an object, it will move towards the central nest. Bouncing will be the same as the one in subsection 2).

Ii-B Movement And Collision Avoidance Strategies In Returning Phase

A robot will be in returning phase if it successfully picks up an object or its searching time is out. In both cases, the collision avoidance strategies are the same.

Ii-B1 No Collision

If a robot is carrying the chosen object and does not collide with any other robots or any other objects, the robot will move towards the origin with the chosen object. If a robot is not carrying any object and does not collide with any other robots or any object, it will also move towards the origin and finally pass the boundary of the central nest.

Ii-B2 Collide With Other Robots

If a robot is too close to another robot, whether they are carrying objects or not, the robot will be bounced to the opposed direction.

Ii-B3 Collide With Objects

If a robot is too close to an object when returning to the nest, it will not pick up the object since the searching time is out for this searching iteration. Instead, the robot will move along the edge of the object to pass it.

Ii-B4 Collide With The Boundary Of The Central Nest

When robots are in returning phase, they are free to pass the boundary of the central nest.

Ii-B5 Collide With The Boundary Of The Experimental Arena

It is unlikely to collide with the boundary of the experimental arena during returning phase, since robots will move towards the origin during returning phase.


Iii Experiments

Two sets of experiment have been conducted, one for the original algorithm and one for the modified algorithm. Twenty experiments have been conducted for each set of experiment and results are combined. Experiment parameters are summarized in Section A and the experiment environment is shown in Section B.

Iii-a Experiment Parameters

Iii-A1 Experiment Set I

The experiment parameters used for testing the original organism are summarized in Table I - Table IV.

Table I tells the group size of the robots and the group size of the objects. Once an object is brought home, another object of the same type will be replaced in the experimental arena at a random location. In this way, the total numbers of objects in the experiment arena for each type are constant.

 

Type Total Number
Robots (Purple Robots) 15
Objects of Type 1 (Green Objects) 30
Objects of Type 2 (Red Objects) 35

 

TABLE I: Number of Robots and Objects

Each robot is mechanically different from other robots so that each robot has different probabilities of picking up each type of object, which is indicated in Table II.

 

Type Of Object To Be Picked Up Probability Range
Objects of Type 1 (Green Objects) [0 1]
Objects of Type 2 (Red Objects) [0 1]

 

TABLE II: Probabilities Of Picking Up Each Type Of Object

Experiment timeout and robot’s searching time are shown in Table III. Note that each robot will use its own timer during searching. Once a robot can not find any object after the searching time interval, this robot will return home, without influencing other robots.

 

Type Length
Experiment Time Interval (Seconds) 180
Searching Time for Each Robot (Seconds) 15

 

TABLE III: Time Interval

The probability parameters of leaving the nest are summarized in Table IV.

 

Type Probability
0.08
0.002
0.04
0.0003

 

TABLE IV: Probability Parameters Of Leaving The Nest

Iii-A2 Experiment Set II

The experiment parameters for testing the modified algorithm are summarized in Table V - Table IX.

Table V tells the group size of the robots and the group size of the objects.

 

Type Total Number
Robots (Purple Robots) 15
Objects of Type 1 (Green Objects) 30
Objects of Type 2 (Red Objects) 35

 

TABLE V: Number of Robots and Objects

Each robot is mechanically different from other robots so that each robot has different probabilities of picking up each type of object, which is indicated in Table VI.

 

Type Of Object To Be Picked Up Probability Range
Objects of Type 1 (Green Objects) [0 1]
Objects of Type 2 (Red Objects) [0 1]

 

TABLE VI: Probabilities Of Picking Up Each Type Of Object

Experiment timeout and robot’s searching time are shown in Table VII. Note that each robot will use its own timer during searching. Once a robot can not find any object after the searching time interval, this robot will return home, without influencing other robots.

 

Type Length
Experiment Time Interval (Seconds) 300
Searching Time for Each Robot (Seconds) 25

 

TABLE VII: Time Interval

The probability parameters of leaving the nest and picking up each type of object are summarized in Table VIII and Table IX. For the experiments shown in this paper, the probability Parameters of picking up each type of object are set to be the same.

 

Type Probability
0.08
0.002
0.04
0.0015

 

TABLE VIII: Probability Parameters Of Leaving The Nest

 

Type Probability
, 0.15
, 0.002
, 0.075
, 0.0025

 

TABLE IX: Probability Parameters Of Picking Up Objects

Iii-B Experiment Environments

The simulation screen shots are shown in Figure 1.

In each experiment, there is an nest located at the center of the experimental arena. Objects are randomly placed in the experimental arena. Objects do not collide with each other and there is no object placed inside the central nest. Robots are initially located inside the central nest and they use a random walk initially. When the experiment starts, robots will leave the nest and start searching objects in the experimental arena. Unless the robot successfully picks up an object or its searching time is out, no robot is allowed to return to the central nest. Once a robot picks up an object of type 1 (green object), it will turn orange from purple, and once a robot picks up an object of type 2 (red object), it will turn blue from purple. Once the robot returns home, it will be reset to purple. For each object that is brought home, another object of the same type will be placed at a random location in the experimental nest so that the total numbers of objects of each type in the experimental arena are constant through the experiment.

Fig. 1: Experiment Environment

Iv Algorithms

Iv-a Previous Work

The conventional task-allocation algorithm treats all objects equally without telling the differences. The update of the probability of leaving the central nest, , is done as shown in Algorithm 1, named Variable Delta Rule (VDR). The algorithm increments or decrements by a constant multiplied by the number of consecutive successes or failures of leaving the central nest. It then bounds in the range [].

initialization: ; ;
if  then
end if
if  then
end if
Algorithm 1 Variable Delta Rule (VDR). is the probability of leaving the nest, and are the number of consecutive successes and failures of leaving the nest.

Iv-B Modified Algorithm

In the modified algorithm, robots will grow tendencies of picking up only one of the two types of object. The update of the probability of leaving the central nest, , is done as shown in Algorithm 1, named Variable Delta Rule (VDR). The update of the probabilities of picking up certain type of object, and , are done as shown in Algorithm 2. When a robot leaves home, it will be assigned to pick up one type of object, based on and . The algorithm increments or decrements and by constant values and multiplied by the number of consecutive successes or failures of picking up the certain type of object. It then bounds in the range [] and bounds in the range []

initialization: ; ; ; ; ; ; ; ;
if  then
     if  then
         if  then          
         end if
         if  then          
         end if      
     end if
     if  then
         if  then          
         end if
         if  then          
         end if      
     end if
end if
if  then
end if
Algorithm 2 is the probability of leaving the nest, and are the numbers of consecutive successes and failures of leaving the nest. is the probability of picking up objects of type 1, and are the numbers of consecutive successes and failures of picking up objects of type 1. is the probability of picking up objects of type 2, and are the numbers of consecutive successes and failures of picking up objects of type 2.

V Results

The original algorithm is tested first, where robots treat each type of object equally.

At the beginning of the experiment, the value of for each robot is set to be a predefined certain value. The value of for each robot is updated through the experiment due to the performance of the robot. Whether task-allocation occurs or not can be observed in the distribution of : if task allocation occurs, then at the end of the experiments some of the robots will have high while the others will have low , and the distribution of will present two peaks; otherwise it will have only one peak.

Then the modified algorithm is tested, where robots have the ability to distinguish the two types of object.

Also, at the beginning of the second set of experiment, the values of and for each robot are also set to be predefined certain values. The values of and for each robot are also updated through the experiment due to the performance of the robot. Whether the sub-task-allocation occurs or not can be observed in the distribution of and the distribution of : if sub-task-allocation occurs, then at the end of the experiments some of the foragers will have high but low while the other foragers will have high but low , and there will be two peaks in both the distribution of and the distribution of ; otherwise there will be only one peak in each of the distributions.

V-a Simulation Result of Using The Original Algorithm

The frequencies of for the first set of experiment is presented in Figure 2. The first sub-graph in Figure 2 shows the initial frequencies of at the beginning of the experiment, and all of the robots start from . The second sub-graph in Figure 2 shows the retrieving result and its two-peak shape confirms that task-allocation has occurred.

Fig. 2: Frequency of Observed

The average value of the minimum and the maximum

has been used as a point to separate robots into two groups, foragers and loafers. The distribution of the number of foragers observed in each experiment compared with the theoretical binomial distribution is presented in Figure

3. Figure 3 shows that the profiles of the theoretical and the observed distributions are very similar and suggests that further experiments will confirm the matching.

Fig. 3: Distribution of The Number of Foragers Observed in Each Experiment Compared with The Theoretical Binomial Distribution

V-B Simulation Result of Using The Modified Algorithm

The frequencies of , and for the second set of experiment are presented separately in Figure 4, Figure 5 and Figure 6.

Figure 4 shows the ”leaving-nest” result after 300s. The first sub-figure in Figure 4 shows the initial frequencies of at the beginning of the experiment. The two-peak shape in the second sub-figure in Figure 4, which shows the updated after 300s, confirms that task allocation has occurred.

Fig. 4: Frequency of Observed

Figure 5 shows the ”retrieving objects of type 1” result after 300s. The first sub-figure in Figure 5 shows the initial frequencies of at the beginning of the experiment. The two-peak shape in the second sub-figure in Figure 5, which shows the updated after 300s, confirms that sub-task-allocation has occurred.

Fig. 5: Frequency of Observed

Figure 6 shows the ”retrieving objects of type 2” result after 300s. The first sub-figure in Figure 6 shows the initial frequencies of at the beginning of the experiment. The two-peak shape in the second sub-figure in Figure 6, which shows the updated after 300s, confirms that sub-task-allocation has occurred.

Fig. 6: Frequency of Observed

Also the average value of the minimum and the maximum has been used as a point to separate robots into two groups, foragers and loafers. For the second set of experiment, the distribution of the number of foragers observed in each experiment compared with the theoretical binomial distribution is presented in Figure 7. Figure 7 shows that the profiles of the theoretical and the observed distributions are very similar and suggests that further experiments will confirm the matching.

Fig. 7: Distribution of The Number of Foragers Observed in Each Experiment Compared with The Theoretical Binomial Distribution

Robots have different mechanical capabilities of picking up each type of object. The capability is defined as a decimal number between 0 and 1, where 0 means not able to pick up the object and 1 means 100% to pick up the object. Figure 8 presents the result of each robot’s final preference corresponding to its mechanical capabilities. The x-axis represents each robot’s capability of picking up objects of type 1 and the y-axis represents each robot’s capability of picking up objects of type 2. Every point represents one robot, locating corresponding to its mechanical capabilities. There are three red lines in Figure 8. If a robot has a mechanical capability of picking up objects of type 1 less than 0.5, it means the robot is supposed to be a ”loafer of picking objects of type 1”. Otherwise, the robot is supposed to be a ”forager of picking objects of type 1”. Likewise, if a robot has a mechanical capability of picking up objects of type 2 less than 0.5, it means the robot is supposed to be a ”loafer of picking objects of type 2”. Otherwise, the robot is supposed to be a ”forager of picking objects of type 2”. If a robot’s mechanical capabilities of picking of both types of object less than 0.5, it means this robot is supposed to be a loafer of picking up both types of object.

Therefor, the robots located inside the bottom left square are supposed to be loafers, which have low values and low values. The robots located inside the right trapezoid are supposed to be more likely to become foragers of picking up objects of type 1, which have high values but low values. The robots located inside the upper trapezoid are supposed to be more likely to become foragers of picking up objects of type 2, which have low values but high values.

After each experiment, and of each robot are updated due to the performance of the corresponding robot. In each experiment, there are 15 robots, which means there are 15 values and 15 values. The average value of the minimum updated and the maximum updated is taken as a point to separated the robots ability of picking up object of type 1. Robots that have values less than the average are considered to be loafers of picking up objects of type 1. Same to values. If a robot’s and are both smaller than the corresponding average values, this robot will be marked yellow, which indicates it is a loafer. Otherwise, and are compared. If a robot has larger than , it will be marked green, which indicates this robot have a preference to pick up objects of type 1. If a robot has larger than , it will be marked purple, which indicates this robot have a preference to pick up objects of type 2. Some robots may have both high and high . However, there must be a larger value between the two values, so each robot would have a preference.

From Figure 8, we can see that most of the robots that are supposed to be loafers (low mechanical capabilities of picking up both types of object) are marked yellow; most of the robots that are supposed to be foragers of picking up objects of type 1 (high mechanical capability of picking up objects of type 1 but low mechanical capability of picking up objects of type 2) are marked green; and most of the robots that are supposed to be foragers of picking up objects of type 2 (high mechanical capability of picking up objects of type 2 but low mechanical capability of picking up objects of type 2) are marked purple. This result proves that the sub-task-allocation happens and the implementation is correct.

Fig. 8: Robot Preference Corresponding to Mechanical Difference

Vi Conclusion And Future Work

The experiment proves that the task-allocation for leaving nest occurs and the sub-task-allocation for retrieving certain type of object also occurs.

In the future, people can keep modifying the algorithm. For example, in the current modified algorithm, all objects are assumed to have same weight that is within the robot’s holding capacity. In the future, objects can be assigned to have different weights, which may or may not overshoot the robot’s holding capacity. Robots may work together to bring the heavy objects back to the central nest. For another example, in the current modified algorithm, all objects are located at different unchanged positions while the robots are searching. In the future, objects may move randomly in the experimental arena while the robot is searching.


Acknowledgment

I cannot express enough thanks to my course advisor, Professor Michael Rubenstein, for their continued support and encouragement. I offer my sincere appreciation for the learning opportunities provided by Professor Rubenstein. My completion of this project could not have been accomplished without the support of Professor Rubenstein. My heartfelt thanks.

References

  • [1] Thomas H. Labella, Marco Dorigo and Jean-Louis Deneubourg. Self-Organised Task Allocation.   Proceedings of the 7th International Symposium on Distributed Autonomous Robotic System, Toulouse, France, June, 2004.
  • [2] W. Agassounon and A. Martinoli. Efficiency and robustness of threshold- based distributed allocation algorithms in multi-agent systems.    In C. Castelfranchi and W.L. Johnson, editors, Proceedings of the First International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS-02), pages 1090–1097. ACM Press, New York, NY, USA, 2002.
  • [3] T. Balch. The impact of diversity on performance in multi-robot foraging.    In O. Etzioni, J.P. Mu ̵̈ller, and J.M. Bradshaw, editors, Proceedings of the Third International Conference on Autonomous Agents (Agents’99), pages 92–99. ACM Press, New York, NY, USA, 1999.
  • [4] S. Camazine, J.-L. Deneubourg, N.R. Franks, J. Sneyd, G. Theraulaz, and E. Bonabeau. Self-Organisation in Biological Systems.    Princeton University Press, Princeton, NJ, USA, 2001.