510 likes | 733 Views
Agent-Oriented Techniques for Programming Robots. Hans-Dieter Burkhard Humboldt University Berlin. What is an Agent?. Someone who acts autonomously on behalf of others Sales agent Insurance agent Undercover agent. Software Agents Assistance Systems Search engines ChatterBots ….
E N D
Agent-Oriented Techniques for Programming Robots Hans-Dieter Burkhard Humboldt University Berlin
What is an Agent? • Someone who acts autonomously on behalf of others • Sales agent • Insurance agent • Undercover agent • ..... • Software Agents • Assistance Systems • Search engines • ChatterBots • … AOT for Programming Robots, Durres, Sept. 10, 2008
Open Systems Agents arrived with open systems • Definition (Hewitt) • Continuous availability • Extensibility • Decentralized control • Asynchronous work • Inconsistent information • Arm length relationships • Consider: P2P AOT for Programming Robots, Durres, Sept. 10, 2008
What is an Agent? A program that acts autonomously on behalf of its user An agent is a long running program, where the work can be meaningfully described as autonomous completion of orders or goals while interacting with the environment. Further Attributes: Intelligent, social, reactive, proactive, adaptive, … AI as research on intelligent agents. (cf. Textbook Russell/Norvig: Artificial Intelligence) AOT for Programming Robots, Durres, Sept. 10, 2008
Agents (Autonomous Systems) in Real World • Natural language understanding • Image interpretation • Driver assistance systems • Traffic control • Space discovery • Autonomous robots: • Service robots • Rescue robots • Entertainment robots • Industrial robots • Agricultural robots • … AOT for Programming Robots, Durres, Sept. 10, 2008
Autonomous Systems in Real World • Robot soccer as testbed • (How to build and program soccer robots?) Robot “Vision” from Team Osaka Annual world championships and conference Long term goal: Play like FIFA champion in 2050 AOT for Programming Robots, Durres, Sept. 10, 2008
Chess vs. Soccer 1997: Deep Blue wins against human champion Kasparov Robot “Nao” from Aldebaran • Chess: • Static • 3 Minutes per move • Single action • Single player • Information: • reliable • complete • Soccer: • Dynamic • Milliseconds • Sequences of actions • Team • Information: • unreliable • incomplete AOT for Programming Robots, Durres, Sept. 10, 2008
RoboCup Melbourne 2000 Bremen 2006 AOT for Programming Robots, Durres, Sept. 10, 2008
Service Robots • Alternatives: • - from the refrigerator • - from the cellar • - from the neighbor • - from the shop • - from the internet • - … • Which alternative to choose? • What else is needed (glass, …)? Willie, bring me a beer AOT for Programming Robots, Durres, Sept. 10, 2008
there was a beer in the refrigerator Robot Needs a World Model • Facts about the world • maps, positions of objects, descriptions, … • Methods for processing sensory inputs • language processing, image processing • Methods for integrating sensory data • new world model from old model and new sensory data Memory of environment: Part of state in the program AOT for Programming Robots, Durres, Sept. 10, 2008
World Model • Problems: • Environment is only partially observable • Observations are insecure and noisy Scene interpretation with Bayesian methods, e.g. Probability to be at location s given an observation z: P(s|z) = P(z|s)·P(s) / P(z) AOT for Programming Robots, Durres, Sept. 10, 2008
World Model • World model need not be true knowledge, • only belief of the agent. Someone took the beer from the refrigerator! Plans may fail. Need methods for revision. AOT for Programming Robots, Durres, Sept. 10, 2008
Memory of Commitments • Tasks/Goals: Desired world states • Plans (Sequence of actions) • Rationality: Agents should only pursue • goals/plans that can be achieved Why did I go to the refrigerator Commitments: Part of state in the program AOT for Programming Robots, Durres, Sept. 10, 2008
Goal Oriented Agents • Deliberation: Select goal to achieve • e.g. by calculating utilities • Means-ends reasoning: Planning method • e.g. by search in the action space Rationality. Needs measures of success/quality/benefits. “Bounded rationality”: Success w.r.t. to available resources (information, time, …) AOT for Programming Robots, Durres, Sept. 10, 2008
Utility Estimations • Different optionso • Achievable by different plans p • With different results r • Value of result r: v(r) • Probability for achieving r using plan p: (r | p) • Utility of plan p(expectation) : u(p) = r result of p(r | p) · v(r) • Utility of option o: u(o) = Max{ u(p) | p plan for o } • Decision process (used for simulated soccer player ATH98): • Estimate utilities for options o • Select best option o as goal g • Build plan p for g AOT for Programming Robots, Durres, Sept. 10, 2008
Rationality (Realism) • Goals must be feasible • Selection process: • 1. Rough estimation (utilities) • 2. In case of error in means-ends reasoning (planning) • Revision of goal selection AOT for Programming Robots, Durres, Sept. 10, 2008
Refinement of Goals • Refinement as iterated decision-process: • Long term goal intermediate goals ... intermediate goals actions • Analogy: Stack of procedure calls • Least commitment: Specification only as far as necessary. AOT for Programming Robots, Durres, Sept. 10, 2008
Maintaining Multiple Goals: BDI-Approach • Belief (world model) • Desire (desirable future world states) • Intentions (world states to be achieved) • Desires may be in conflict • Intentions must not be in conflict (rationality) • Mental states based on models of human acting (especially w.r.t. bounded rationality) • M.E. Bratman: Intentions, Plans, and Practical Reason, Harvard University Press, Massachusetts, 1987. AOT for Programming Robots, Durres, Sept. 10, 2008
There is a beer on the table! Adaptation vs. Stability • Conflicts between old intentions • and potential new intentions (desires) • Adaptation: select always best intentions • Stability: continue old intentions • Advantages of stability: • Reliability (important for cooperation) • Reduce overhead for changes • Avoid oscillations • Disadvantages of stability: • Stick too long on unsatisfactory behavior (fanatism) AOT for Programming Robots, Durres, Sept. 10, 2008
BDI: Screen of Admissibility • Bratman’s solution • for conflicts between old and potential new intentions: • Old intentions restrict admissibility of new intentions, • i.e. set a filter for • - additional intentions • for refinement of intentions • Efficiency: • Reduce repeated evaluation of adopted intentions. Bounded Rationality AOT for Programming Robots, Durres, Sept. 10, 2008
BDI Agents • BDI architectures widely used • Implementation in different variations • Often only in simplified manner • desire = goal • intention = plan • without parallel intentions AOT for Programming Robots, Durres, Sept. 10, 2008
sense act think Putting Together: Sense-think-act Cycle • Logical ordering of intern processing of the agent • Sense („input“) + perception (interpretation, world model) • Think (“decision”: evaluation, planning) • Act („output“) AOT for Programming Robots, Durres, Sept. 10, 2008
sense act think Sense-think-act Cycle • Synchronisation (sequential) input sense think act output time AOT for Programming Robots, Durres, Sept. 10, 2008
sense act think Sense-think-act Cycle • Synchronisation (concurrent) input sense think act output time AOT for Programming Robots, Durres, Sept. 10, 2008
sense act think Sense-think-act Cycle • Synchronisation problems input For complicated deliberation processes sense ? think act output time AOT for Programming Robots, Durres, Sept. 10, 2008
Different Deliberation Times • Layered architectures with different deliberation cycles, e.g. • Immediate reactions (avoid obstacles) • Short term planning • Long term planning AIBO: 30 images per second 125 motor commands per second AOT for Programming Robots, Durres, Sept. 10, 2008
Structures: Layered Architectures sense Environment Layer n Agent Synchronization Conflicts Concurrency . . . . . . Layer 2 Layer 1 act AOT for Programming Robots, Durres, Sept. 10, 2008
Layered Architectures with Mediator sense Environment Layer n Mediator Agent . . . . . . Layer 2 Layer 1 act AOT for Programming Robots, Durres, Sept. 10, 2008
1-Pass-Architecture sense Environment Layer n Agent . . . . . . Layer 2 Layer 1 act AOT for Programming Robots, Durres, Sept. 10, 2008
2-Pass-Architecture sense Environment Layer n Agent . . . . . . Layer 2 Layer 1 act AOT for Programming Robots, Durres, Sept. 10, 2008
How to Deal with Dynamic World • Changing situations • Changing expectations • Unexpected situations (e.g. obstacles) • Changing plans • Conflict handling by BDI-approach • Least Commitment: Deliberate as far as necessary • Double pass architecture (DPA) Plans may fail. Need methods for revision. AOT for Programming Robots, Durres, Sept. 10, 2008
“And-branches” • - all suboptions have • to be achieved • “Or-branches” • (Alternatives) • one suboption has • to be achieved Option Hierarchies Serve beer Bring Glass Get bottle Get glass Open bottle Fill glass from Refr. from Shop . . . . . . . . . . . . Go to Refr. Open Refr. Take Bottle . . . . . . Get Money Goto Shop Buy Bottle Go home . . . . . . . . . . . . . . . . . . AOT for Programming Robots, Durres, Sept. 10, 2008 . . . . . . . . .
Intention Tree Serve beer Bring Glass Get bottle Get glass Open bottle Fill glass from Refr. from Shop Options may be in different states, e.g. - intended - active - done . . . . . . . . . . . . Go to Refr. Open Refr. Take Bottle Get Money Goto Shop Buy Bottle Go home . . . . . . . . . . . . . . . . . . . . . . . . AOT for Programming Robots, Durres, Sept. 10, 2008 . . . . . . . . .
Intention Tree Serve beer Bring Glass Get bottle Get glass Open bottle Fill glass from Refr. Options may be in different states, e.g. - intended - active - done . . . . . . Go to Refr. Open Refr. Take Bottle . . . . . . . . . AOT for Programming Robots, Durres, Sept. 10, 2008
Activation Path Serve beer Part of intention tree Bring Glass Get bottle Get glass Open bottle Fill glass from Refr. Options may be in different states, e.g. - intended - active - done . . . . . . Go to Refr. Open Refr. Take Bottle . . . . . . . . . AOT for Programming Robots, Durres, Sept. 10, 2008
Plan Fails Serve beer Bring Glass Get bottle Get glass Open bottle Fill glass from Refr. Need for re-deliberation: Look for alternatives No Beer inside . . . Go to Refr. Open Refr. Take Bottle . . . . . . . . . AOT for Programming Robots, Durres, Sept. 10, 2008
Repair: Intention Tree Serve beer Bring Glass Get bottle Get glass Open bottle Fill glass from Refr. from Shop Re-deliberation not by chronological backtracking . . . . . . . . . . . . Go to Refr. Open Refr. Take Bottle . . . . . . Get Money Goto Shop Buy Bottle Go home . . . . . . . . . . . . . . . . . . AOT for Programming Robots, Durres, Sept. 10, 2008 . . . . . . . . .
Double Pass Architecture (DPA) • 2 Passes: • Deliberation determines intention tree • modification if necessary (re-deliberation) • - Executor works over intention tree • maintains activity pass (top-down processing) • controls actuators • Advantages over stack oriented approaches: • Procedure stack has access only to last recent call • Implementations: XABSL, DPA AOT for Programming Robots, Durres, Sept. 10, 2008
Environment Robot Agent (program) Actuators Sensors Input Output Still: Classical Approach (“Dualism”) • Robot = Agent (Brain) augmented by Sensors + Actuators AOT for Programming Robots, Durres, Sept. 10, 2008
Limitations for Complex Actuators • Vehicles have simpler actuation than legged robots • Vehicles: • Accelerate • Drive • Turn • Stop • Legged robots: • Coordination of limbs • Complex kinematics • Stability maintenance • (even in stop state) AOT for Programming Robots, Durres, Sept. 10, 2008
Machine Learning • Use „trial and error“. • Evolutionary algorithms • Reinforcement learning • Case based reasoning • Neural networks http://www.robocup.de/AT-Humboldt/simloid-evo.shtml?de AOT for Programming Robots, Durres, Sept. 10, 2008
Proprioception: Feeling the own Body AOT for Programming Robots, Durres, Sept. 10, 2008
Biologically Inspired Robotics • Emergent behavior using situatedness in physical world • Intelligence emerges by “clever connections” Many sensors Local processing Coupling with actuators Neural Networks New insights for Artificial Intelligence: Intelligence needs a body for experiencing the real world. AOT for Programming Robots, Durres, Sept. 10, 2008
ABML ABSR ABAL ABAR ABHL ABHR ABFR ABFL Acceleration Sensors at our Robots • Accelboards: • real time (10ms cycle) • C/Assembler program • local processing AOT for Programming Robots, Durres, Sept. 10, 2008
Recent Experiments Local control by Recurrent Neural Network Networks developed by evolution AOT for Programming Robots, Durres, Sept. 10, 2008
See you at RoboCup 2009 in Graz! Thank you! AOT for Programming Robots, Durres, Sept. 10, 2008