Robot Behavior Genghis, MIT Callisto, GATech

Similar documents
Behavior Architectures

CS148 - Building Intelligent Robots Lecture 5: Autonomus Control Architectures. Instructor: Chad Jenkins (cjenkins)

How do you design an intelligent agent?

Module 1. Introduction. Version 1 CSE IIT, Kharagpur

Intelligent Agents. Philipp Koehn. 16 February 2017

Artificial Intelligence Lecture 7

Agents and Environments

Unmanned autonomous vehicles in air land and sea

Artificial Intelligence

Introduction to Artificial Intelligence 2 nd semester 2016/2017. Chapter 2: Intelligent Agents

Agent-Based Systems. Agent-Based Systems. Michael Rovatsos. Lecture 5 Reactive and Hybrid Agent Architectures 1 / 19

Learning and Adaptive Behavior, Part II

(c) KSIS Politechnika Poznanska

Part I Part 1 Robotic Paradigms and Control Architectures

Artificial Intelligence. Outline

Animal Behavior. Relevant Biological Disciplines. Inspirations => Models

Robotics Summary. Made by: Iskaj Janssen

A brief comparison between the Subsumption Architecture and Motor Schema Theory in light of Autonomous Exploration by Behavior

Artificial Intelligence. Intelligent Agents

Intelligent Agents. Instructor: Tsung-Che Chiang

LECTURE 5: REACTIVE AND HYBRID ARCHITECTURES

Intelligent Agents. Instructor: Tsung-Che Chiang

Intelligent Agents. Soleymani. Artificial Intelligence: A Modern Approach, Chapter 2

Chapter 2: Intelligent Agents

ICS 606. Intelligent Autonomous Agents 1. Intelligent Autonomous Agents ICS 606 / EE 606 Fall Reactive Architectures

COMP329 Robotics and Autonomous Systems Lecture 15: Agents and Intentions. Dr Terry R. Payne Department of Computer Science

Princess Nora University Faculty of Computer & Information Systems ARTIFICIAL INTELLIGENCE (CS 370D) Computer Science Department

What is AI? The science of making machines that:

Affective Action Selection and Behavior Arbitration for Autonomous Robots

KECERDASAN BUATAN 3. By Sirait. Hasanuddin Sirait, MT

Putting Minsky and Brooks Together. Bob Hearn MIT AI Lab

CS 771 Artificial Intelligence. Intelligent Agents

Foundations of Artificial Intelligence

Artificial Intelligence

Dr. Mustafa Jarrar. Chapter 2 Intelligent Agents. Sina Institute, University of Birzeit

Handling Partial Preferences in the Belief AHP Method: Application to Life Cycle Assessment

Lesson 6 Learning II Anders Lyhne Christensen, D6.05, INTRODUCTION TO AUTONOMOUS MOBILE ROBOTS

COMP150 Behavior-Based Robotics

An Escalation Model of Consciousness

Learning to Use Episodic Memory

An Overview on Soft Computing in Behavior Based Robotics

MOBILE & SERVICE ROBOTICS RO OBOTIC CA 01. Supervision and control

Contents. Foundations of Artificial Intelligence. Agents. Rational Agents

DYNAMICISM & ROBOTICS

Intelligent Autonomous Agents. Ralf Möller, Rainer Marrone Hamburg University of Technology

Introduction to Computational Neuroscience

EEL-5840 Elements of {Artificial} Machine Intelligence

Intelligent Agents. CmpE 540 Principles of Artificial Intelligence

Vorlesung Grundlagen der Künstlichen Intelligenz

5.8 Departure from cognitivism: dynamical systems

Intelligent Agents. BBM 405 Fundamentals of Artificial Intelligence Pinar Duygulu Hacettepe University. Slides are mostly adapted from AIMA

Web-Mining Agents Cooperating Agents for Information Retrieval

On Three Layer Architectures (Erann Gat) Matt Loper / Brown University Presented for CS296-3

Overview. What is an agent?

Introduction to Computational Neuroscience

Lecturer: Rob van der Willigen 11/9/08

1 What is an Agent? CHAPTER 2: INTELLIGENT AGENTS

Introduction and Historical Background. August 22, 2007

CS 331: Artificial Intelligence Intelligent Agents

Semiotics and Intelligent Control

Lecturer: Rob van der Willigen 11/9/08

Oscillatory Neural Network for Image Segmentation with Biased Competition for Attention

CS 331: Artificial Intelligence Intelligent Agents

Web-Mining Agents Cooperating Agents for Information Retrieval

AI: Intelligent Agents. Chapter 2

38. Behavior-Based Systems

Agents. Environments Multi-agent systems. January 18th, Agents

ENVIRONMENTAL REINFORCEMENT LEARNING: A Real-time Learning Architecture for Primitive Behavior Refinement

CS 331: Artificial Intelligence Intelligent Agents. Agent-Related Terms. Question du Jour. Rationality. General Properties of AI Systems

Vision and Action. 10/3/12 Percep,on Ac,on 1

Solutions for Chapter 2 Intelligent Agents

A Computational Framework for Concept Formation for a Situated Design Agent

Agents and Environments

Learning Classifier Systems (LCS/XCSF)

AIR FORCE INSTITUTE OF TECHNOLOGY

Boids. Overall idea. Simulate group behavior by specifying rules for individual behavior (self-organizing distributed system)

Agents and Environments. Stephen G. Ware CSCI 4525 / 5525

Learning Utility for Behavior Acquisition and Intention Inference of Other Agent


PSY380: VISION SCIENCE

Dynamic Control Models as State Abstractions

Lecture 6. Perceptual and Motor Schemas

A Decision-Theoretic Approach to Evaluating Posterior Probabilities of Mental Models

A method to define agricultural robot behaviours

A SITUATED APPROACH TO ANALOGY IN DESIGNING

How do Categories Work?

Stochastic optimal control and the human oculomotor system

Intelligent Agents. Chapter 2 ICS 171, Fall 2009

Cognitive Neuroscience History of Neural Networks in Artificial Intelligence The concept of neural network in artificial intelligence


Representing Problems (and Plans) Using Imagery

Perception Lie Paradox: Mathematically Proved Uncertainty about Humans Perception Similarity

Challenges and opportunities for humanmachine collaboration at beyond human scales

Psychology 452 Week 9: The Synthetic Approach

FUZZY LOGIC AND FUZZY SYSTEMS: RECENT DEVELOPMENTS AND FUTURE DIWCTIONS

Perceptual Anchoring with Indefinite Descriptions

Intelligent Agents. Outline. Agents. Agents and environments

Robot Learning Letter of Intent

Kevin Burns. Introduction. Foundation

Time Experiencing by Robotic Agents

Transcription:

Robot Behavior Genghis, MIT Callisto, GATech

Today s Objectives To learn what robotic behaviors are To obtain a basic understanding of the design approaches related to behavior-based robotic systems To understand the methods that can be used to express and encode these behaviors

Basis for Robotic Behavior Behavior: mapping of sensory input to motor actions Key questions: What are the right behavioral building blocks for robotic systems? What really is a primitive behavior? How are these behaviors effectively coordinated? How are these behaviors grounded to sensors and actuators? No universally agreed-upon answers Ultimate judge: appropriateness of the robotic response to a given task and environment

Example: A Tour-Guide Robot What is involved for building a tourguide robot? Learning the map Localization Path planning Navigation Avoid obstacles Interacting Etc. Minerva the tour-guide robot

Reactive/Behavior-Based Robotic Systems Provide a means for a robot to operate in an uncertain environment and unpredictable world without planning Operate by endowing the robot with behaviors that deal with specific goals independently and coordinating them in a purposeful way

Three Common Methods for Specifying and Designing Robotic Behaviors Ethologically guided/constrained design Situated activity-based design Experimentally driven design

Ethologically Guided/Constrained Design Use studies of animal behavior for inspiration/guidance

Example: Toad/Robot Navigation Motion divergence field from toad/robot studies Analogous implementation in robots of potential fields These fields define most likely direction of motion for animal/robot at each point in space

Situated Activity-Based Design Situated activity: robot s actions are predicted upon the situations in which the robot finds itself Therefore, the perception is reduced to recognizing what situation(s) the robot is in and then choosing one action (out of perhaps many) to undertake When robot finds itself in new situation, it selects more appropriate action Using this design methodology: requires solid understanding of relationship between robotic agent and its environment

Design Methodology for Situated Activity

Pros/Cons of Situations Situations can be highly artificial Situations can be arbitrarily large in number Multiple candidate actions may be in conflict no planning to project consequences of actions More expensive version of theory of situated activity: universal plans Cover entire domain of interaction But, enumeration of every possible situation is impractical and mathematically intractable

Experimentally Driven Design Created in a bottom-up manner Iterative design

Example of Experimentally Designed Robot Genghis: designed at MIT AI Lab in late 1980s by Rodney Brooks Built in a bottom-up fashion using experimentally driven design A robot that walks; emergent behaviors from a carefully evolved network, by Brooks, MIT AI Lab memo, 1989.

Incremental Design of Genghis Stand up Whiskers Simple walk Pitch stabilization Force balancing Prowling Leg lifting Steered prowling http://www.youtube.com/watch?v=buxffv9jimu http://www.youtube.com/watch?v=rkebl0-msgq

Generic Classification of Robotic Behaviors Whatever the design basis, general categories of ways that robotic agent can interact with the world are: Exploration/directional behaviors (move in a general direction) heading-based wandering Goal-oriented appetitive behaviors (taxes move towards an attractor) discrete object attractor area attractor Aversive/protective behaviors (prevent collision) avoid stationary objects elude moving objects aggression

Generic Classification of Robotic Behaviors Path following behaviors (move on a designated path) road following, hallway navigation Postural behaviors balance, stability Social/cooperative behaviors sharing, foraging, flocking/herding Perceptual behaviors visual search Walking behaviors etc. gait control

Expression of Behaviors Three methods for expressing behaviors: stimulus-response diagrams useful for graphic representations of specific behavioral configurations functional notation useful for clarity in design of systems finite state acceptor diagrams useful when temporal sequencing of behaviors is required

Stimulus-Response Diagrams Most intuitive, least formal

Navigational Example Consider students going from one room to another. What is involved? Getting to your destination from your current location Not bumping into anything along the way Skillfully negotiating your way around other students who may have the same or different intentions Observing cultural idiosyncrasies (e.g., deferring to someone of higher priority age, rank, etc.; or passing on the right (in the U.S.), ) Coping with change and doing whatever else is necessary

Example: Classroom Navigation

Functional Notation Mathematical methods used to describe relationships using a functional notation, b(s) = r, where b = behavior s = stimulus r = response In purely reactive system, time is not an argument of b, since behavioral response is instantaneous and independent of system s history

Example: Classroom Navigation

Finite State Acceptor Diagrams Have useful properties for describing aggregations and sequences of behaviors Less useful for encoding a single behavior, which results in a trivial FSA Finite state acceptor:

Example: Classroom Navigation Note: Journey consist of an assemblage of the five other low-levelbehaviors mentioned earlier (move-to-classroom, avoid-obstacles, etc.)

Example: Behaviors in Foraging High-level behaviors: Wander Acquire Deliver

Expressing Behaviors Wander Stimulus: no attractor Response: move in random direction in search of attractors Acquire Stimulus: attractor found Response: move towards and grab the attractor Deliver Stimulus: attractor grabbed Response: go back to home base and release the attractor

Sequencing of Behaviors Finite state acceptor diagram (FSA) Useful when temporal sequencing of behaviors is required

How to Program Robotic Behavior?

Behavioral Encoding Behavioral encoding: creates a functional mapping from the stimulus plane to the motor plane Can be expressed as a triple: (S, R, ß) S is the set of perceivable stimuli, whose attributes may include: type of a stimulus, e.g. obstacle, attractor strength of a stimulus (discrete/continuous) Presence of stimulus is necessary but not sufficient to evoke a motor response threshold value R is the set of motor responses, whose attributes may include: strength: magnitude of response, e.g. speed orientation: direction of response, e.g. moving towards or away ß is the mapping: ß: S R

Three Categories of Behavioral Mappings Null: stimulus produces no motor response Discrete: stimulus produces a response from an enumerable set of prescribed choices: E.g.: turn_right, go_straight, stop R consists of a bounded set of responses enumerated from the stimulus domain If-then rules Continuous: stimulus produces a response that is continuous over R s range E.g.: linearly decreasing speed when closer to target S is mapped into an infinite set of responses Mathematical function

Example Stimulus/Response Strengths Step function Linear increase

The Acquire Behavior in Foraging Khepera Robot index = -1; while (index < 0) { wander(); index = search_attractor(dist); } acquire(index); void acquire(int curr_i) { int index = curr_i; while (index!= 7 && index!= 0) { turn_towards(index); index = search_attractor(dist); } while (dist > Threshold) { move_towards(dist); index = search_attractor(dist); } } This might not be a good way of programming, why? 4 3 IR sensor turn_towards() 5 6 2 1 7 0 move_towards()

Discrete Implementation void move_towards(double dist) { if (dist > 2.0) speed = HIGH; else if (1.0 <= dist < 2.0) speed = MEDIUM; else if (0.5 <= dist < 1.0) speed = LOW; else speed = 0; move(speed); } LOW MEDIUM HIGH

Continuous Implementation void move_towards(double dist) { speed = dist 0.5; if (speed < 0) speed = 0; if (speed > MAXSPEED) speed = MAXSPEED; move(speed); } Use mathematical function to transform sensory input into behavioral reaction

Summary of Robot Behaviors Robotic behavior generates a motor response from a given perceptual stimulus Three design paradigms: Ethologically guided/constrained Situated activity Experimentally driven Expression of behaviors can be accomplished in several ways: SR diagrams Functional notation FSA diagrams Behaviors can be represented as triples (S, R, ß)

Summary of Robot Behaviors Presence of stimulus is necessary, but not sufficient, to evoke a motor response. Only when stimulus exceeds a threshold does it produce a response. Responses are encoded in two forms: Discrete encoding: rule-based methods often used Continuous functional encoding: inverse square law often used

Coordinating Multiple Behaviors

Recall our Navigation Example Issue: When having multiple behaviors, how do we combine them? How does this work?

Meaning of Emergence Emergence is the appearance of novel properties in whole systems (Moravec 1988) Global functionality emerges from the parallel interaction of local behaviors (Steels 1990) Intelligence emerges from the interaction of the components of the system (Brooks 1991) Emergent functionality arises by virtue of interaction between components not themselves designed with the particular function in mind (McFarland and Bosser 1993)

Emergent Behavior Often invoked in a mystical sense Emergent behavior: sum is considerably greater than its parts True: behavior-based outcome is often a surprise to the designer But: is the surprise due to shortcoming of the analysis of the constituent behaviors and their coordination, or something else?

Question If individual behaviors are defined functionally, why should coordinated collection produce unanticipated results? The coordination functions we will study are algorithms, and therefore possess no magical properties Can be straightforward, e.g., choosing highest ranked or most dominant behavior Can be more complex, e.g., fusion of multiple behaviors Nevertheless: they are deterministic and computable So, why can t we predict their behavior exactly?

Answer Lies in Relationship of Robot with Environment For most situations in which behavior-based paradigm is applied: The world itself resists analytical modeling Nondeterminism is rampant Real world is filled with uncertainty and dynamic properties Perception process is poorly characterized If a world model could be created that accurately captured all of its properties, then: Emergence would not exist Accurate predictions could be made But, since the world resists such characterization, we cannot predict a priori, with any degree of confidence, in all but the simplest worlds, how the world will present itself Probabilistic models can provide guidance, but no certainty

Summarizing Emergent Properties Common phenomena But, nothing mystical about them Consequence of: Complexity of the world in which the robot resides Complexity of perceiving that world Complexity of interactions of agents and the world

Notation for Combining Behaviors S denotes vector of all stimuli, s i, relevant for each behavior β i detectable at time t B denotes a vector of all active behaviors β i at a given time t G denotes a vector encoding the relative strength or gain g i of each active behavior β i R denotes a vector of all responses r i generated by the set of active behaviors

Notation for Combining Behaviors (con. t) Behavioral coordination function C is defined such that: ρ = C(G*B(S)), or ρ = C(G*R), where The result is a response reaction in the same direction as r i, with its magnitude scaled by g i ) ρ = vector encoding the global response that the robot will undertake

Revisit Classroom Navigation Example Robot current perceptions at time t: for each s i = (s i, w i ), where w i is the stimulus s i s percentage of maximum strength

Revisit Classroom Navigation Example (con. t) Then, behavioral response is: where each r i encodes an [x, y, θ] for this particular robot expressing the desired directional response for each independent behavior

Revisit Classroom Navigation Example (con. t) Remember, ρ = C(G*R), Before the coordination function C is applied, R = G*R

Defining Coordination Function C Two main strategies Competitive: E.g., pure arbitration, where only one behavior s output is selected Cooperative: Blend outputs of multiple behaviors in some way consistent with agent s overall goals E.g., vector addition Can also have combination of the above two

Competitive Methods for Defining C Provide a means of coordinating behavioral response for conflict resolution Can be viewed as winner take all Arbitration can be: Fixed prioritization Action selection Vote generation

#1: Arbitration via Fixed Prioritization

Example Fixed priorities: Behavior 2 > Behavior 1 > Behavior 3 What is the magnitude of output response when t = 20? Which behavior generates this output response?

#2: Arbitration via Action Selection Behaviors compete through use of activation levels driven by agent s goals

Example Assume the activation levels of each behavior are as shown in the following figure We still use the behavior response diagram given previously When t = 20 what is the magnitude of the output response? Which behavior generates this response?

#3: Arbitration via Voting Pre-defined set of motor responses Each behavior allocates votes to each motor response Motor response with most votes is executed

Example

Cooperative Methods for Defining C Behavioral fusion provides ability to concurrently use the output of more than one behavior at a time Central issue: finding representation amenable to fusion Common method: Vector addition using potential fields Example potential field

Behavior Fusion via Vector Summation

Summarizing Behavior Coordination Two main strategies: Competitive Fixed prioritization Action selection Voting Etc. Cooperative: Vector addition Etc. Combinations of two

Representative Reactive/Behavior-Based Architectures Reminder: what is a robotic architecture? Robotic architecture is the discipline devoted to the design of highly specific and individual robots from a collection of common software building blocks Robotic architecture describes a set of architectural components and how they interact We will study: Subsumption Motor schemas