1 / 46

Agent-Oriented Techniques for Programming Robots

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 ….

lotte
Download Presentation

Agent-Oriented Techniques for Programming Robots

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agent-Oriented Techniques for Programming Robots Hans-Dieter Burkhard Humboldt University Berlin

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. RoboCup Melbourne 2000 Bremen 2006 AOT for Programming Robots, Durres, Sept. 10, 2008

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. sense act think Sense-think-act Cycle • Synchronisation (sequential) input sense think act output time AOT for Programming Robots, Durres, Sept. 10, 2008

  24. sense act think Sense-think-act Cycle • Synchronisation (concurrent) input sense think act output time AOT for Programming Robots, Durres, Sept. 10, 2008

  25. 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

  26. 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

  27. Structures: Layered Architectures sense Environment Layer n Agent Synchronization Conflicts Concurrency . . . . . . Layer 2 Layer 1 act AOT for Programming Robots, Durres, Sept. 10, 2008

  28. Layered Architectures with Mediator sense Environment Layer n Mediator Agent . . . . . . Layer 2 Layer 1 act AOT for Programming Robots, Durres, Sept. 10, 2008

  29. 1-Pass-Architecture sense Environment Layer n Agent . . . . . . Layer 2 Layer 1 act AOT for Programming Robots, Durres, Sept. 10, 2008

  30. 2-Pass-Architecture sense Environment Layer n Agent . . . . . . Layer 2 Layer 1 act AOT for Programming Robots, Durres, Sept. 10, 2008

  31. 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

  32. “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 . . . . . . . . .

  33. 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 . . . . . . . . .

  34. 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

  35. 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

  36. 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

  37. 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 . . . . . . . . .

  38. 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

  39. 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

  40. 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

  41. 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

  42. Proprioception: Feeling the own Body AOT for Programming Robots, Durres, Sept. 10, 2008

  43. 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

  44. 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

  45. Recent Experiments Local control by Recurrent Neural Network Networks developed by evolution AOT for Programming Robots, Durres, Sept. 10, 2008

  46. See you at RoboCup 2009 in Graz! Thank you! AOT for Programming Robots, Durres, Sept. 10, 2008

More Related