h burkhard

Uploaded from authorPOINTLite
Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Software Architectures for Agents and Mobile Robots: 

Software Architectures for Agents and Mobile Robots Hans-Dieter Burkhard Humboldt University Berlin Institute of Informatics www.ki.informatik.hu-berlin.de

Topics of the talk: 

Topics of the talk Software Architectures for Agents and Mobile Robots AI at Humboldt University Agents & Robots Architectures Mental states Control, Planning Double Pass Architecture

Artificial Intelligence at Humboldt University: 

Artificial Intelligence at Humboldt University

Artificial Intelligence at Humboldt University: 

Artificial Intelligence at Humboldt University Case Based Reasoning Knowledge Management Agent Oriented Techniques Distributed AI Socionics Applications in Medicine Intelligent Robotics www.ki.informatik.hu-berlin.de English version

Example: Online Travel Agency : 

Example: Online Travel Agency

Travel Agent: How does it work: 

“Stimulus-Response” Travel Agent: How does it work Customer: Agent: Specify wish (fill in form) Prepare answer (select and present best matching offers)

Travel Agent: How does it work: 

“Stimulus-Response” Agent needs: Knowledge about offers (data base) similarity (acceptable alternative offers) Capabilities to Update offers Interaction with customer Search of best matching offers (  Case Retrieval Nets) Travel Agent: How does it work

Travel Agent: How does it work: 

Travel Agent: How does it work CRN = CASE RETRIEVAL NET

Travel Agent: How could it work: 

Advisory agent Travel Agent: How could it work Customer Agent I would like to go for holidays.

Travel Agent: How could it work: 

Advisory agent Travel Agent: How could it work Customer Agent I would like to go for holidays. Fine. Do you like swimming?

Travel Agent: How could it work: 

Advisory agent Travel Agent: How could it work Customer Agent Yes, I like to be with my friend on a white strand, no other tourists. And I enjoy sports. Fine. Do you like swimming?

Travel Agent: How could it work: 

Advisory agent Travel Agent: How could it work Customer Agent Yes, I like to be with my friend on a white strand, no other tourists. And I enjoy sports. Wonderful. And in the evening?

Travel Agent: How could it work: 

Advisory agent Travel Agent: How could it work Customer Agent Good entertainment, exclusive bars, etc. Wonderful. And in the evening?

Travel Agent: How could it work: 

Advisory agent Travel Agent: How could it work Customer Agent Good entertainment, exclusive bars, etc. Sounds fantastic, is this like what you want? (presents an offer)

Travel Agent: How could it work: 

Advisory agent Travel Agent: How could it work Customer Agent Looks fantastic. But it is far behind of my financial limits, may be less exclusive. Sounds fantastic, is this like what you want? (presents an offer)

Travel Agent: How could it work: 

Advisory agent Travel Agent: How could it work Customer Agent Looks fantastic. But it is far behind of my financial limits, may be less exclusive. So, let´s see. What´s about that? (presents another offer)

Travel Agent: How could it work: 

Advisory Agent needs: Needs of “Stimulus Response” Agent (offers, capabilities, ...) as before Travel Agent: How could it work Dialog

Travel Agent: How could it work: 

Advisory Agent needs: “Dynamic” knowledge about dialog with customer History of dialog (Hypothetical) Model of current customer Wishes, intentions Capabilities Beliefs (Flexible) Plan for Discovering customer´s wishes, intentions, ... Selling most valuable products Travel Agent: How could it work

Agent Oriented Techniques: 

Agent Oriented Techniques Information agents Autonomous systems Cooperative systems Socionics: humans + autonomous machines Cooperation Sociological requirements Organizational aspects “Agents work autonomously on behalf of their users.” Autonomy: Following „own“ rules (example: chess program) Autonomy w.r.t. somebody Complexity of decisions

Control of Autonomous Mobile Robots: 

Control of Autonomous Mobile Robots Problem: Dynamically changing environments “Autonomous agents in real environments” Problems: Localization, Movements, Control

Classical distinction of agents (robots): 

Classical distinction of agents (robots) Reactive: Simple stimulus response behavior No planning No persistent states Deliberative Complicated deliberation Planning Persistent states

Sense-Think-Act-Cycle, Persistency: 

Sense-Think-Act-Cycle, Persistency Environment

Reactive Systems: 

Reactive Systems Obstacle avoidance by keeping distance Chess program ( ? - not “simple”) Sensor-Actor-Coupling

Deliberative Systems: 

Deliberative Systems With 3 persistent states for worldmodel, goals, plans

Travel agent: 

Travel agent Agent Worldmodel: Discriminating customer update select Goal: Sell pricey means-ends Plan: Show attractive offers etc. execute output

Unfolding the cycle: 

Unfolding the cycle

Synchronization Problem: 

Synchronization Problem update Simple Synchronization select means-ends update Problems for dynamical environments complex processes select means-ends Conflict

Question: 

Question ROBOT = AGENT INSIDE A BODY ?

Simple architectures for physical agents: 

Simple architectures for physical agents Stimulus-Response Immediate reactions to inputs from the real world. „The best model of the world is the world itself.“ Braitenberg Vehicle No need for a complex agent inside the robot

Soccer Playing Robots: 

Soccer Playing Robots By the year 2050, develop a team of fully autonomous humanoid robots that can win against the human world soccer champion team. ENIAC 1946 Deep Blue 1997 Test field for Goal driven research

Annual World Championships and Conferences: 

Annual World Championships and Conferences Simulation Rescue Sony legged Middle size Small size Humanoid www.robocup.org

Simple Stimulus-Response Behavior: 

Simple Stimulus-Response Behavior Run to the ball

Simple Stimulus-Response Behavior: 

Simple Stimulus-Response Behavior Run to the ball

Simple Stimulus-Response Behavior: 

Simple Stimulus-Response Behavior Run to the ball

Simple Stimulus-Response Behavior: 

Simple Stimulus-Response Behavior Run to the ball LOOP worldmodel := perceive (input); commitment := deliberate (worldmodel); output := execute(commitment); select sense execute think Agent A: xxx B: yyy C: zzz Sensor-Actor-Coupling

Why are they acting: Triggering events: 

Why are they acting: Triggering events Stimulus-Response recent events in the environment Goal-directed recent events in the environment internal goals

Goal-directed Behavior: 

Goal-directed Behavior Improvement: Anticipate future situations: Goal x

Goal-directed Behavior: 

Goal-directed Behavior Improvement: Anticipate future situations: Goal x

Goal-directed Behavior: 

Goal-directed Behavior Improvement: Anticipate future situations: Goal

Mental States: 

Mental States Concerning past: Worldmodel Concerning future: Commitment (goal, intention, plan, ...) Mental states are persistent states: Keep information for more than one cycle

Stimulus-Response with Worldmodel: 

Stimulus-Response with Worldmodel Simulate unobservable events: worldmodel

Stimulus-Response with Worldmodel: 

Stimulus-Response with Worldmodel Simulate unobservable events: worldmodel

Stimulus-Response with Worldmodel: 

Stimulus-Response with Worldmodel Simulate unobservable events: worldmodel LOOP worldmodel_new := update (input, worldmodel_old); commitment := deliberate (worldmodel); output := execute(commitment);

Worldmodel: 

Worldmodel persistent state concerning the past: Worldmodel (Belief) worldmodel_new := update (input, worldmodel_old); Preprocessing of input from sensory signals

Plan for Cooperation: 

Plan for Cooperation Cooperation using joint intention (double pass) Remark: Simulation of recent situation (world model ) needs knowledge about teammate´s intention

Plan for Cooperation: 

Plan for Cooperation Cooperation using joint intention (double pass) Remark: Simulation of recent situation (world model ) needs knowledge about teammate´s intention

Plan for Cooperation: 

Plan for Cooperation Cooperation using joint intention (double pass) Remark: Simulation of recent situation (world model ) needs knowledge about teammate´s intention

Plan for Cooperation: 

Plan for Cooperation Cooperation using joint intention (double pass) Remark: Simulation of recent situation (world model ) needs knowledge about teammate´s intention

Plan for Cooperation: 

Plan for Cooperation Cooperation using joint intention (double pass) Remark: Simulation of recent situation (world model ) needs knowledge about teammate´s intention

Plan for Cooperation: 

Plan for Cooperation Cooperation using joint intention (double pass) Remark: Simulation of recent situation (world model ) needs knowledge about teammate´s intention

Commitments: Goal-Directed Architecture: 

Commitments: Goal-Directed Architecture Difference to Stimulus Response: Persistent state concerning the future (commitment: goal, plan ...) LOOP worldmodel_new := update (input, worldmodel_old); commitment_new := deliberate (worldmodel_new,commitment_old); output := execute (commitment_new); Commitment_old new alternatives Commitment_new + =

AT Humboldt 98 (Simulation league): 

AT Humboldt 98 (Simulation league) worldmodel intentions plans utilities

Utility: 

Utility Time to reach the ball (simulation of future)

Utility: 

Fastest player to reach the ball (simulation of future) Utility

Utility: 

Utility Appropriate kick direction (simulation of future)

Problems: Time Trade-Off: 

Problems: Time Trade-Off Fast decision newest data rough criteria Complex deliberation detailed analysis, long term plans synchronization problem select Agent worldmodel goal means-ends plan think Sensor-Actor-Coupling

Problems: Time Trade-Off: 

Problems: Time Trade-Off Fast decision vs. Complex deliberation  Architectures with different levels (layers) Need for balance between low level (Stimulus-Response) high level (Goal-directed)

Option Hierarchy: 

Option Hierarchy

Choice-Option (“OR-Branching”): 

Choice-Option (“OR-Branching”) State (Place) Current State (marked Place) condition Transition with condition finished or canceled finished or canceled Offensive Score DoublePass/2 DoublePass/1 ... MaxUtility MaxUtility MaxUtility ... ball out of kickrange

Sequence-Option (“AND-Branching”): 

Sequence-Option (“AND-Branching”) Pass finished Teammate free Dribble Pass Intercept Run Teammate finished Pass Reposition Teammate passes State (Place) Current State (marked Place) condition Transition with condition

Extension for “unexpected” situation: 

Extension for “unexpected” situation finished or canceled finished or canceled Offensive Score DoublePass/2 DoublePass/1 ... MaxUtility MaxUtility MaxUtility ... ball out of kickrange ball control & goal free Additional transitions (with simple conditions) problem with team mate

Problems: Stability Trade-Off: 

Problems: Stability Trade-Off Stabile behavior + achieve goals + reliability in cooperation  fanatism Adaptation to new situation + flexibility  oscillation  re-planning + = commitment_old new alternatives commitment_new ? ?

Oscillation (Noisy Sensory Data): 

Oscillation (Noisy Sensory Data)

Adaptation (Changing Plan): 

Adaptation (Changing Plan)

Adaptation (Changing Plan): 

Adaptation (Changing Plan)

Adaptation (Changing Plan): 

Adaptation (Changing Plan)

Adaptation (Changing Plan): 

Adaptation (Changing Plan)

Adaptation (Changing Plan): 

Adaptation (Changing Plan)

Problems: Stability Trade-Off: 

Problems: Stability Trade-Off Stabile behavior vs. Adaptation to new situation persistent state concerning future bias for old behavior (preventing from oscillation) Need for balanced re-deliberation

Problems: Context Problem: 

Problems: Context Problem PlaySoccer Offensive Defensive . . . Score OffsideTrap Attack ChangeWings/1 DoublePass/2 DoublePass/1 ... Dribble Pass Intercept Run ... ... ... Kick . . . Reposition Example: (Opponent behaves in unexpected way) Active Behavior: inside Dribbling Invalid Condition for: Double Pass Need for re-consideration on all levels  Problem for stack oriented runtime systems

Stack oriented architectures: 

Stack oriented architectures Classical architectures are stack oriented Only the procedure on top of stack is active i.e., only low level behavior Higher level behavior can become active only when lower levels are finished/interrupted Intentions may change on any level - caused by external events

Travel agent: 

Travel agent Customer Agent Looks fantastic. But it is far behind of my financial limits, may be less exclusive. Intentions may change on any level - caused by external events Ooops – no chance to sell pricey ...

Problems: Least Commitment: 

Problems: Least Commitment Start: Partial Plan Later: Exact Parameters Needs consideration on all levels

Double Pass Architecture: 

Double Pass Architecture Predefined Option Hierarchy Choosen Part of it: Intention subtree (choosen by Deliberator) Active Part of it: Activity path (updated by Executor)

Intention Subtree (chosen by Deliberator): 

Intention Subtree (chosen by Deliberator)

Activity Path: Active Options: 

Activity Path: Active Options PlaySoccer Offensive Defensive . . . Score OffsideTrap Attack ChangeWings/1 DoublePass/2 DoublePass/1 ... Dribble Pass Intercept Run ... ... ... ... ... ... ... ... . . . ... . . . ... . . . ... Kick . . . Reposition ... ... ... ...

“Doubled One-Pass-Architecture”: 

“Doubled One-Pass-Architecture” Deliberator-Pass (“goal-oriented”) builds Intention Subtree one deliberator pass may work over several cycles Executor-Pass (“stimulus-response”) traverses and adjusts Activity Path limited search space by Intention subtree one executor pass per cycle Differences to “classical” programming Control flow by deliberation (“agent oriented”) Double Pass Runtime Organization (not by stacks)

Deliberator: Constructs Intention Subtree: 

Deliberator: Constructs Intention Subtree PlaySoccer Offensive Defensive . . . Score OffsideTrap Attack ChangeWings/1 DoublePass/2 DoublePass/1 ... Dribble Pass Intercept Run ... ... ... ... ... Kick . . . Reposition ... ... ... ... Construction may need longer time

Executor-Pass through all levels: 

Executor-Pass through all levels PlaySoccer Offensive Defensive . . . Score OffsideTrap Attack ChangeWings/1 DoublePass/2 DoublePass/1 ... Dribble Pass Intercept Run ... ... ... ... ... ... ... ... . . . ... . . . ... . . . ... Kick . . . Reposition ... ... ... ... in each cycle through all levels

Executor-Pass through all levels: 

Executor-Pass through all levels PlaySoccer Offensive Defensive . . . Score OffsideTrap Attack ChangeWings/1 DoublePass/2 DoublePass/1 ... Dribble Pass Intercept Run ... ... ... ... ... ... ... ... . . . ... . . . ... . . . ... Kick . . . Reposition ... ... ... ... in each cycle through all levels

Executor-Pass through all levels: 

Executor-Pass through all levels PlaySoccer Offensive Defensive . . . Score OffsideTrap Attack ChangeWings/1 DoublePass/2 DoublePass/1 ... Dribble Pass Intercept Run ... ... ... ... ... ... ... ... . . . ... . . . ... . . . ... Kick . . . Reposition ... ... ... ... in each cycle through all levels

Executor-Pass through all levels: 

Executor-Pass through all levels PlaySoccer Offensive Defensive . . . Score OffsideTrap Attack ChangeWings/1 DoublePass/2 DoublePass/1 ... Dribble Pass Intercept Run ... ... ... ... ... ... ... ... . . . ... . . . ... . . . ... Kick . . . Reposition ... ... ... ... in each cycle through all levels

Executor-Pass through all levels: 

Executor-Pass through all levels PlaySoccer Offensive Defensive . . . Score OffsideTrap Attack ChangeWings/1 DoublePass/2 DoublePass/1 ... Dribble Pass Intercept Run ... ... ... ... ... ... ... ... . . . ... . . . ... . . . ... Kick . . . Reposition ... ... ... ... in each cycle through all levels

Double Pass Architecture: 

Double Pass Architecture Predefined Option Hierarchy Deliberator long term deliberation (not time critical) commitment for intentions: intention subtree Executor short term reconsideration (time critical) performs intentions on the activity path Both working top-down from root to leaves

Synchronization (parallel work): 

Synchronization (parallel work) Sensors Perception Activity path Actions Deliberator Executor

Synchronization (sequential work): 

Synchronization (sequential work) Sensors Perception Deliberation Plan Deliberator Sensors Perception Activity path Actions Executor

Double Pass Architecture: Objectives: 

Double Pass Architecture: Objectives Balance between low level/high level - Time Trade-off Balanced Re-deliberation - Stability Trade-Off Re-consideration on all levels - Context Problem - Least Commitment Problem Long Term Research Goal: Learning of complex behavior (Case Based Reasoning)

In Progress: 

In Progress Double Pass Architecture Formal specification Implementation Skills & Behaviors THANK YOU !