Composable Group Behaviors

Similar documents
Cooperative Control and Mobile Sensor Networks

A Simple Approach to the Multi-Predator Multi-Prey Pursuit Domain

Bees and Flowers. Unit 1: Qualitative and Graphical Approaches

Energy Diagrams --- Attraction

Situation. The XPS project. PSO publication pattern. Problem. Aims. Areas

GPS RELAY RACE BACKGROUND: Gina Oles ICE5 GPS LAB Individual Project Summer, 2009

RADLEY COLLEGE Entrance Scholarships SCIENCE AND TECHNOLOGY. March Write the answers to each section on a separate sheet of paper.

Agent-Based Modeling in ArcGIS. Kevin M. Johnston

Structure Learning of a Behavior Network for Context Dependent Adaptability

PSSA, Grade 8 Science

Self-Organization Hypothesis. Lecture 18

3 Types of Interactions

Section Review. Change Over Time UNDERSTANDING CONCEPTS. of evolution? share ancestors? CRITICAL THINKING

Competitive Co-evolution

UCI MATH CIRCLE: POPULATION DYNAMICS

Agent-Based Modeling in ArcGIS

Pursuit Problems: Generalizations and Numerical Simulations

Natural Selection in Action

Food Chains. energy: what is needed to do work or cause change

A Game Theory Based Predation Behavior Model

Teacher Content Brief

A GUI FOR EVOLVE ZAMS

READY WRIGLEY PREPARES FOR HURRICANES

3 Natural Selection in Action

Science Grade 4. Unit 1 Healthy Habitats

Flower Power!! Background knowledge material and dissection directions.

Open-ended Evolution in Flocking Behaviour Simulation

A Simulation Study on the Form of Fish Schooling for Escape from Predator

Goldenrod Galls and the Scientific Method

6. Which of the following is not a basic need of all animals a. food b. friends c. water d. protection from predators

An Experiment in Rule-based Crowd Behavior for Intelligent Games

Lesson Least Squares Regression Line as Line of Best Fit

Fossils ACTIVITY I: FOSSILIZATION. Activity 1 is for K 2 nd. Activities I and II are for 3 rd 5 th

Towards Synthesizing Artificial Neural Networks that Exhibit Cooperative Intelligent Behavior: Some Open Issues in Artificial Life Michael G.

Can You do Maths in a Crowd? Chris Budd

What is wrong with deer on Haida Gwaii?

Gravity and Orbits. 1. Choose the picture you think shows the gravity forces on the Earth and the Sun.

Gravity and Orbits Activity Page 1. Name: Grade: Gravity and Orbits. Pre-lab. 1. In the picture below, draw how you think Earth moves.

Maintaining Communication Between an Explorer and a Base Station

Introduction. Spatial Multi-Agent Systems. The Need for a Theory

Lesson Central Limit Theorem for Sample Means

Lecture 2: Individual-based Modelling

SECTION - Specialists A - CHEMISTRY in Science and Maths Education

May 11, Aims: Agenda

Lesson Overview 4.2 Niches and Community Interactions

Interactions of Living Things

Principles of Ecology

Cub Scout and Webelos Nova Award Down and Dirty

Fundamentals of Mathematics I

Dynamic Complex Cretaceous Era Ecosystem Simulation TJHSST Senior Research Project Proposal Computer Systems Lab

Time-varying Algorithm for Swarm Robotics

SEA LIFE Sydney Aquarium. Penguin Expedition Self-Guided Resource Kit. Secondary 7-10

Applet Exercise 1: Introduction to the Virtual Lab and Wave Fundamentals

INSTRUCTIONS TO TEACHERS. Bee Life Grade 2 Science and Technology Unit

Synchronization and Swarming: Clocks and Flocks

Listening. The Air. Did you know? Did you know?

SocViz: Visualization of Facebook Data

Undergraduate Curricula for the 21 st Century at the Pennsylvania State University

The Reasons for Seasons By Gail Gibbons

Activity 5 Changes Ahoof?

Animals and Behaviors. Templeton Biology

On prey grouping and predator confusion in artifical fish schools

A Journey Back in Time

Introduction to Digital Evolution Handout Answers

Ball of yarn Laminated photographs or drawings of ecosystem parts (see later pages)

Properties of Matter

Figure 1. Distance depends upon time.

Teaching the Mystery of Tides and the Moon Dr. David H Bradstreet Distributed by Spitz, Inc

Biology I Item Sampler (Updated April 2011)

The Community Maps Project Craig Roland! The University of Florida! January 2002!

5 th Grade Ecosystems Mini Assessment Name # Date. Name # Date

NAME: EXPLORATION GUIDE. CTScienceCenter.org. 250 Columbus Blvd. Hartford, CT 06103

Appearances Can Be Deceiving!

Multi-Robotic Systems

Student Content Brief Advanced Level

Sun Safe Activity Pack

Vanishing Species 5.1. Before You Read. Read to Learn. Biological Diversity. Section. What do biodiversity studies tell us?

Lab #6: Predator Prey Interactions

B2: NATURAL SELECTION (PART 1)

Predator-swarm interactions

Joseph Priestly ECOSYSTEMS. Part

Multi-Pursuer Single-Evader Differential Games with Limited Observations*

EVOLVING PREDATOR CONTROL PROGRAMS FOR A HEXAPOD ROBOT PURSUING A PREY

Magnets and Potential Energy

Student Exploration: Food Chain

A Simulation of the Process of Evolution Modified from Biology Labs On-Line (Pearson)

Dynamics. What You Will Learn. Introduction. Relating Position, Velocity, Acceleration and Time. Examples

14.1. KEY CONCEPT Every organism has a habitat and a niche. 38 Reinforcement Unit 5 Resource Book

Sample Final Exam SPH4U0

Unit 8: Ecology: Ecosystems and Communities

Interactions of Living Things

The Chemistry of Respiration and Photosynthesis

Please be sure to save a copy of this activity to your computer!

Recent Advances in Consensus of Multi-Agent Systems

TUNKHANNOCK AREA SCHOOL DISTRICT SCIENCE CURRIULUM GRADE 2

Pollination Lab Bio 220 Ecology and Evolution Fall, 2016

Discovery Quest 2-3. Chaperone Guide

How Do Organisms Interact?

Gray Whale Migration and Feeding Introduction to Geographic Information System Use in Marine Biology

Chapter Niches and Community Interactions

Transcription:

Composable Group Behaviors Perpetual Amoah Undergraduate S. Researcher Sam Rodriguez Graduate Student Mentor Jyh-Ming Lien Graduate Student Mentor John Maffei Graduate Student Mentor Nancy M. Amato Faculty Mentor pamoah@yahoo.com, {sor8786,neilien,jmaffei,amato}@cs.tamu.edu Technical Report Parasol Lab. Department of Computer Science Texas A&M University Aug 8, 200 1

Abstract The aggregate motion of a flock of birds, a school of fish, or a herd of animals like sheep, cattle and others is a beautiful and familiar part of the natural world. This type of complex motion is difficult to replicate in computer animation. For many years, researchers have focused their efforts on creating complex behaviors. Generating these complex and realistic group behaviors has been a challenging and time-consuming endeavor. This paper focuses on methods of accomplishing this task. Our goal is to investigate methods to facilitate the generation of complex group behaviors for applications such as games, virtual reality, robotics and biological or ecological simulation. Our general approach is to provide a framework that automatically combines simple composable behaviors into more complex ones. Our strategy is to compose a set of simple and basic user defined behaviors into unlimited sets of complicated and more interesting behaviors. In addition we will demonstrate the concept of composable group behaviors using behavior simulation of both predators and prey. We have developed several basic ways for predators to hunt for prey, and for prey to run away from the predators. The result of this research is an easy to use, adaptive and flexible framework for simulating group behaviors. Keywords: composable behaviors, group behaviors, state, pursuit, evasion. 1 Introduction For many years, researchers have focused on formulating complex behaviors. Generating these complex and realistic group behaviors has been a challenging and time-consuming endeavor. In this research, we investigated techniques for simplifying the process of generating realistic and complex group behaviors. The main goal is to simulate complex behaviors from many basic behaviors for applications such as games, virtual reality, robotics and biological or ecological simulation. We worked on different ways for prey to avoid a predator and for predators to hunt. The flock of prey will have more intelligent ways to avoid predators, rather than just running away. A flock being preyed upon can also hide from its predator by running towards it flock mates. They can remember the position of a predator and will try to avoid this position. The predators have basic behavior of pursuing prey. Based on these simple behaviors, our system is able to compose and generate much more complex group behavior strategies. User System state 1, action1, utility 1 state 2, action2, utility 2... state N, action N, utility N Behavior 1 Behavior 2... Behavior K Utility Function Environment roadmap stored co evolve by sharing learned information Agent roadmap other type of agents Figure 1: System overview. This is an ongoing research Perpetual Amoah participated in during her internship program in summer 200 at the Parasol Lab at Texas A&M University, College Station, TEXAS. Supported by the Distributed Mentor Project (DMP) 2

2 Preliminaries In this section, we define terms and concepts used in this paper. Composable Group Behaviors can be thought of as the process of putting together simple basic behaviors to create complex and realistic behaviors. A flock is a collection of agents. Each of the agents in a flock can only sense a limited surrounding range, follows some basic rules, and creates control forces to change its state. In computer graphics, flocking behavior, which is generally composed of three simple rules (avoidance, alignment and coherence), is also a type of composed behavior[7]. A state of the simulation is a snapshot of all variables in the system, such as the configurations and velocities of all agents and the weights of the roadmap edges. Because each agent can sense locally, it can only obtain partial information about the current state, such as the current location of the agent itself, the location of neighboring agents and the surrounding obstacles and roadmap nodes and edges. 3 Related Work The idea of composing basic behaviors into complex behaviors is not new. Research on biology and animal behaviors has shown that the concept of basic behaviors exists ubiquitously ranging from lower level basic biomechanic motor controls [6] to high-level ethological basis behaviors. Composing simple behaviors into complex behaviors is also proposed in studies developing behavior-based robotics [1]. All this evidence indicates that combining simple behaviors is one of the most natural and general ways to generate realistic behaviors. There has been many works on composable behaviors among researchers for some time now. We will focus mainly on research done by the Parasol Lab. Arnaud Masciotra during his USRG 2004 Summer program[] did worked with Dr. Nancy Amato, and her graduate students (Sam Rodriguez and Jyh-Ming Lien). In this system, they simulated a dinosaur s pursuit and evasion game to show the power of composable group behaviors. In this simulation system, they created a dinosaur flock class and a dinosaur flock state class (dinosaur member). In early 200, Dr. Amato and her group [4] modified this system in order to improve on it. This work focuses on extending the basic behaviors that have already been implemented. For instance, a behavior like attack-inline when used in the simulation, the predator easily loses sight while following the prey. This draw back occurs because the predators follow in a line. Our new framework, which we will discuss in the next section, handles these drawbacks and many other things that make our new system very interesting and user friendly. 4 Framework As shown in Figure 1, the proposed framework consists of several main components, i.e., agents(prey, predators),user defined behaviors and utility functions. This framework is an extended version of the work done by Dr. Amato et. al. in the Parasol lab. In their previous work, they generated several interesting group behaviors, such as homing, exploring and shepherding, using adaptive roadmaps whose edges weights change dynamically during the simulation; see Figure 2. For more information on the original framework, please read our technical publication number[],[4]. This new framework focuses more on how prey and predators can move with and towards their flock mates. The main features of our framework for generating group behaviors include but not limited to the following: Users only need to provide a set of simple behaviors to the system to generate complex behaviors. Users do not need to define the relationships between each behavior, i.e., these simple behaviors can be developed independently without knowing what other behaviors are in the system. The relationships between simple behaviors, and the complex behaviors themselves, can evolve as the agents learn from their past experiences. We demonstrate the utility of our flexibility and power of our system by varying the allowable behaviors and measuring the performance of the system on multiple applications. 3

Step1 4 Step2 4 Step3 4 Figure 2: Flocking behavior using an adaptive roadmap. As the agents explore the roadmap, edge weights are updated along edges that are being traveled as seen between Steps 1 and 2 and between Steps 2 and 3. Simple Behaviors In this section, we describe simple basic behaviors and some modifications mad to the basic behaviors for my summer research work. Some of these were created to enhance other existing behaviors..1 Existing Behaviors The following are few examples of our basic behaviors. 1. Chasing Behavior Chasing behavior is one of the most basic ways to hunt. This behavior is often used in pursuit-evasion. Our implementation is similar to the natural chasing of the cat and the mouse. In this simulation, the predator runs after the prey when the prey is in his view range just as a cat will run toward a mouse when he sees it. One of our basic way for a predator to chase a prey is to go towards the position that the prey is currently at (attack-in-line). Also one of the more effective way a predator can chase a prey is for the predator to move toward the position that the predator thinks the prey is heading to (attack-prediction). With this intelligents in our simulation, the predator normally predicts his next goal position ahead of the prey. This can cause the prey to change its direction if he gets to know ontime. 2. Following Behavior This behavior is similar to pursuit. Instead of chasing a prey, it will either follow a friendly agent (which is neither its prey nor predator) or any avialable agent around its environment. This behavior can be used when a group of agents are searching or when the agents are following a leader agent. Also it can be use for gathering flock members for a group behavior (like attack-in-group). Our implementation is similar to how army of bees and flock of sheeps manuver in an evironment. In this particular behavior, there is no leadership role so a prey follows any avialable friendly agent in his view range. 3. Running Away Behavior The running away behavior is a common way to avoid a predator. This can be use when a prey is being preyed upon or when trying to escape from natural danger. We have techniques that allows the prey to recognize the position of the closest predator. We also compute the force that pushes the prey away from the predator. This force gets stronger as the predator gets closer. The direction of this force is opposite to the predator s position. Some simple modifications to this behavior such as having the agent running awayzig-zag or swerve in random directions are some possibilities we are considering. 4. Searching Behavior This behavior happens when the flock member needs more information about the environment. It can be used when looking for food, shelter or an enemy. 4

The technique for this behavior is to explore the area (environment) until a target is found.the flock member may or may not have an in-depth idea about the environment. This searching behavior can either choose to explore unvisited areas or random places in the environment[3].. Hiding Behavior The hiding behavior is a more complex behavior. The flock member needs to hide behind an obstacle. Similar to the running away behavior, this behavior allows the flock member to avoid the predator. This behavior can be used during attack between different flock members. The technique for this behavior is that the prey has the intelligents of the position of the closest predator. We find the closest obstacle from the prey and compute a good position behind this obstacle that is not visible to the predator.in order to find a good position, we sample points around obstacles (using OBPRM)[2], and check each point to see if it is a valid position, i.e., the position is not visible from the predators position. Then we choose a the point in which, predator s position and obstacle s position are the most aligned. We then compute a path for the prey to go to this position and wait []..2 New Behaviors The following are four of our new behaviors created. 1. Follow in Surrounding Behavior In this behavior, flock members attempt to move towards other friendly flock members. This behavior can be use for group hunting, searching and following other friendly flock members through the environment. This behavior was implemented to enhance the functionalities of our follow-in-line behavior. In this behavior, we compute an area where friendly flock members are positioned called follow-area in Figure 3. The distance between the group of friendly flock members and the leader is maintained while using this behavior. As shown in Figure 3, the friendly flock members are being led to a desired goal position by a leader. The friendly flock members also remain in the predefined area (follow-area) behind the leader. When the leader changes direction, the friendly flock members position themselves in order to stay in the follow-area. leader friendly flock members follow-area Figure 3: Follow-in-Surrounding behavior

2. Follow in Circle Behavior In this behavior, agents try to stay in a circular formation around a given agent. The purpose of this behavior is to allow agents to either protect a given agent or to surround an agent and prevent the agent from escaping. During the follow in circle behavior, agents try to stay at the same relative position to the agent being surrounded. The agents following in a circle keep track of the relative angle they are using to follow in a circle. As the surrounded-agent changes directions, the following agents modify their target position to correspondingly stay at the same relative angle to the surrounded flock members. As shown in Figure 4, the friendly flock members move towards the surrounded-agent in a circular formation. This causes the surrounded-agent to be either trapped or protected by the flock members surrounding it. surrounded-agent surrounded-agent change of direction friendly flock members friendly flock members Figure 4: Follow-in-Circle behavior 3. Run to Friends Behavior In this behavior, a flock member attempts to move into a position that is closer to a group of frinedly flock members. The behavior can be used by a flock member to hide from a persuer in the midst of the flock, by vulnerable (e.g., young or elderly) flock members so they can be protected by the stronger members if the flock is being attacked by predators. This behavior is implemented having the flock member that is attempting to move into the group select a goal position internal to the group. The way in which this goal position is selected will depend on the particular use. For example, if the flock is attacked by predators, the young might choose a goal that is close to their parents and towards the center of the flock. As another example, when fleeing from a pursuer, a flock member might choose to run away from the pursuer and towards the center of the flock. At each time step, the flock member will evaluate the situation and update their goal as necessary, e.g., move away from another predator if it has been identified as the most serious current threat. An example of this behavior is shown in Figure. In this case, there is one Pursuer (P ), one flock member trying to evade that pursuer (E), and one flock group. If the basic evasion behavior is used, then E would follow the trajectory shown and run past the flock. However, if the move into group behavior is used, then E would move toward the group. In the figure, and in our current implementation, the goal is selected as the center of the flock (i.e., the average of the positions of the flock members). 4. Attack in Group Behavior Attack-in-group behavior is a common technique that allows a group of predator flock members to attack a single agent. This behavior is used during group hunting. Attack-in-group behavior was designed to enhance our attack-in-line behavior. In the attack-in-line behavior, predator s select the nearest prey flock member to attack which could cause each predator to be chasing different prey. This creates a possibility that none of the predators are successful in catching a prey. 6

predator P prey E Run to Friend X center Basic Evasion Direction friendly flock members Figure : Run-to-Friends behavior During this behavior, predator flock members attempt to hunt for a single prey. The initial center of all of the predator flock members is first computed. The prey flock member nearest the computed predator center is the prey that will be attacked in a group. Each predator respectively, will move toward the selected prey, increasing the posibility of catching the prey. The example in Figure 6 shows one of the various ways for predators to attack a prey in groups. The steps of implementation stated above relays that as the prey changes directions, the predators also update their direction. prey predators Figure 6: Attack-in-Group behavior 6 Discussion and Conclusion In this work, we propose a framework to simplify the process of creating natural and complex group behaviors. We have shown that composable group behaviors are an easy way to formulate complex behaviors. Our composable group behaviors manage to have many similar group members with same states but with different behaviors. Users can employ this framework to compose a set of simple behaviors without worrying about what the other behaviors will be in the system and in what environment the agents will operate. In addition, we have proved that the result of this research is an easy to use, adaptive and flexible framework for simulating group behaviors. Our future works include but are not limited to the following: creating interactive simulations for museum educational purposes and generating sophisticated but interesting group behaviors, and perhaps designing our own game engine. 7

7 Acknowledgements This research was done through the sponsorship of the Distributed Mentor Project (DMP) program during the summer 200 year at Texas A&M University, College Station, TEXAS. For more information about my research work, and me visit http://parasol.tamu.edu/people/pamoah References [1] R. Arkin. Motor schema based navigation for a mobile robot: An approach to programming by behavior. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA). [2] O. B. Bayazit, J.-M. Lien, and N. M. Amato. Better flocking behaviors using rule-based roadmaps. In Proc. Int. Workshop on Algorithmic Foundations of Robotics (WAFR), pages 9 111, Dec 2002. [3] J.-M. Lien, S. Rodriguez, J.-P. Malric, and N. Amato. Shepherding behaviors with multiple shepherds. In Proc. IEEE Int. Conf. Robot. Autom. (ICRA), pages 3413 3418, April 200. [4] J.-M. Lien, S. Rodriguez, X. Tang, A. Masciotra, and N. Amato. Composable group behaviors. Technical Report TR0-003, Parasol Lab, Dept. of Computer Science, Texas A&M University, Aug 200. [] A. Masciotra, J.-M. Lien, S. Rodriguez, and N. Amato. Composable group behaviors. Technical Report TR04-00, Parasol Lab, Dept. of Computer Science, Texas A&M University, Aug 2004. [6] F. Mussa-Ivaldi and S. Giszter. Vector field approximation: a computational paradigm for motor control and learning. Biol Cybern., 67(6):491 00, 1992. [7] C. W. Reynolds. Flocks, herds, and schools: A distributed behaviroal model. In Computer Graphics, pages 2 34, 1987. 8