Multi-Robot Collective Sorting with Local Sensing - Semantic Scholar

5 downloads 0 Views 256KB Size Report
Abstract – In this paper, we present an ant inspired approach to object sorting problem with multiple robots. Our approach to this problem is general in the sense ...
Multi-Robot Collective Sorting with Local Sensing Tao Wang and Hong Zhang Department of Computing Science University of Alberta Edmonton, Alberta T6G 2E8, Canada {trysi,zhang}@cs.ualberta.ca Abstract – In this paper, we present an ant inspired approach to object sorting problem with multiple robots. Our approach to this problem is general in the sense of that it does not require any priori information of the task environment and assume any specific initial configurations. The robots have only limited access to the local environment and achieve collective sorting through simple reactive behaviors. Our sorting algorithm is able to perform the task with different system parameter settings in various task environments. We conjecture that the swarm performance is not initial configuration sensitive with our behavioral strategy for robots, and that the extent to which sorting task is completed depends only on the capabilities of the robots. This conjecture is validated through the analysis of the experimental data, and a theoretical explanation is given. We extend the previous sorting work by defining a quantitative task performance metric and proposing a model to explain the observations during the sorting process. I. INTRODUCTION Artificial swarm systems inspired by the collective behavior of the social insects are truly distributed, selforganized, and scalable as there is no centralized control or global communication. Such a system is appealing due to its scalability, flexibility, and robustness. Inspired by the brood sorting behavior of ant colony, we investigated the problem of sorting objects of two classes by a team of homogeneous mobile robots. The robots have only limited perception of the local environment and have no a priori information about the distribution or number of the objects to be sorted in the environment. Such a system is useful when robots are to perform tasks at the micro-scale or the nano-scale where they can only have very limited sensing, computing, and actuation capabilities. Therefore, sorting tasks become very challenging in such a context. A. Ant Brood Sorting In the brood of ant colonies, larvae, cocoons, and eggs are arranged in distinct patterns such as separate piles [5] or concentric rings [8]. Some biologists speculated that the brood patterns might be created by ants moving items probabilistically without central administration [5] and the mechanisms of self-organization [7], stigmergy [9], and selfsieving [1] might be involved in the sorting process. Furthermore, Deneubourg’s simple behavioral algorithm [5] captures many features of the ant sorting behavior [6][8].

Deneubourg has theorized that ants pick up and put down objects in a random manner. The probabilities of moving items were given by a short-term memory of an ant’s vicinity and the sorting behavior was viewed as a pattern generation process through self-organization [3][4]. Also stigmergy has been considered as the mechanism for behavior coordination in which modification of a shared environment serves as a cue to direct the future activities of the ants. Furthermore, the self-sieving mechanism [1] (also called self-sorting by size, that is, small particles are able to lie between the larger particles under the influence of shaking and gravity) complements the probabilistic model of ant behavior in explaining the formation of the ring-shape brood pattern in Leptothorax ant colonies. Although biologists have closely observed - and postulated hypotheses on – the ant sorting behavior, how an ant colony sorts its brood collectively is still not fully known. B. Related Work Distributed clustering, and more recently sorting, by a swarm of robots have served as benchmarks for swarm intelligence based robotics [3]. Deneubourg et al. conjectured in [5] that robot team design could be inspired from the ant corpse gathering and brood sorting behaviors. The ant-like robots should be able to sense the objects in the front and have a short-term memory to record what has been perceived in the recent past. Beckers et al. presented some experiments of robots gathering pucks into one pile, a task that is analogous to ant’s corpse-removal behavior. Becker’s work used a fixed threshold mechanism instead of short-term memory for the robots to decide whether to pick up or put down objects. Melhuish et al. further studied the collective sorting problem from a minimalist perspective, and their system produced annular sorting results [9]. In the collective sorting project at the University of Alberta, we are interested in integrating the mechanisms in ant brood sorting with the design of a behaviour-based multirobot system. Our work is similar in philosophy to the threshold mechanism used by Beckers et al. [2] and its extension by Melhuish et al. [10]. However, we concentrate on seeking a general approach to the sorting problem and systematically studying the sorting process. We conjecture that the degree of convergence of the sorting task is determined by the capabilities of the robots, and increasing

the number of robots in a sorting task can only speed up the process at its early stage. The rest of the paper will be organized as follows. Section II describes the sorting problem and our swarm system design. In Section III, we present our simulation results to validate the hypotheses and observations of sorting processes. Finally, we conclude our work with our theoretical explanation in Section IV. II. ROBOT COLLECTIVE SORTING We consider sorting of objects in the context of a multirobot system. That is, a number of homogenous mobile robots rearrange scattered objects of different classes into clusters in a working arena. If the robots knew the positions of all the objects and those of the final clusters of the sorted objects, then it would be trivial to arrive at a solution to the collective sorting problem: the robots could simply search for the objects and carry them to the designated locations. This solution is suitable for the task environment, which is known to robots in advance. However, not all position information is available to robots when they perform tasks. Instead, we assume robots do not have global information such as the position of the objects/clusters and the number of the objects to be sorted. To achieve solution scalability and robustness, we choose not to introduce explicit communication between robots. Our robots have very limited local sensation and action capabilities. They behave independently in a distributed fashion. How could these simple robots collectively sort the scattered objects with the above constraints? A. Task Description Inspired by the collective behavior of social insects, especially the ant brood sorting behavior, we investigated sorting task in the behavior-based multi-robot domain. Collective sorting is defined as grouping and classifying scattered multiple objects into clusters, one for each type, by a swarm of simple mobile robots, which are not aware of the number of types and the number of objects to be sorted in the task environment. Information about the locations of final clusters is not known a priori. In order to explain our solution to the problem, we introduce the following notations. A swarm of N robots sort M types of initially randomly scattered objects into clusters, one per type, in a two-dimensional arena. Each robot has limited perception of its local environments and affects the environment through its actuators. At a given time t , cluster j of object type i in the arena are represented as Ci , j (t ) , the

corresponding cluster size (the number of objects in the cluster) of Ci , j (t ) is represented as Oi , j (t ) , where i is object type

(1 ~ M ) , j is cluster index (1 ~ K i (t )) . The total

number of objects of type i is denoted as Oi = ∑ j =1 Oi , j (t ) . Ki (t )

Hence, the total number of objects can be denoted as or

∑ ∑ M

Ki (t )

i =1

j =1



M i =1

Oi

Oi , j (t ) . The convergence of the sorting task can

be measured by the Equation

∑ w ∑ (O (t ) / O ) , (∑ w = 1) is the weight given to the degree of M

Tcompletion (t ) = where wi

Ki (t )

i

i =1

j =1

2

i, j

i

M

i =1

i

convergence of each type of objects. This metric takes into account both the number of formed clusters and the sizes of the clusters in terms of the numbers of objects in the clusters. Without the lose of generality, we started with sorting two types of objects into clusters, under the constraints of (a) no centralized control, (b) no explicit global communication, and (c) only local perception. Then we can extend the solution to the case of multi-class sorting. B. Swarm System Design Keeping the generality of the solutions in mind, we started with investigating sorting two types of objects by a group of robots with limited local sense capability while no direct inter-robot communication or memory of its past experience is introduced. The basic idea is that the isolated objects are likely to be picked up and deposited at the locations where more items of the same type are present [5]. This will lead to a congregation of objects of the same type. Then the small clusters will in turn cause passing robots to deposit their objects. Consequently, clusters grow incrementally till the robots are terminated or the system reaches its stable state. Here, our robots are forgetful. Instead of using a short-term memory [5], we examine robot’s immediate vicinity, which could be sensed by robot’s frontal sensors. In our system design, the system parameters are the size of the grid world, the number of robots, the number of objects of each type, and the initial distribution of the objects. Those parameters can be set arbitrarily before a run of the simulation experiment. The robots can random-walk in the grid world with eight possible movement directions: moving up, up-left, up-right, down, down-left, down-right, left, or right within the boundary of the arena (see Fig. 1). They are able to sense only the objects in the front of their heading direction (three squares in the grid world). The robots have no memory and no communication between them. Initially, robots make random moves and objects are scattered. Robots can move on an empty cell but two robots cannot occupy the same cell. Robots are required to recognize whether the objects are the same or different type.

Up-left

Up

Left

Up-Right

carrying an object, and it senses an object is in front, the robot will make a decision about whether to pick up the object. If the robot is carrying an object and it senses a space enough for the object, it will consider putting down the object. The following is the flowchart of the robot control algorithm.

Right

Robot chooses move direction

start

Flowchart Key start

Down-left

Down

Down-right

carrying a puck?

No

Yes

action

desision

Fig. 1 Eight directions of robot motion while performing the collective sorting task 1)

Sorting algorithm: Fig. 2 describes the sorting algorithm used by robots. This is the core algorithm in the sorting simulation design. Our robots accomplish sorting task by random-walk and loading and deposition of objects according to the simple behavioral rules.

empty space detected?

Yes

empty space detected?

No

object detected?

flow direction

Yes

No

Yes

load object?

No

move onto space

No

deposit object? Yes

No

gripper released

Yes

Collective Sorting Algorithm: begin 1. Define experimental settings (area size, swarm size, number of objects) and other parameters (simulation counter, Max_Step etc.); 2. Initialize arena configuration with scattered objects and unloaded robots; 3.While similation counter is less than Max_Step and sorting is unfinished do Swarm begins sorting cycle : a) Record arena configuration and sorting process data; b) Choose a robot and let it select a move direction and sense the site on that direction; c) If the robot is free, it move onto the site when the site is empty, else it decides whether to execute load action when the site is an object, otherwise it waits for next cycle. d) If the robot is loaded, it decides whether to execute deposit action when the site is empty, otherwise it waits for next cycle. e) If not all the robots perform, goto a), otherwise continue f) Increase simulation counter and goto 3; 4. Record the parameters and terminate the algorithm. end

Fig. 2 Robot control algorithm for the collective sorting task 2) Robot’s controller: Robots have three basic behaviours: wander, load an object, and deposit an object. In the simulation experiments, grey and black are used to indicate the two types of objects, which are initially scattered in a squared arena randomly. Without an object, each robot chooses a heading direction and moves in that direction until it encounters an obstacle (another robot or boundary of the arena). Robots avoid collision with obstacles by turning a random heading angle, then moving forward. If a robot is not

gripper closed

Fig. 3 Robot control algorithm 3) Behavioral rules: Strategy for robot to manipulate objects is regulated by both the robot’s local perception and the internal state of carrying an object or not. We can define an individual robot's actions in terms of three behavioural rules: • Rule1: A robot randomly chooses a direction and moves along that direction one step in the environment. • Rule2: When a free robot senses an object in its front, robot picks up the object if it senses the object is different from the ones either on its left or the right. • Rule3: When a loaded robot senses an empty site in its front, the robot puts down the carrying object down if it senses the same type of objects as its carrying one either on its left or the right. Our system design is flexible enough to allow us to conduct experiments in different task environments. Also our approach is general in the sense of that it does not require any a priori information of the task environment and that it is suitable to the tasks with different initial configurations.

III. EXPERIMENTAL RESULTS The purpose of the experimental studies is to investigate the influence of initial configuration and swarm size (the number of the robots) on the system performance. We conjectured that the swarm performance is not sensitive to the initial configuration sensitive for the control algorithm we developed, and that the convergence of the sorting task is determined solely by the capabilities of the robots in given a sorting task (objects, robots, and task environments). In this section, our hypotheses are validated by the experiments and a theoretical explanation is given. A. Rate of convergence vs. swarm size To investigate the relationship between the swarm size and the convergence of the sorting task toward completion, we conducted 200 experiments of sorting nine black and nine grey objects in a 10x10 grid world. The experiments are categorized into four groups according to the number of the robots involved. Each group curve is averaged over 50 experiments with same configuration of sorting task. As the elapsed time of an experiment depends on the specific computer hardware/software configuration, it is more reasonable to measure the time cost of an experiment in term of the total simulation steps. The convergence of a sorting task is measured by the task completion metric, which we defined in Section II A. Fig. 4 compares the sorting performance of the swarm system with one, two, three, and six robots. At the start of each experiment, the robots are placed at the centre of the arena and objects are uniformly distributed in the arena. The initial configuration is completed at about 0.11 according to the task completion metric. Averaging over 50 trials for each swarm system, we plot the performance of the swarm and elapsed time of 10000 simulation steps (Fig. 4). The figure shows that increasing the number of robots can only speed up the sorting process at the early stage of the sorting. How well the sorting task is completed is independent of the number of the robots in the swarm system. Let us take a closer look at the performance curve for six robots. Smaller clusters appeared very quickly around 1100 move steps. Then some clusters were split up due to the random pick-up and putdown rules. Later, bigger clusters formed slowly. The degree of completion of the sorting is 75% when we terminate the experiments at 10000th simulation step. We can anticipate that the degree of the task completion will converge to a certain value independent of the swarm size (the number of the robots).

Fig. 4 Uniform initial distribution of the objects B. Is sorting completion degree sensitive to the initial arena configuration? To test whether the initial configuration of the arena has an impact on the completion of the sorting task, we conducted the experiments of robots sorting nine blue (black) and nine red (grey) objects in a 10x10 grid world with initially randomly destitution of the objects and robots. Fig. 5 shows that the swarm system is not very sensitive with the initial distribution. The results are averaged over 50 trials of one, two, three, and six robots. Once again, the more robots there are in the swarm system, the more quickly small clusters are formed at the beginning. However, there is no significant difference between the performance of one robot and more robots after 9500 move steps. The objects are sorted at about 70% when we terminate the experiments at simulation step of 10000. The observations in Fig. 5 are consistent with the observations in Fig. 4. It proves that the performance of the sorting algorithm is independent of the initial configuration of the objects and robots. If given enough time, our approach will achieve the task independent of the initial task environment.

Fig. 6 Snapshots of collective sorting process by 8 robots sorting 40 objects of each type in a 30 by 30 grid world Fig. 5 Random initial distribution of objects C. Sorting process We study the sorting process in a series of experiments with different parameter settings. We run 100 trials for four robots sorting 20 objects of each type in a 10x10 grid world, 50 trials for eight robots sorting 20 objects of each type in a 20x20 grid world, 10 trials for eight robots sorting 40 objects of each type in a 30x30 grid world. Objects and robots are initially randomly distributed in these experiments. We observe that scattered objects of the same type are grouped into small clusters very quickly at the beginning of the experiments. Then small clusters are more likely to grow in size than isolated objects. After the cluster size reaches a certain threshold, some of them are occasionally split. However, most of them become larger and larger. When a few large clusters of the same type are formed, they are almost unchanged from then on. Finally one or two clusters per type of objects appear after the swarm system runs an extended period of time. Fig. 6 shows some snapshots of the collective sorting process in an experiment with eight robots (the star) sorting initially random distributed 40 black and 40 grey objects in a 40x40 grid world. In the simulations, robots are represented as the stars, objects are colour squares, and empty positions are white squares.

It is intuitive that most of the small clusters become even smaller, as objects in these clusters are picked up by passingby robots according to the behavioural rules. That is, the objects in the small clusters are more likely to be picked up by passing-by robots and deposited to some other clusters of the same type. The size of the clusters tends to grow bigger and bigger. Occasionally, some of the clusters are split by the robots as robots behave stochastically in this approach. The intriguing thing is that the clusters grow very quickly after a while but then grow very slowly when the clusters reach a certain size. Still the cluster is growing as long as there are isolated objects in the grid world. IV. CONCLUSIONS Our simulation studies have validated our conjecture about the impact of the robots’ capability on the completion of the sorting task with more than 1000 experiments with different parameter settings. Based on our experimental observations and data analysis, we concluded that our approach to sorting problem is not sensitive to the object/robot initial distribution. This property is favored in the real robot system engineering as the task can be achieved without the special requirements for the initial setup of the task. We also noticed that the elapsed time for the sorting can be reduced by deploying multiple robots. However, the completion of the sorting task depends on only the capabilities of the robots (robot perception, action and interaction capacity). More robots will only help reduce the task completion time to some extent In the sorting process, objects are deposited and removed from the clusters stochastically. Whether a cluster becomes bigger or not is affected by the robots’ object depositing and removal behaviour. We measured the net change of a cluster by the growth of a cluster, which is the fraction of objects deposited to a cluster over the cluster size at that moment. In Fig. 7, we can depict the history of the growth of a cluster graphically. There are two important parameters that define how the cluster size will change. We name them critical size and peak size, which are determined by the robot’s capabilities.

Growth ratio of a cluster

VI. REFERENCES

0 critical size

peak size

cluster size

Fig. 7 The relationship between the growth of a cluster and its size We can categorize the behaviours of clusters during the sorting process into three classes, in terms of how their size will change, and these behaviours are defined by a cluster’s size relative to the critical size and peak size. The clusters exhibit different growth tendency in the three classes. If the size of a cluster is less than the critical size, the growth of a cluster is negative. That is, more objects are removed from the cluster than deposited. Therefore, the cluster becomes smaller and smaller. When the cluster size is equal to the critical size, the cluster is almost unchanged as its net change approaches zero. As the sorting is carried out by random walking robot, the cluster may become bigger even when it is the same as the critical size. The temporary equilibrium of a cluster is changed probabilistically. Finally, if the size of the cluster is greater than the critical size but less than the peak size, the cluster grows very quickly until the size of the cluster reaches the peak size. When its size is greater than the peak size, it still grows but at a much slower speed. This explains why one or two clusters appear given the experiments ran a long time. Our future work will look at how to quantitatively measure the capabilities of the robots, calculate the critical/peak size in the above model theoretically, as well as validate our study with physical robots.

[1] G. Barker, M. Grimson, “The physics of muesli”, New Scientist, 126 (1718),1990, pp. 37-40. [2] R. Beckers , O.E. Holland, J.L. Deneubourg., “From local actions to global tasks: stigmergy and collective robotics”, in Brooks R. and Maes P. Artificial Life IV, MIT Press, 1994. [3] E. Bonabeau, M. Dorigo, and G. Theraulaz, Swarm Intelligence: From Natural to Artificial Systems. Oxford University Press, Oxford, UK, 1999. [4] S. Camazine, J.L. Denebourg, N.R. Franks, J. Sneyd, G. Theraulaz, and E. Bonabeau, SelfOrganization in Biological Systems, Princeton University Press, 2001 [5] J.L. Deneubourg, S. Goss, N.R. Franks, A.B. Sendova-Franks, C. Detrain, L. Chrétien, “The dynamics of collective sorting: robot-like ants and ant-like robots”, in Proceedings of the 1990 International Conference on Intelligent Robots and Sytems, pp. 356-363. [6] J.L. Deneubourg, J.M. Pasteels, J.C. Verhaeghe, “Probabilistic behavior in ants: a strategy of errors?”, J. theor. Biol., 1983, 105, pp. 259-271. [7] J.L. Deneubourg, D. Fresneau, S. Gross, J.P. Lachaud and J.M. Pasteels, “Self-organization mechanisms in ant societies (II): learning during foraging and division of labor”, In Pasteels, J.M. and Deneubourg, J.L (eds.) From Individual to Collective Behavior on Social Insects, Basel, Boston, 1987, pp. 177-196. [8] N.R. Franks, A.B. Sendova-Franks, “Brood sorting by ants: distributing the workload over the worksurface”, Behav. Ecol. Sociobiol, 1992, 30: pp.109-123. [9] O. Holland , C. Melhuish, ‘Stigmergy, selforganization, and sorting in collective robotics’, Artificial Life 5, pp. 173-202. [10] C. Melhuish, M. Wilson, A.B. Sendova-Franks, “Patch sorting: multi-object clustering using minimalist robots’, ECAL 2001, pp. 543-552.