Fly with Me: Algorithms and Methods for Influencing a Flock Katie - - PowerPoint PPT Presentation

fly with me algorithms and methods for influencing a flock
SMART_READER_LITE
LIVE PREVIEW

Fly with Me: Algorithms and Methods for Influencing a Flock Katie - - PowerPoint PPT Presentation

Fly with Me: Algorithms and Methods for Influencing a Flock Katie Genter The University of Texas at Austin katie@cs.utexas.edu June 22, 2017 1 Katie Genter Algorithms and Methods for Influencing a Flock Bird Strikes in Aviation $3 billion


slide-1
SLIDE 1

1

Fly with Me: Algorithms and Methods for Influencing a Flock

Katie Genter

The University of Texas at Austin katie@cs.utexas.edu

June 22, 2017

Katie Genter Algorithms and Methods for Influencing a Flock

slide-2
SLIDE 2

2

Bird Strikes in Aviation

$3 billion per year (PreciseFlight)

Katie Genter Algorithms and Methods for Influencing a Flock

slide-3
SLIDE 3

3

Common Bird Strike Reduction Methods

Katie Genter Algorithms and Methods for Influencing a Flock

slide-4
SLIDE 4

4

Common Bird Strike Reduction Methods

Katie Genter Algorithms and Methods for Influencing a Flock

slide-5
SLIDE 5

5

Common Bird Strike Reduction Methods

Katie Genter Algorithms and Methods for Influencing a Flock

slide-6
SLIDE 6

6

Clear Flight Solutions Robird

◮ Modeled after a peregrine

falcon

◮ Will be first bird drone to

  • perate on a daily basis for

commercial operations at an airport

◮ 13 week trial at Edmonton

begins July 1

◮ Remote controlled by a

trained pilot

Katie Genter Algorithms and Methods for Influencing a Flock

slide-7
SLIDE 7

7

Motivating Example

Katie Genter Algorithms and Methods for Influencing a Flock

slide-8
SLIDE 8

8

Motivating Example

Katie Genter Algorithms and Methods for Influencing a Flock

slide-9
SLIDE 9

9

Thesis Question

Thesis Question: How can influencing agents be utilized in various types of flocks in order to influence these flocks towards a particular behav- ior?

Katie Genter Algorithms and Methods for Influencing a Flock

slide-10
SLIDE 10

10

Background

◮ Artificial intelligence ◮ Multi-agent systems ◮ Teamwork ◮ Ad hoc teamwork ◮ Swarm behavior ◮ Flocking

Katie Genter Algorithms and Methods for Influencing a Flock

slide-11
SLIDE 11

11

Multi-agent Teamwork

◮ All agents have the same

goal

◮ Usually considers how to

design teams of agents

Katie Genter Algorithms and Methods for Influencing a Flock

slide-12
SLIDE 12

12

Ad Hoc Teamwork

◮ Only in control of a single agent or

subset of agents

◮ Shared goals ◮ No pre-coordination ◮ Limited or no communication

Scientific question: How to design an agent to productively join a pre- existing team while requiring no pre- coordination?

Katie Genter Algorithms and Methods for Influencing a Flock

slide-13
SLIDE 13

13

Flocking

◮ Emergent swarm behavior ◮ Simple local behaviors &

interactions

◮ Group

behavior appears well organized and stable

Katie Genter Algorithms and Methods for Influencing a Flock

slide-14
SLIDE 14

14

Thesis Question

Thesis Question: How can influencing agents be utilized in various types of flocks in order to influence these flocks towards a particular behav- ior?

Katie Genter Algorithms and Methods for Influencing a Flock

slide-15
SLIDE 15

15

Relation to Existing Approaches

◮ Simulating flock behavior Reynolds 1987 and Vicsek et al. 1995 ◮ My work: Influence the flock using influencing agents ◮ Influence the flock to converge eventually Jadbabaie et al. 2003, Su et al.

2009, and Celikkanat and Sahin 2010

◮ My work: Influence the flock to converge quickly ◮ Influencing agent moves much quicker than the flock Han et al.

2006

◮ My work: Influencing agents move no quicker than the

flock

◮ Influence a flock via heterogenous herders Lien et al. 2004, Lien et al.

2005, Pierson and Schwager 2015

◮ My work: Influence the flock from within

Katie Genter Algorithms and Methods for Influencing a Flock

slide-16
SLIDE 16

16 Katie Genter Algorithms and Methods for Influencing a Flock

slide-17
SLIDE 17

17 Katie Genter Algorithms and Methods for Influencing a Flock

slide-18
SLIDE 18

18 Katie Genter Algorithms and Methods for Influencing a Flock

slide-19
SLIDE 19

19 Katie Genter Algorithms and Methods for Influencing a Flock

slide-20
SLIDE 20

20

Problem Definition

◮ Define the problem of adding influencing agents to a flock

as new scenario for studying ad hoc teamwork

◮ Introduce assumptions and parameters

Katie Genter Algorithms and Methods for Influencing a Flock

slide-21
SLIDE 21

21

Problem Definition

All agents have:

◮ Constant velocity ◮ 2D Position ◮ Global orientation time 0 time 1 time 2

Katie Genter Algorithms and Methods for Influencing a Flock

slide-22
SLIDE 22

22

Problem Definition - Neighborhood Model

Each agent reacts only to agents within a certain neighborhood around itself.

◮ Characterized by a

visibility radius for most of this dissertation

Flocking Agent Flocking Agent Agent Influencing Agent

Katie Genter Algorithms and Methods for Influencing a Flock

slide-23
SLIDE 23

23

Problem Definition - Influence Model

An agent’s orientation at the next time step is set to be the average global orientation of all agents currently within its neighborhood.

Katie Genter Algorithms and Methods for Influencing a Flock

slide-24
SLIDE 24

24

MASON Simulator

◮ Multi-agent simulation

library core

◮ Flockers domain

  • S. Luke, C. Cioffi-Revilla, L. Panait, K. Sullivan, and G.
  • Balan. MASON: A multi-agent simulation environment. In

Simulation: Transactions of the Society for Modeling and Simulation International, 2005. Katie Genter Algorithms and Methods for Influencing a Flock

slide-25
SLIDE 25

25 Katie Genter Algorithms and Methods for Influencing a Flock

slide-26
SLIDE 26

26

Leading a Stationary Flock

◮ Set bounds on the extent of influence the influencing

agents can have when both the influencing agents and flocking agents are stationary

◮ Contributed an algorithm for orienting a stationary flock to

a desired orientation using stationary or non-stationary influencing agents

◮ Introduced behaviors for influencing agents that are

  • utside of any flocking agent’s neighborhood
  • K. Genter, N. Agmon, and P

. Stone. Ad hoc teamwork for leading a flock. In AAMAS’13, May 2013. Katie Genter Algorithms and Methods for Influencing a Flock

slide-27
SLIDE 27

27 Katie Genter Algorithms and Methods for Influencing a Flock

slide-28
SLIDE 28

28

Influencing a Flock

◮ Contributed algorithms that can be used to influence a

flock to orient towards a desired orientation

◮ Experimentally considered how to maneuver the flock

through turns quickly but with minimal agents being separated

  • K. Genter and P

. Stone. Influencing a flock via ad hoc teamwork. In Ninth International Conference on Swarm Intelligence (ANTS’14), September 2014.

  • K. Genter and P

. Stone. Ad hoc teamwork behaviors for influencing a flock. Acta Polytechnica, 2016. Katie Genter Algorithms and Methods for Influencing a Flock

slide-29
SLIDE 29

29

1-Step Lookahead Behavior

◮ For a set number of discrete orientations the influencing

agent could adopt, how will each neighbor be influenced?

◮ Must estimate how other neighbors of each neighbor

will influence the neighbor

◮ Choose orientation that results in the least average

difference between the goal orientation and each neighbor’s new orientation after one time step

Katie Genter Algorithms and Methods for Influencing a Flock

slide-30
SLIDE 30

30 Katie Genter Algorithms and Methods for Influencing a Flock

slide-31
SLIDE 31

31

Placing Influencing Agents into a Flock

◮ The position of influencing agents within the flock affects

their influence

◮ Contribute various approaches for placing influencing

agents directly into a flock

◮ Evaluate on various flock sizes and compositions

  • K. Genter, S. Zhang, and P

. Stone. Determining placements of robots in a flock. In AAMAS’15, May 2015.

  • K. Genter and P

. Stone. Adding influencing agents to a flock. In AAMAS’16, May 2016. Katie Genter Algorithms and Methods for Influencing a Flock

slide-32
SLIDE 32

32

Placing Influencing Agents into a Flock

Assumptions:

◮ Flock begins in set area ◮ Non-toroidal ◮ Flock may or may not be

cohesive

◮ The flock will interact with

each other according to the assumed model

Katie Genter Algorithms and Methods for Influencing a Flock

slide-33
SLIDE 33

33

Determining Desired Positions

◮ Constant-time placement methods ◮ Graph placement method ◮ Hybrid placement methods ◮ Two-Step placement method ◮ Clustering placement methods

Katie Genter Algorithms and Methods for Influencing a Flock

slide-34
SLIDE 34

34

Determining Desired Positions - Constant-time Methods

◮ Constant-time placement methods ◮ Random Placement ◮ Grid Placement ◮ Border Approach ◮ Graph placement method ◮ Hybrid placement methods ◮ Two-Step placement method ◮ Clustering placement methods

Katie Genter Algorithms and Methods for Influencing a Flock

slide-35
SLIDE 35

35

Determining Desired Positions - Constant Time Methods

◮ Random Placement ◮ Randomly place influencing agents within the

dimensions of the flock

◮ Grid Placement ◮ Border Approach

Katie Genter Algorithms and Methods for Influencing a Flock

slide-36
SLIDE 36

36

Grid Placement Method

Place influencing agents at predefined gridded positions throughout flock

Katie Genter Algorithms and Methods for Influencing a Flock

slide-37
SLIDE 37

37

Border Approach Method

Place influencing agents around the space covered by the flocking agents

Katie Genter Algorithms and Methods for Influencing a Flock

slide-38
SLIDE 38

38

Experimental Results - Constant-time Placement

k=2 m=10 k=4 m=10 k=6 m=10 k=8 m=10 k=10 m=10 1 2 3 4 5 6 Avg Num Flocking Agents Lost

Random Grid Border

100 trials, error bars = standard error of the mean.

Katie Genter Algorithms and Methods for Influencing a Flock

slide-39
SLIDE 39

39

Experimental Results - Constant-time Placement

k=2 m=10 k=4 m=10 k=6 m=10 k=8 m=10 k=10 m=10 1 2 3 4 5 6 Avg Num Flocking Agents Lost

Random Grid Border

100 trials, error bars = standard error of the mean.

Katie Genter Algorithms and Methods for Influencing a Flock

slide-40
SLIDE 40

40

Determining Desired Positions - Graph Method

◮ Constant-time placement methods ◮ Graph placement method ◮ Hybrid placement methods ◮ Two-Step placement method ◮ Clustering placement methods

Katie Genter Algorithms and Methods for Influencing a Flock

slide-41
SLIDE 41

41

Graph Placement Method

Consider sets of positions in which the influencing agents could be placed. Evaluate how well these sets connect the flocking agents with the influencing agents.

Katie Genter Algorithms and Methods for Influencing a Flock

slide-42
SLIDE 42

42

Graph Placement Method - Steps (1)

◮ Consider potential influencing

agents positions

◮ Mid-points between flocking

agents

◮ Only for flocking agents

within 2 neighborhood radii

◮ Near flocking agents

Katie Genter Algorithms and Methods for Influencing a Flock

slide-43
SLIDE 43

43

Graph Placement Method - Steps (2)

◮ Evaluate each set of influencing agent

positions:

◮ minimize flocking agents not

connected to an influencing agent

◮ maximize connections between

flocking agents and influencing agents

Katie Genter Algorithms and Methods for Influencing a Flock

slide-44
SLIDE 44

44

Graph Placement Method - Steps (2)

◮ Evaluate each set of influencing agent

positions

◮ minimize flocking agents not

connected to an influencing agent

◮ maximize connections between

flocking agents and influencing agents

Katie Genter Algorithms and Methods for Influencing a Flock

slide-45
SLIDE 45

45

Experimental Results - Graph Placement

k=2 m=10 k=4 m=10 k=6 m=10 k=8 m=10 k=10 m=10 1 2 3 4 5 6 Avg Num Flocking Agents Lost

Random Grid Border Graph

Figure : 100 trials, error bars = standard error of the mean

Katie Genter Algorithms and Methods for Influencing a Flock

slide-46
SLIDE 46

46

Determining Desired Positions - Hybrid Methods

◮ Constant-time placement methods ◮ Graph placement method ◮ Hybrid placement methods ◮ Two-Step placement method ◮ Clustering placement methods

Katie Genter Algorithms and Methods for Influencing a Flock

slide-47
SLIDE 47

47

Hybrid Placement Method

Use the Graph placement method to choose the first kg influencing agent placements. Then select the remaining k − kg placements using an constant time placement method.

Katie Genter Algorithms and Methods for Influencing a Flock

slide-48
SLIDE 48

48

Experimental Results - Hybrid (Grid/Graph) Placement Method

k=2 m=10 k=4 m=10 k=6 m=10 k=8 m=10 1 2 3 4 5 6 Avg Num Flocking Agents Lost

Grid Grid/Graph (2 Graph) Grid/Graph (4 Graph) Graph

Figure : 100 trials, error bars = standard error of the mean

Katie Genter Algorithms and Methods for Influencing a Flock

slide-49
SLIDE 49

49

Determining Desired Positions - Two-Step Method

◮ Constant-time placement methods ◮ Graph placement method ◮ Hybrid placement methods ◮ Two-Step placement method ◮ Clustering placement methods

Katie Genter Algorithms and Methods for Influencing a Flock

slide-50
SLIDE 50

50

Two-Step Placement Method

◮ Constant-time methods for

defining a set S of possible positions

◮ Grid Set ◮ Border Set ◮ Methods for selecting k

influencing agent positions from S

◮ Random ◮ OneNeighbor ◮ MaxNeighbors ◮ MinUninfluenced

Katie Genter Algorithms and Methods for Influencing a Flock

slide-51
SLIDE 51

51

Determining Desired Positions - Clustering Methods

◮ Constant-time placement methods ◮ Graph placement method ◮ Hybrid placement methods ◮ Two-Step placement method ◮ Clustering placement methods

Katie Genter Algorithms and Methods for Influencing a Flock

slide-52
SLIDE 52

52

Clustering Placement Methods

Well-recognized clustering methods to identify k clusters of flocking agent positions

Figure : Farthest First Figure : K-Means

Katie Genter Algorithms and Methods for Influencing a Flock

slide-53
SLIDE 53

53

Clustering Placement: Farthest First

◮ Randomly choose a

flocking agent and place the first influencing agent

◮ Then, on each subsequent

placement, place an influencing agent at the flocking agent farthest from all previously placed influencing agents

Katie Genter Algorithms and Methods for Influencing a Flock

slide-54
SLIDE 54

54

Clustering Placement: K-Means

◮ Choose k flocking agents

as cluster centers

◮ Until convergence: ◮ Assign all flocking

agents to nearest cluster center

◮ Calculate centroid for

each cluster, centroid becomes a new cluster center

Katie Genter Algorithms and Methods for Influencing a Flock

slide-55
SLIDE 55

55

Experimental Results - Clustering Placement

k=2 m=10 k=4 m=10 k=6 m=10 k=8 m=10 k=10 m=10 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 Avg Num Flocking Agents Lost

Farthest First K-Means Graph Figure : 100 trials, error bars = standard error of the mean.

Katie Genter Algorithms and Methods for Influencing a Flock

slide-56
SLIDE 56

56

Placing Influencing Agents into a Flock - Summary

◮ The position of influencing agents within the flock affects

their influence

◮ Contributed various approaches for placing influencing

agents directly into a flock

◮ Evaluated on various flock sizes and compositions

Katie Genter Algorithms and Methods for Influencing a Flock

slide-57
SLIDE 57

57 Katie Genter Algorithms and Methods for Influencing a Flock

slide-58
SLIDE 58

58

Joining and Leaving a Flock

◮ Consider how influencing agents should join a flock in

motion with the goal of altering its orientation

◮ Why don’t placement methods work? ◮ Consider how influencing agents can leave a flock

  • K. Genter and P

. Stone. Agent behaviors for joining and leaving a flock (Extended Abstract). In AAMAS’17, May 2017. Katie Genter Algorithms and Methods for Influencing a Flock

slide-59
SLIDE 59

59

Joining and Leaving a Flock

◮ Leave a station positioned

ahead of the flock

◮ Assumptions: ◮ Influencing agents can

not travel faster than the flocking agents

◮ Flock is cohesive and

flocking in a particular direction

Katie Genter Algorithms and Methods for Influencing a Flock

slide-60
SLIDE 60

60

Approaches for Joining and Leaving a Flock

Two different scenarios:

◮ Hover: the influencing agents are able to hover with a

particular orientation at a set position

◮ Intersect: the influencing agents maintain the same

velocity as the flocking agents

Katie Genter Algorithms and Methods for Influencing a Flock

slide-61
SLIDE 61

61

Approaches for Joining a Flock

Two different scenarios:

◮ Hover: the influencing agents are able to hover with a

particular orientation at a set position

◮ Intersect: the influencing agents maintain the same

velocity as the flocking agents

Katie Genter Algorithms and Methods for Influencing a Flock

slide-62
SLIDE 62

62

Intersect Approach

◮ Target formation ◮ Calculate the desired time to join the flock and begin

influencing

◮ All influencing agents join together ◮ Constant velocity

Katie Genter Algorithms and Methods for Influencing a Flock

slide-63
SLIDE 63

63

Intersect: Target Formations

(a) Push to Goal Line (b) Forward Line (c) Push to Goal Funnel (d) Forward Funnel (e) L Corral

Katie Genter Algorithms and Methods for Influencing a Flock

slide-64
SLIDE 64

64

Approaches for Leaving a Flock

Three different scenarios:

◮ Hover: all of the influencing agents hover in place facing

the desired orientation of the flock

◮ Nearest Edge: leave the flock at the nearest edge ◮ Influence while Leaving: trade-off between influencing and

leaving

Katie Genter Algorithms and Methods for Influencing a Flock

slide-65
SLIDE 65

65

Nearest Edge Approach for Leaving

◮ Influencing agents know approximate position in flock ◮ When time to leave, orient towards the nearest edge ◮ Nearest 3-edge: don’t leave towards the flock’s

desired orientation

◮ Nearest 2-edge: don’t leave towards the airport or the

flock’s desired orientation

Katie Genter Algorithms and Methods for Influencing a Flock

slide-66
SLIDE 66

66

Influence while Leaving Approach for Leaving

◮ Alternate between influencing and leaving ◮ If no neighbors, leave ◮ Else if the neighbors aren’t aligned to the goal or the

influencing agent has left the flock for too long, influence

◮ Else, leave

Katie Genter Algorithms and Methods for Influencing a Flock

slide-67
SLIDE 67

67

Sample Results

k=2 m=10 k=4 m=10 k=6 m=10 k=8 m=10 k=10 m=10 1 2 3 4 5 Num Intersect Airport

Push to Goal Line Forward Line Push to Goal Funnel Forward Funnel L Corral k=2 m=10 k=4 m=10 k=6 m=10 k=8 m=10 k=10 m=10 0.0 0.2 0.4 0.6 0.8 1.0 Avg Angular Difference from Goal

Intersect for joining and influence while leaving for leaving. 100 trials, error bars = standard error of the mean.

Katie Genter Algorithms and Methods for Influencing a Flock

slide-68
SLIDE 68

68

Joining and Leaving a Flock - Summary

◮ Considered how influencing agents should join a flock in

motion with the goal of altering its orientation

◮ Considered how influencing agents can leave a flock

Katie Genter Algorithms and Methods for Influencing a Flock

slide-69
SLIDE 69

69 Katie Genter Algorithms and Methods for Influencing a Flock

slide-70
SLIDE 70

70

Evaluation on Different Flocking Models

◮ How well do the methods generalize to other flocking

models?

◮ Alternate neighborhood models ◮ Full Reynolds flocking algorithm ◮ Do the influencing agents need to know the true model?

Katie Genter Algorithms and Methods for Influencing a Flock

slide-71
SLIDE 71

71

Different Neighborhood Models

◮ Considered alternate neighborhood models: ◮ Visibility Sector ◮ N-Nearest Neighbors ◮ Weighted Influence ◮ The 1-Step lookahead algorithm generalized to different

neighborhood models

◮ It is not critical that the influencing agents know the true

neighborhood model

Katie Genter Algorithms and Methods for Influencing a Flock

slide-72
SLIDE 72

72

Different Influence Models

◮ Considered three aspects of Reynolds flocking algorithm: ◮ Alignment: towards average heading of neighbors ◮ Separation: away from neighbors to avoid collisions ◮ Cohesion: towards the average position of neighbors ◮ Best for influencing agents to believe the flocking agents

are behaving according to the Alignment influence model

Katie Genter Algorithms and Methods for Influencing a Flock

slide-73
SLIDE 73

73

Evaluation on Different Flocking Models - Summary

◮ The methods generalize well to other (similar) flocking

models

◮ Alternate neighborhood models ◮ Full Reynolds flocking algorithm ◮ Knowing the true model utilized by the flocking agents is

not critical

Katie Genter Algorithms and Methods for Influencing a Flock

slide-74
SLIDE 74

74 Katie Genter Algorithms and Methods for Influencing a Flock

slide-75
SLIDE 75

75

Robot Implementation

How can influencing agents influence a flock of bipedal robots to avoid a particular area?

Katie Genter Algorithms and Methods for Influencing a Flock

slide-76
SLIDE 76

76

Robot Implementation - Summary

◮ The 1-Step lookahead algorithm can be utilized to

influence a flock of bipedal robots with small alterations

◮ Only consider influencing agent orientations that can

be reached in one time step

Katie Genter Algorithms and Methods for Influencing a Flock

slide-77
SLIDE 77

77

Thesis Question

Thesis Question: How can influencing agents be utilized in various types of flocks in order to influence these flocks towards a particular behav- ior?

Katie Genter Algorithms and Methods for Influencing a Flock

slide-78
SLIDE 78

78

Future Work

◮ Additional coordinated influencing agent behaviors ◮ Placement based on agent heading ◮ How to enter a flock ◮ Learning flocking models and how to influence ◮ Extending robot implementation to robot birds ◮ Extensions to other domains: endangered species,

validating theories of biologists

Katie Genter Algorithms and Methods for Influencing a Flock

slide-79
SLIDE 79

79

Conclusion

Thesis Question: How can influencing agents be utilized in various types of flocks in order to influence these flocks towards a particu- lar behavior?

◮ How should the influencing agents behave? ◮ Where should the influencing agents be placed? ◮ How should the influencing agents join and leave the flock? ◮ How well do the methods generalize? ◮ How well do the methods transfer from simulation to a

robot platform?

Katie Genter Algorithms and Methods for Influencing a Flock