Shepherding Behaviors with Multiple Shepherds

Similar documents
Shepherding Behaviors with Multiple Shepherds

University of Pennsylvania. From Perception and Reasoning to Grasping

Design of 32 bit Parallel Prefix Adders

Jumpers Judges Guide

Representation, Visualization and Querying of Sea Turtle Migrations Using the MLPQ Constraint Database System

Lecture 1: Turtle Graphics. the turtle and the crane and the swallow observe the time of their coming; Jeremiah 8:7

A Novel Approach For Error Detection And Correction Using Prefix-Adders

POLICE K9 UNIVERSITY 2016 NINO DROWAERT ALL RIGHTS RESERVED

Turtle Ballet: Simulating Parallel Turtles in a Nonparallel LOGO Version. Erich Neuwirth

Subdomain Entry Vocabulary Modules Evaluation

Applicability of Earn Value Management in Sri Lankan Construction Projects

The integration of dogs into collaborative humanrobot. - An applied ethological approach - PhD Thesis. Linda Gerencsér Supervisor: Ádám Miklósi

Physics Based Ragdoll Animation

Machine Learning.! A completely different way to have an. agent acquire the appropriate abilities to solve a particular goal is via machine learning.

Call of the Wild. Investigating Predator/Prey Relationships

Approximating the position of a hidden agent in a graph

Population Dynamics: Predator/Prey Teacher Version

Informed search algorithms

1 Turtle Graphics Concepts

Pigeon And Crow Population Control by Trapping

Cat Swarm Optimization

HERDING REGULATIONS FOR SV HERDING COMPETITIONS

Mexican Gray Wolf Reintroduction

World Animal awareness Society Wa2s.org

5 State of the Turtles

THE EFFECT OF DISTRACTERS ON STUDENT PERFORMANCE ON THE FORCE CONCEPT INVENTORY

Heuristic search, A* CS171, Winter 2018 Introduction to Artificial Intelligence Prof. Richard Lathrop. Reading: R&N

Population Dynamics: Predator/Prey Teacher Version

Identity Management with Petname Systems. Md. Sadek Ferdous 28th May, 2009

OIE Regional Commission for Europe Regional Work Plan Framework Version adopted during the 85 th OIE General Session (Paris, May 2017)

The courses are divided into sections or exercises: Pen or sheepfold Difficult passages Handling and maneuvering Stopping the flock

A Column Generation Algorithm to Solve a Synchronized Log-Truck Scheduling Problem

Dynamic Programming for Linear Time Incremental Parsing

288 Seymour River Place North Vancouver, BC V7H 1W6

Lab 10: Color Sort Turtles not yet sorted by color

The Benefits of Floor Feeding (for Optimal Uniformity)

Controllability of Complex Networks. Yang-Yu Liu, Jean-Jacques Slotine, Albert-Laszlo Barbasi Presented By Arindam Bhattacharya

Comparison of Parallel Prefix Adders Performance in an FPGA

FPGA-based Emotional Behavior Design for Pet Robot

Comparative Analysis of Adders Parallel-Prefix Adder for Their Area, Delay and Power Consumption

LN #13 (1 Hr) Decomposition, Pattern Recognition & Abstraction CTPS Department of CSE

Australian Journal of Basic and Applied Sciences. Performance Analysis of Different Types of Adder Using 3-Transistor XOR Gate

Design of 16-Bit Adder Structures - Performance Comparison

King Fahd University of Petroleum & Minerals College of Industrial Management

Implementation and Estimation of Delay, Power and Area for Parallel Prefix Adders

Supplementary Fig. 1: Comparison of chase parameters for focal pack (a-f, n=1119) and for 4 dogs from 3 other packs (g-m, n=107).

Teaching Assessment Lessons

Using Physics for Motion Retargeting

Design and Estimation of delay, power and area for Parallel prefix adders

Managing AMR at the Human-Animal Interface. OIE Contributions to the AMR Global Action Plan

Arizona s Raptor Experience, LLC March 2018 ~Newsletter~

The City School. Learn Create Program

Rapid City, South Dakota Waterfowl Management Plan March 25, 2009

Cattle Producer s Library

Design of Low Power and High Speed Carry Select Adder Using Brent Kung Adder

Loose Leash Walking. Core Rules Applied:

Let s Play Poker: Effort and Software Security Risk Estimation in Software. Picture from

Writing Simple Procedures Drawing a Pentagon Copying a Procedure Commanding PenUp and PenDown Drawing a Broken Line...

IQ Range. Electrical Data 3-Phase Power Supplies. Keeping the World Flowing

INFORMATION ON THE INCUBATORS

Recurrent neural network grammars. Slide credits: Chris Dyer, Adhiguna Kuncoro

Effective Vaccine Management Initiative

Satisfying the Urge to Herd

MANAGING AVIARY SYSTEMS TO ACHIEVE OPTIMAL RESULTS. TOPICS:

Comparative Physiology 2007 Second Midterm Exam. 1) 8 pts. 2) 14 pts. 3) 12 pts. 4) 17 pts. 5) 10 pts. 6) 8 pts. 7) 12 pts. 8) 10 pts. 9) 9 pts.

Our class had 2 incubators full of eggs. On day 21, our chicks began to hatch. In incubator #1, 1/3 of the eggs hatched. There were 2 chicks.

Animal Behavior. Problem Area: Animal Health and Administering Veterinary Care. Corresponding E-unit(s). Danville, IL: CAERT, Inc.

SECTION IV-1 PARLOURS

Bird Weighing. Precision weighing systems for all types of poultry mobile or fixed installation

Creating Strategic Capital for EVM. EVA th June 2012 Andrew Hill PROJECT CONTROLS CONSULTING

Dog-Drone Interactions: Towards an ACI Perspective

We recommend you cite the published version. The publisher s URL is

Surveillance. Mariano Ramos Chargé de Mission OIE Programmes Department

Objectives Students will use titles as an aid to predicting the main idea and supporting details of a passage. use a web to summarize.

Clicker Training Guide

THE PIGEONHOLE PRINCIPLE AND ITS APPLICATIONS

Elicia Calhoun Seminar for Mobility Challenged Handlers PART 3

Transition to Cold Blinds

INTERNATIONAL JOURNAL OF ADVANCED RESEARCH IN ENGINEERING AND TECHNOLOGY (IJARET)

Chapter VII Non-linear SSI analysis of Structure-Isolated footings -soil system

VIKRANK Customized index

CS108L Computer Science for All Module 7: Algorithms

THE 2011 BREEDING STATUS OF COMMON LOONS IN VERMONT

Package TurtleGraphics

Complete housing solutions for breeder production

The European AMR Challenge - strategic views from the human perspective -

TESTING THE IDEAL FREE DISTRIBUTION: FEEDING EXPIREMENTS WITH TURTLES

Math 506 SN. Competency Two Uses Mathematical Reasoning. Mathematics Science Option. Secondary 5. Student Booklet

Design of High Speed Vedic Multiplier Using Carry Select Adder with Brent Kung Adder

WHO perspective on antimicrobial resistance

Texas Education Agency. Deployment Readiness Checklist: ESC TSDS PEIMS Champion

Puppy Agility Games, Part 2 By Anne Stocum, photos by Dianne Spring

NOTIFICATION TO THE PARTIES

Modeling and Control of Trawl Systems

The welfare of laying hens

BEHAVIOUR OF DOGS DURING OLFACTORY TRACKING

REARING LAYING HENS IN A BARN SYSTEM WITHOUT BEAK TRIMMING: THE RONDEEL EXAMPLE

Overview of the OIE PVS Pathway

SOAR Research Proposal Summer How do sand boas capture prey they can t see?

BC GUIDE DOG AND SERVICE DOG ASSESSMENT

Transcription:

Shepherding Behaviors with Multiple Shepherds Jyh-Ming Lien Samuel Rodríguez neilien@cs.tamu.edu sor8786@cs.tamu.edu Jean-Phillipe Malric Nancy M. Amato sowelrt0@sewanee.edu amato@cs.tamu.edu Technical Report TR04-003 Parasol Lab. Department of Computer Science Texas A&M University September 15, 2004 Abstract Shepherding behaviors are a type of group behaviors in which one group (the shepherds) try to control the motion of another group (the flock). Shepherding behaviors can be found in many forms in nature and have various important robotic applications. In this paper we extend our previous work of shepherding behaviors with a single shepherd to multiple shepherds. More specifically, we study how a group of shepherds can work cooperatively without communication to efficiently control the flock. This research supported in part by NSF Grants ACI-9872126, EIA-9975018, EIA-0103742, EIA-9805823, ACR-0081510, ACR- 0113971, CCR-0113974, EIA-9810937, EIA-0079874. Parasol Lab., CS Dept., Texas A&M University. Undergraduate student, Mediterranean Institute of Studies and Research in Computing and Robotics (IMERIR), University of Perpignan, France.

Figure 1: Shepherding behaviors with multiple shepherds. 1 Introduction Simulating the coordinated behavior of a flock has been studied in many fields of research including robotics, computer animation and games. Shepherding behaviors are a class of flocking behaviors in which one or more external agents (called shepherds) try to control the motion of another group of agents (called a flock) by pushing from behind. This behavior is readily found in nature, for example trying to herd a group of animals. Shepherding behaviors, in general, have applications beyond building robots to herd a group of animals [19, 24]. The study of the shepherding behaviors can be used to build robots that work cooperatively to collect oil that has been spilt from oil tankers [8]. These behaviors can be applied to a group of robots whose function is to keep animals off of airport runways [1]. Similarly these behaviors can be applied to keeping people from dangerous areas such as unsafe waters, construction zones or other restricted areas. They could also have applications in museums serving as guides through the museum and simulations of neuron migration [25]. In this paper we extend our previous work [12] in which various shepherd locomotions and shepherd behaviors were described for a single shepherd. The locomotion of a shepherd is the motion that it has to take in order to control the flock. Several shepherding behaviors, including herding, covering, patrolling and collecting, can be generated based on these common locomotions. Our study in [12] shows that, even for a single shepherd, it can control the flock s motion better by intelligently positioning itself. However, as the results of our experiments in [12] show, when the size of the flock gets large or if the flock s behavior makes it difficult to influence, a single shepherd cannot adequately control the flock. Multiple shepherds can be used to gain better control of more difficult flocks. In fact, it is normal to see in agriculture several shepherd dogs herd a flock. For example, in Figure 1, three shepherd dogs attempt to control a herd of cattle. In such behaviors, the shepherds need to work cooperatively to steer flock members. We study how multiple agents can work cooperatively to effectively control another group of agents that react based on the repulsive forces exerted by the shepherds. A requirement of our simulation is that each shepherd is independent of the other shepherds. There is no communication between shepherds in order to satisfy the model 1

we are working under. To our knowledge, this is the first work that studies shepherding behaviors with multiple shepherds and flocks of large size. The key contributions of this work include: 1. Developing strategies for multiple shepherds to herd. 2. Demonstrating that multiple shepherds can control the flock s motion better. We begin our discussion by reviewing related work in Section 2 and define terms used in this paper in Section 3. We show different ways a group of shepherds can form behind the agents for better control in Section 4. In Section 5, we discuss ways the shepherds can steer, turn and stop the flock cooperatively. Another important aspect of shepherding with more than one shepherd and a large size or difficult group is merging separated flock members which will be described in Section 6. We present experiments studying how effectively one or more shepherds are able to herd various sizes of flocks with varying separation tendencies. 2 Related Work Reynolds influential flocking simulation [18] established the feasibility of modeling such a system. His work showed that flocking is a dramatic example of emergent behavior global behavior arising from the interaction of simple local rules. Each individual member of the flock has a simple rule set stating how it should move with its neighbors. This concept has been used successfully by researchers both in computer graphics [3, 6, 9, 22] and robotics [11, 14, 19, 24]. Shepherding is an interesting flocking behavior that has received comparatively little attention. Schultz et al. [19] applied a genetic algorithm to learn rules for a shepherd robot to control the movement of other robots (sheep). The sheep react to the shepherd by moving away from it. Vaughan et al. [24] simulate and construct a robot that shepherds a flock of geese in a simple (circular) environment. Funge et al. [9] have simulated an interesting shepherding behavior in which a T-Rex chases raptors out of its territory. Potter et al. [16] studied the herding behavior using three shepherds and a single sheep in a simple environment. None of the above mentioned methods are able to combine shepherding with navigation in the presence of obstacles. Recently, Bayazit et al. [5] use a roadmap to integrate global navigation and shepherding in environments with obstacles. However, without considering the influence of the shepherd s motion on the flock, the flock is often disturbed and separated into several groups and becomes hard to control. In [12], we propose several strategies by which a shepherd can position itself more intelligently so that the flock will tend to stay together more. Based on these improved locomotions, we are able to simulate several interesting behaviors, including herding, covering, patrolling and collecting. Research in multiple robot systems considers how robots can cooperate to accomplish a task. The survey from Parker [15] provides an overview of these systems. Shepherding with multiple robots is one such system. From the perspective of multiple robot cooperation, the task of shepherding requires inherent cooperation [15], which means the success of a robot in the team depends on the actions of other robots. Unlike non-inherent tasks, such as covering, inherent tasks, such as shepherding, cannot be decomposed into sub-tasks that can be solved independently and therefore are generally more difficult. Shepherding behaviors with multiple robots can also be viewed as a type of manipulation task. Several researchers have attempted to use multiple robots to manipulate or move passive objects cooperatively such as pushing a box [26] and kicking a ball [21]. A passive object will move only if external forces are applied to it. On the other hand, shepherding behaviors attempt to manipulate the motion of active objects, which have the ability to change their own movement even without external forces and, thus, are usually more difficult to control. To our knowledge, there are no methods proposed to cooperatively manipulate multiple active objects using multiple robots. Multiple robots often form a formation, such as a line, a column, or a V shape [4], to accomplish a given task. In this paper, shepherds also organize themselves into a formation during flock steering. 3 Preliminaries In this section, we define terms and concepts used in this paper. It is important to note that we use shepherding as a broad term to describe any flocking behavior in which outside agents influence the movement of a flock, i.e., 2

roadmap milestone obstacles shepherds steering points flock steering points Figure 2: An environment and associated terms. There are four shepherds and a flock. (a) (b) Figure 3: Steering using (a) a straight line (b) a side-to-side motion. our definition of shepherding behaviors is not limited to herding behaviors as those in [19, 24, 5]. A shepherd is an external agent that influences the movement of the flock. A flock is a collection of agents that move coordinately [18] and attempt to keep away from the shepherd. The shepherd s task is to steer the flock to desired locations. In addition to steering, the shepherd unites separated flock groups. In a group, each member can see at least one member in that group. Usually, flock separation is caused by repulsive forces exerted from obstacles or shepherds. A milestone is any position toward which the shepherd attempts to steer the flock, and a steering point is any position to which the shepherd moves himself in order to influence the movement of the flock; see Figure 2. As in [5], a milestone is a usually a node of a roadmap close to the flock and a steering point is a point on the opposite side of the flock from the milestone. A roadmap is an abstract representation of the connectivity of the feasible space in a given environment. A shepherd can use a roadmap to extract a collision-free path. A dynamic roadmap is a roadmap storing information that changes dynamically during simulation [5]. Shepherd s Locomotion. We define a shepherd s locomotion as the manner in which the shepherd will move in order to control the movement of a flock [12]. Generally, the shepherd s locomotion remains invariant in different shepherding behaviors and dramatically affects the quality of simulation. We divide the shepherd s locomotion into two sub-problems: approaching and steering. In the approaching problem, we study how the shepherd moves to the steering point near the flock from its current position. In the steering problem, we study how the shepherd steers the flock toward the milestone. Various shepherd locomotions were defined in [12] for a single shepherd to have better control over a flock. As described in [12], a shepherd can steer the flock by side-to-side steering or by moving on a straight-line behind the flock; see Figure 3. When approaching the flock, the shepherd can approach a steering point directly on a straight-line path, by avoiding a safe zone around the flock, or by a dynamically created local map in which the shepherd tries to stay at points that least influence the flock until the shepherd is at the steering point; see Figure 4. We will use similar locomotions when trying to influence the flock with multiple robots. 3

dynamic roadmap (a) (b) (c) Figure 4: Approaching using (a) a straight line (b) a safe zone (c) a dynamic roadmap 4 Approaching and Formation Approaching is a locomotion that shepherds take to move themselves through the environment to reach their steering points near the flock so that they can control that flock group. To accomplish approaching, the shepherds must answer the following three questions. 1. Where should the steering points be? 2. Which shepherd should go to which steering point? 3. How should a shepherd go to its assigned steering point? We place the steering points in a way such that the shepherds will form a formation behind the flock when they reach the steering points. We study two formations, line and arc, in Section 4.1. Once the positions of the formation have been determined, each shepherd needs to decide which position in the formation it will take. In Section 4.2, we discuss three shepherd/steering point matching methods, a simple intuitive method, a greedy distance based method and an optimal distance based method. Note that all three methods use only distance information and communication is not required between shepherds. After a shepherd decides on its steering point, it must move itself to that point in order to influence the flock motion. To do so, the shepherd can perform one of the three approaching locomotions studied in [12] (also shown in Figure 4). 4.1 Shepherd formations We have identified two simple flock formations, a line formation and an arc formation. The positions along the formation define the steering points for the shepherds. Line Formation. A line formation places steering points on a straight line segment behind the flock. This line is perpendicular to the line between the flock center and the current milestone. A line formation is useful in distributing the amount of force that is applied at any one point along the flock while pushing the flock toward the milestone. An example of such a formation is shown in Figure 5(a). Arc Formation. An arc formation is a semi-circular arc behind the flock, centered at the flock center and facing the current milestone. The radius of the formation is obtained from the radius of the flock s minimum enclosing circle plus some (user defined) epsilon. The arc formation helps in pushing the flock toward the milestone while at the same time keeping the flock compact. See Figure 5(b). Note that the steering point formation is independent from the problems of steering point assignment and the shepherd approaching locomotion, i.e., the formation does not affect how a shepherd chooses its steering point and how it moves toward it. In fact, for the problem of merging separate flock groups, discussed in Section 6, as we place steering points around different groups (which can be considered as another formation ), we can still use the same steering point assignment method and the shepherd approaching locomotion discussed in the following sections. 4.2 Matching shepherds with steering points Once the shepherd has determined the possible (formation of) steering points, it needs to choose which steering point it will use. These steering points must be chosen by each shepherd independently, i.e., without communication between shepherds. All the methods described in this section assign steering points to shepherds using only the distance between the shepherds and the steering points. 4

(a) (b) Figure 5: Steering points (and shepherds) form (a) a straight line (b) a arc behind the flock. Let S = {s i } and P = {p j }, 0 i, j N s 1, be two sets of points indicating the positions of the shepherds and the steering points, respectively, where N s is the number of shepherds in the workspace. We denote dist(s i, p j ) as the distance between the shepherd s i and the steering point p j. Vector Projection. In this method, a shepherd picks its steering point by counting the number of shepherds on its left (or right) hand side. If there are k shepherds on the left (or right), then the shepherd will go to the k-th steering points from the left (or right). See Figure 6. To determine this ordering, all steering points are projected onto the line perpendicular to the line through the center of the flock and the milestone. The positions of the shepherds are projected onto the same line and then the number of other shepherds on each side of the shepherd is computed. Let S and P be ordered lists both sorted along this line from left to right. Then, this method will assign p j to s i if and only if i = j. This strategy is intuitive and fast. It intuitively reflects how a human may select an unoccupied seat. Moreover, it takes only O(N s ) time for each shepherd. However, due to the dynamics of the system, the line that the shepherds are projected to is constantly changing. This sometimes causes shepherds to change their steering points and disturb the flock, especially during flock merging. Figure 6: The shepherd under consideration has two shepherds on its left, and it chooses the third steering point from left. Greedy Distance Minimization. In this method, a shepherd will go to its closest available steering point. A steering point p P is called available for a shepherd s i S if s i is closer to p than all unassigned shepherd s j S. Note that no shepherds are assigned to steering points initially. To determine the closest steering point, a shepherd constructs a graph G that represents all possible shepherd/steeringpoint assignments. This means that the nodes of G are positions of shepherds and steering points, the edges of G are assignments and the weight of an edge is the distance between its incident end points. Using this graph G, Algorithm 1 computes the assignments. Algorithm 1 iteratively searches for and reports the shortest edge e i,j in the graph G as an assignment and removes edges incident to the end points of e i,j. This process ends when all edges in G are removed. Figure 7(a) shows an assignment using this strategy. This assignment strategy mimics the commonly known selfish behavior in the flocking system, i.e., a shepherd 5

Algorithm 1 Greedy Distance Minimization(S,P ) Input. Positions S = {s i} of the shepherds and positions P = {p j} of the steering points. Output. A list of the assignment {s i, p j}. 1: Construct a graph G = (V, E) whose nodes V = S P and edge E = {e ij} = {s i, p j} is a set of all possible assignments. 2: Sort E in ascending order. 3: while E is not empty do 4: Let e i,j be the first element of E. 5: Report that p j is assigned to s i and remove all edges incident to s i and p j in G. 6: end while greedily picks the closest steering point without considering how this action will affect others. This method is more stable than the vector projection method since a shepherd will not change its target position if it is already on a target position. However, some shepherds will travel longer than necessary. This method takes O(N s 2 log N s ) time for a shepherd to decide which steering point it will go to. Note that because the vertices of G are points on a plane, this problem can be solved more efficiently in O(N s log N s ) time [23] by using a more specialized geometric query data structure such as a range tree [17]. (a) (b) Figure 7: (a) Greedy distance minimization. (b) Global distance minimization. Global Distance Minimization. Ideally, one would minimize the traveling distance of all shepherds. Fortunately, the previously mentioned graph G can be used for this purpose. More precisely, the graph G can be viewed as a bipartite graph and we can solve this global distance minimization problem by converting it to the weighted minimum-bipartite-matching problem [7]. A bipartite graph has vertices that can be partitioned into two sets such that its edges only connect vertices from different sets, i.e., there are no edges between vertices in the same set. In our example, one set of vertices is S, the positions of the shepherds, and another set is P, the steering points, and edges are assignments between shepherds and steering points. Figure 7(b) shows an assignment using this strategy. The weighted minimum-bipartite-matching problem can be solved in O(V E) time [7] for a graph with V vertices and E edges. In our distance minimization problem, V = N s and E = N 2 s, therefore, it takes O(N 3 s ) time for each shepherd to compute the assignment. As with the previous case, an optimized implementation is possible using a range tree [17] that solves the problem in O(Ns 1.5 log N s ) time [23]. 5 Steering, Turning and Stopping the Flock After approaching the flock, shepherds will move themselves to steer the flock toward the goal. A shepherd steering a flock can take many actions on that group in order to influence the direction of the flock group. As described in [12], a flock group may need to be steered, turned or stopped depending on the heading direction of the flock group. Let v f be the mean heading direction of the flock and let v m be the direction pointing from the flock s center to the milestone. If the angle (denoted as fm ) between v f and v m is smaller than a predefined value (denoted as t ), then the shepherd will steer the flock straight ahead. If t fm < 90, the shepherds will attempt to 6

turn the flock to change its heading direction. If fm 90, the shepherds will completely stop the flock and then change flock s heading direction. In the following, we discuss how the shepherds handle these cases. Steering the Flock Straight Ahead. The shepherd s locomotion previously described to steer a group were by straight-line or side-to-side steering behind the flock. If a shepherd is working with other shepherds to steer a certain flock group then straight-line steering (Figure 3(a)) is used as this type of steering (in formation) applies force evenly among the flock group. When a shepherd is the only agent pushing a flock group the shepherd will switch to using side-to-side steering (Figure 3(b)) to more uniformly influence the flock. This type of steering was shown in [12] to perform better than straight-line steering for a single shepherd. By moving from side-to-side behind the flock, the shepherd can apply force at different points along the flock contour. Turning the Flock. When turning and stopping a flock in coordination with other shepherds, the shepherds arrange themselves in a formation. When turning a flock, the shepherd formation for steering that flock is offset in the opposite direction of the turn to apply force in the direction of the turn. This can be seen as rotating the formation steering points around the flock center for a given group by an angle that will push the flock toward the next milestone. Stopping the Flock. Because the turning movement of the shepherds is sometimes not strong enough (e.g., due to a large flock) or the turn along the path is too sharp, the shepherds are not always able to completely turn the flock. To turn the flock completely, the shepherds will need to stop the flock. When stopping a flock, the shepherds should make a formation in the opposite direction of the flock s heading direction. The steering points behind the flock should be mirrored around the heading direction of the flock. 6 Merging Separated Flock Members During the process of steering, flock members may separate into multiple groups of one or more flock members. It is the shepherd s task to merge them back to minimize the number of separated flock groups as this makes it easier for the shepherds to control the flock. In the case of a single shepherd, the shepherd will always go to the separated group(s) and steer them back to the main group. When working together, the shepherds also need to ensure that the flock stays united as much as possible. To ease the discussion of how we handle the flock separation, we define three possible flock states. Let N g be the number of flock groups and N s be the number of shepherds. Then, the states are: 1. One Group: N g = 1. 2. More Shepherds than Groups: N g > 1 and N g N s. 3. More Groups than Shepherds: N g > 1 and N g > N s. During each state the shepherds may have to change their locomotion in order to better control the flock group. In States 2 and 3, the task of the shepherds is to work cooperatively to change the flock into State 1. In this section, we discuss how the shepherd should react to flock groups in States 2 and 3. A shepherd will consider the following questions during the merging process. 1. How to define the flock separation? 2. How to distribute the steering points (and shepherds) among the separate groups? 3. Where should the shepherds steer the separate groups to? In the following, we discuss our answers to these questions for different states. Again, our method does not require the shepherds to communicate to accomplish these tasks. 6.1 Flock separation We consider two flock members as separated if they cannot see each other. Similarly, two groups are separated if no member in one group can see any member of the other group. This definition has been used in [5, 12]. Unfortunately, by this definition alone, the shepherds are often not able to keep the flock compact, especially for the large flock. Figure 9(a) shows an example of scattered flock members in one group. To cope with this problem, we define a compact area for each group. The compact area of a group is the smallest circle centered at the group center that can enclose all group members. For a group with N f flock members in 7

(State 2) (State 3) Figure 8: (State 2) More shepherds than groups. (State 3) More groups than shepherds. which each individual member can be enclosed in a radius R f circle, we define the radius of the compact area R c for this group as the minimum radius of the circle enclosing all N f smaller (radius R f ) circles. This is an inverse version of the packing circles in a circle problem [10] which tries to find the maximum radius of K equal-sized smaller circles that can be packed into a unit circle. This problem is known to be extremely difficult and so far the best available method is a statistical approach of Specht [20]. Since we do not have to compute the exact value of R c, we approximate it by considering a bounding square of N f flock members and then the compact area will be the minimum circle enclosing the square. Then, we define R c as: R c = R f 2N f (1) Thus, all members outside the compact area are also considered as separated from members inside the compact area even if they can see each other. Figure 9(b) shows the separate groups using the compact areas. (a) (b) Figure 9: (a) A flock group with scattered members. The smaller circles indicate range of view for the flock members. (b) Determine separated flock members using the compact area (shaded area). 6.2 Distributing shepherds The shepherds will have to distribute themselves around the separate flock groups. When the flock is in State 2, i.e., N g < N s, there is guaranteed to be at least one shepherd for each flock group. The number of shepherds for each group depends on the number of flock members in that group, i.e., the i-th group with n i members will have at least N s n i N all shepherds, where N all = N g 1 0 n i is the total number of flock members. The steering points of each group will be arranged in a formation as described in Section 4.1. Once all steering points from all groups are decided, the shepherds will pick their own steering points using one of the three assignment methods in Section 4.2 and then will approach the separated flock members. 8

When the flock is in State 3, i.e., N g > N s, there are more groups than shepherds. Thus, not all groups can have a shepherds assigned to them. In this case, shepherds need to decide which groups require immediate attention and which can be postponed. We use the distance between each group and its milestone as the criterion, i.e., shepherds will distribute themselves to merge the groups that are farther away. Figure 8 illustrates the positions of the shepherds in these two situations. 6.3 Steering direction Once the shepherds are at the steering points, they need to decide whether they should steer all groups to a common point or if they should stop a group to await for other groups to arrive. Note that we do not want shepherds to push the flock to the goal in individual groups. The steering process will resume only after the flock returns to State 1. Whether a group should be steered to a common point or if it should be stopped depends on the existence of a dominant group. A dominant group is a group with more than half of the total flock members. If there is a dominant group, that dominant group will be stopped and shepherds will steer smaller groups to it, e.g., the larger group in Figure 8 (State 2) is a dominant group. On the other hand, when no dominant group exists, all shepherd will push the groups toward a common point which in our case is the closest milestone, e.g., State 3 in Figure 8. 7 Implementation and Experiments Our simulation system is implemented in Python scripts that use a home made simulation engine coded in C++ which is exposed to Python using boost/python library. Shepherding behaviors are composed of several locomotions, e.g. approaching, steering and merging. These locomotions are implemented to adhere to the criteria of composable behaviors [13] which allows users to integrate different simpler behaviors, e.g., the shepherd locomotions, into more complex behaviors, e.g., shepherd herding, and also enables users to create their own behaviors more easily. Due to the difficulty of presenting these simulations in a paper, we encourage readers to view animations at our website [2]. 7.1 Experiments The purpose of these experiments is to estimate the performance of the proposed strategies for herding tasks of different levels of difficulty. The performance of the shepherds in our system is measured as the reciprocal of the time required to herd all members to the goal. Herding is a behavior in which a shepherd needs to move all flock members from a start region to a goal region. Herding is the most studied shepherding behavior [19, 24, 5, 12]. However, even for herding, little work has been done to enhance the shepherd s ability to control the flock. In our experiments, we compare the time to accomplish a herding task for flocks with different sizes and with different levels of separation tendency. We use two environments in the following experiments, one with no obstacles (empty environment) and one with obstacles (farm environment); see Figure 10. 7.2 Results Shepherd Performance v.s. Flock Size. In this experiment, we study the performance of the shepherds with different numbers of the flock members. The purpose of this experiment is to show that it is useful to have more shepherds to herd a flock with a large number of members. Figure 11 shows the results from both environments. We study the flocks with 10, 20, and 40 members that are herded by 1 to 5 shepherds. After 2,000 time steps, the shepherds fail the task if the flock is not home. A flock with more members is considered to be more difficult to steer than a flock with fewer members. From Figure 11, one can clearly see that more shepherds consistently perform better when the number of flock members increases. Note that a single shepherd failed to herd 10 flock members in the farm environment but 4 shepherds successfully herded 40 flock members in the same environment. Hence, each individual shepherd can herd better in cooperation than it can herd individually (without cooperation). 9

Figure 10: The farm environment. 2000 1500 Environment without Obstacles 1 shepherd 2 shepherds 3 shepherds 4 shepherds 5 shepherds 2000 1500 1 shepherd 2 shepherds 3 shepherds 4 shepherds 5 shepherds Farm Environment Time Steps 1000 Time Steps 1000 500 500 0 10 20 40 Number of Flock Members 0 10 20 40 Number of Flock Members Figure 11: Results for flocks with different sizes in the (a) empty and in the (b) farm environments. Each time step is 0.04 seconds. Shepherd Performance v.s. Flock Separation. In this experiment, we study the performance of shepherds with different levels of separation tendency. Flocks, such as sheep, with lower separation tendencies will stay together when the shepherds approach. In contrast, flocks, such as ducks or cattle, with higher separation tendencies will scatter if the shepherds approach and are therefore harder to control than flocks with lower separation tendencies. As shown in [12], a single shepherd, even using the best locomotions, has difficulty in controlling the motion of a flock with high separation tendency. Figure 12 shows our results from both environments. We study the flocks with small ( 1), medium ( 5), and large ( 10) levels of separation tendency. All flocks have 40 members and are herded by 1 to 5 shepherds. A high level of separation means increased steering difficulty. After 2,000 time steps, the shepherds fail the task if the flock is not home. As expected, Figure 12 shows that multiple shepherds can herd more efficiently than a single shepherd in both environments. 10

2000 1500 Environment without Obstacles 1 shepherd 2 shepherds 3 shepherds 4 shepherds 5 shepherds 2000 1500 Farm Environment 1 shepherd 2 shepherds 3 shepherds 4 shepherds 5 shepherds Time Steps 1000 Time Steps 1000 500 500 0 Small (x1) Medium (x5) Large (x10) Separation Tendency 0 Small (x1) Medium (x5) Large (x10) Separation Tendency Figure 12: Results for flocks with different separation tendencies in the (a) empty and the (b) farm environments. All flocks have 40 members. Each time step is 0.04 seconds. 8 Conclusion In this paper, we have shown that a large flock or a flock composed of members that are more difficult to control can be herded more efficiently using multiple shepherds than with a single shepherd. We proposed several strategies for multiple shepherds to accomplish this task, namely approaching, steering, turning, and merging, cooperatively without communication between the shepherds. Our experiments in Section 7 show that the herding behavior using these multiple shepherd locomotions is superior to the behavior with a single shepherd. We are currently investigating how these locomotions, such as the side-to-side steering in Figure 3 or the formation and shepherd/steering point distribution in Section 4.2, might be learned automatically. Although methods based on genetic algorithms [19] and neural networks [16] have been proposed for learning the control methods for herding behaviors, they only consider flocks with one member and a few ( 3) shepherds, and hence cannot be applied to the scenarios we are studying. References [1] Endangered Wildlife Trust. EWT airport safety project. 2002. http://www.ewt.org.za/. [2] http://parasol.tamu.edu/groups/amatogroup/research/shepherding/. [3] M. Anderson, E. McDaniel, and S. Chenney. Constrained animation of flocks. In Proceedings of the 2003 ACM SIG- GRAPH/Eurographics Symposium on Computer Animation, pages 286 297. Eurographics Association, 2003. [4] T. Balch and R. Arkin. Behavior-based formation control for multirobot teams. IEEE Trans. Robot. Automat., 14(6):926 939, 1998. [5] O. B. Bayazit, J.-M. Lien, and N. Amato. Better group behaviors using rule-based roadmaps. In Proceedings of the Workshop on Algorithmic Foundations of Robotics (WAFR 02), 2002. [6] D. C. Brogan and J. K. Hodgins. Group behaviors for systems with significant dynamics. In Autonomous Robots, pages 137 153, 1997. [7] J. Edmonds. Maximum matching and a polyhedron with (0,1) vertices. J. Res. National Bureau of Standards,??:125 130, 1965. [8] M. F. Fingas. The basics of oil spill cleanup. Lewis Publishers, 2nd edition, 2001. [9] J. Funge, X. Tu, and D. Terzopoulos. Cognitive modeling: Knowledge, reasoning and planning for interlligent characters. In Computer Graphics, pages 29 38, 1999. [10] R. Graham, B. Luboachevsky, K. Nurmela, and P. Ostergard. Dense packings of congruent circles in a circle. Discrete Mat., 181:139 154, 1998. [11] T.-Y. Li and H.-C. Chou. Motion planning for a crowd of robots. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2003. [12] J.-M. Lien, O. B. Bayazit, R.-T. Sowell, S. Rodriguez, and N. M. Amato. Shepherding behaviors. In Proc. IEEE Int. Conf. Robot. Autom. (ICRA), pages 4159 4164, April 2004. [13] A. Masciotra, J.-M. Lien, S. Rodriguez, and N. Amato. Composable group behaviors. Technical Report TR04-002, Parasol Lab, Dept. of Computer Science, Texas A&M University, Aug 2004. 11

[14] S. Nishimura and T. Ikegami. Emergence of collective strategies in prey-predator game model. Artif. Life, 3:243 260, 1997. [15] L. E. Parker. Current research in multi-robot systems. Journal of Artificial Life and Robotics, 7, 2003. [16] M. A. Potter, L. Meeden, and A. C. Schultz. Heterogeneity in the coevolved behaviors of mobile robots: The emergence of specialists. In IJCAI, pages 1337 1343, 2001. [17] F. P. Preparata and M. I. Shamos. Computational Geometry: An Introduction. Springer-Verlag, New York, NY, 1985. [18] C. W. Reynolds. Flocks, herds, and schools: A distributed behaviroal model. In Computer Graphics, pages 25 34, 1987. [19] A. C. Schultz, J. J. Grefenstette, and W. Adams. Robo-shepherd: Learning complex robotic behaviors. In Proceedings of the International Symposium on Robotics and Automation, pages 763 768, May 1996. [20] E. Specht. The best known packing of equal circles in the unit circle. http://hydra.nat.uni-magdeburg.de/packing/cci/. [21] P. Stone and M. Veloso. A layered approach to learning client behaviors in the RoboCup soccer server. Applied Artificial Intelligence, 12:165 188, 1998. [22] X. Tu and D. Terzopoulos. Artificial fishes: Physics, locomotion, perception, behavior. In Computer Graphics, pages 24 29, 1994. [23] K. Varadarajan. A divide and conquer algorithm for min-cost perfect matching in the plane. In Proc. 39th Annu. IEEE Sympos. Found. Comput. Sci., pages 320 329, 1998. [24] R. T. Vaughan, N. Sumpter, J. Henderson, A. Frost, and S. Cameron. Experiments in automatic flock control. J. Robot. and Autonom. Sys., 31:109 117, 2000. [25] W. Wu, K. Wong, J.-H. Chen, Z.-H. Jiang, S. Dupuis, J. Wu, and Y. Rao. Directional guidance of neuronal migration in the olfactory system by the concentration gradient of the secreted protein slit. Nature, 400:331 336, 1999. [26] A. Yamashita, T. Arai, and H. J. O. Asama. Motion planning of multiple mobile robots for cooperative manipulation and transportation. IEEE Trans. Robot. Automat., 19(2):223 237, 2003. 12