Lecture 8: Three-Level Architectures CS 344R: Robotics Benjamin Kuipers.

Slides:



Advertisements
Similar presentations
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Advertisements

Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,
COMMUNICATING SEQUENTIAL PROCESSES C. A. R. Hoare The Queen’s University Belfast, North Ireland.
1 Chapter 5 Concurrency: Mutual Exclusion and Synchronization Principals of Concurrency Mutual Exclusion: Hardware Support Semaphores Readers/Writers Problem.
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
Ch. 7 Process Synchronization (1/2) I Background F Producer - Consumer process :  Compiler, Assembler, Loader, · · · · · · F Bounded buffer.
CH7 discussion-review Mahmoud Alhabbash. Q1 What is a Race Condition? How could we prevent that? – Race condition is the situation where several processes.
Nummenmaa & Thanish: Practical Distributed Commit in Modern Environments PDCS’01 PRACTICAL DISTRIBUTED COMMIT IN MODERN ENVIRONMENTS by Jyrki Nummenmaa.
Lecture 6: Hybrid Robot Control Gal A. Kaminka Introduction to Robots and Multi-Robot Systems Agents in Physical and Virtual Environments.
Esterel Overview Roberto Passerone ee249 discussion section.
Brent Dingle Marco A. Morales Texas A&M University, Spring 2002
Experiences with an Architecture for Intelligent Reactive Agents By R. Peter Bonasso, R. James Firby, Erann Gat, David Kortenkamp, David P Miller, Marc.
1: Operating Systems Overview
Concurrency CS 510: Programming Languages David Walker.
Modeling Software Systems Lecture 2 Book: Chapter 4.
Informationsteknologi Friday, November 16, 2007Computer Architecture I - Class 121 Today’s class Operating System Machine Level.
Autonomous Mobile Robots CPE 470/670 Lecture 8 Instructor: Monica Nicolescu.
Models of Computation for Embedded System Design Alvise Bonivento.
Topics: Introduction to Robotics CS 491/691(X) Lecture 8 Instructor: Monica Nicolescu.
A Robust Layered Control System for a Mobile Robot Rodney A. Brooks Presenter: Michael Vidal.
CS Reinforcement Learning1 Reinforcement Learning Variation on Supervised Learning Exact target outputs are not given Some variation of reward is.
Lecture 4 Finite State Machine CS6133 Software Specification and Verification.
A Bridge to Your First Computer Science Course Prof. H.E. Dunsmore Concurrent Programming Threads Synchronization.
Introduction to Behavior- Based Robotics Based on the book Behavior- Based Robotics by Ronald C. Arkin.
Artificial Intelligence Chapter 2 Stimulus-Response Agents
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
Artificial Intelligence Chapter 25 Agent Architectures Biointelligence Lab School of Computer Sci. & Eng. Seoul National University.
Concurrency, Mutual Exclusion and Synchronization.
Modelling III: Asynchronous Shared Memory Model Chapter 9 by Nancy A. Lynch presented by Mark E. Miyashita.
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
Ch. 2. Specification and Modeling 2.1 Requirements Describe requirements and approaches for specifying and modeling embedded systems. Specification for.
A Language for Task-Level Executives Reid Simmons David Apfelbaum Carnegie Mellon University.
Mahapatra-A&M-Fall'001 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.
1 M. Tudruj, J. Borkowski, D. Kopanski Inter-Application Control Through Global States Monitoring On a Grid Polish-Japanese Institute of Information Technology,
Intelligent Robotics Today: Robot Control Architectures Next Week: Localization Reading: Murphy Sections 2.1, 2.3, 2.5, 3.1, 3.5, 3.6, 4.1 – 4.3, 4.5,
Robotica Lecture Review Reactive control Complete control space Action selection The subsumption architecture –Vertical vs. horizontal decomposition.
Program correctness The State-transition model A global states S  s 0 x s 1 x … x s m {s k = set of local states of process k} S0  S1  S2  Each state.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Subsumption Architecture and Nouvelle AI Arpit Maheshwari Nihit Gupta Saransh Gupta Swapnil Srivastava.
CS3773 Software Engineering Lecture 06 UML State Machines.
Review for Quiz-2 Applied Operating System Concepts Chap.s 1,2,6,7 - ECE3055b, Spring 2005.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Knowledge Networks or “The Rise of the Machines”.
第 25 章 Agent 体系结构. 2 Outline Three-Level Architectures Goal Arbitration The Triple-Tower Architecture Bootstrapping Additional Readings and Discussion.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Program Correctness. The designer of a distributed system has the responsibility of certifying the correctness of the system before users start using.
Superstabilizing Protocols for Dynamic Distributed Systems Authors: Shlomi Dolev, Ted Herman Presented by: Vikas Motwani CSE 291: Wireless Sensor Networks.
Agenda  Quick Review  Finish Introduction  Java Threads.
Introduction to distributed systems description relation to practice variables and communication primitives instructions states, actions and programs synchrony.
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
Week 8 Computational Level
Background on the need for Synchronization
Timing Model Start Simulation Delay Update Signals Execute Processes
Artificial Intelligence Chapter 25 Agent Architectures
Week 8 Computational Level
Lecture 9: Behavior Languages
CSE 370 – Winter Sequential Logic - 1
Multiprocessor and Real-Time Scheduling
COMP60621 Fundamentals of Parallel and Distributed Systems
Subsuption Architecture
Artificial Intelligence Chapter 25. Agent Architectures
Artificial Intelligence Chapter 25 Agent Architectures
Programming with Shared Memory Specifying parallelism
COMP60611 Fundamentals of Parallel and Distributed Systems
Presentation transcript:

Lecture 8: Three-Level Architectures CS 344R: Robotics Benjamin Kuipers

Combining Different Types of Control We have been studying local control laws. –Each law makes simple local assumptions –Tightly-coupled closed-loop control How do we combine several of these? How do we do high-level planning?

Rodney Brooks (1986) “Subsumption Architecture” Changed the course of AI Robotics. –The Sense-Plan-Act loop is too slow, and can never have an accurate enough model. Use a hierarchy of fast reactive loops. –Each loop capable of complete behavior. –Higher loops modify the behavior of lower ones. –(James Albus had proposed this earlier.)

Three-Level Architectures

Reactive skills: –Control laws tightly coupled with environment –Generalized to observers and sensory transforms Sequencing: –Select task network of currently active skills –Accomplish specified task using skill hierarchy Planning: –Reason about goals, resources, and timing. –Standard AI planning methods.

Skills A skill can be a local control law, –or it can estimate features from sensory input, –or it can compute signals for the sequencer. It makes a “simple-world” assumption. A skill has several components: –Input and output specifications –Computational transform from input to output –Initialization on system setup –Enable function on skill startup –Disable function on skill shutdown.

Skill Network for Finding and Recognizing People

Skill Network (partial) for Navigation task

Sequencing Assemble an appropriate network of skills. –Disable skills no longer needed –Enable and link skills needed for current task Finite state machines are a possibility: –Select a skill to execute from a set of options –Decide when the current skill should terminate This is a good start, and we’ll explore it. –But we will need to go beyond the FSM.

Local Control Laws A local control law is a triple:  A, H i,  –Applicability predicate A(y) –Control policy u = H i (y) –Termination predicate  (y)

A Finite State Machine Define a finite state machine, where –the states are control laws being applied, –the transitions are applicability and termination conditions. This places requirements on the dynamical systems specified by the control laws –to initiate and terminate appropriately. The finite state machine model lets us analyze global behavior.

Applicability Predicate A(y) Applicability must be defined in terms of the available sensory information y(t). –It means that the environment satisfies the assumptions needed by the control law. How many control laws are applicable? –Ideally, exactly one. –Zero? What do we do? –More than one? How do we select?

Termination Predicate  (y) Termination must be defined in terms of available sensory information y(t). Termination is not just inverse applicability. –It applies in a context where the control law is running: decision inertia gives stability.

Interpreted FSM Model Assume a collection of laws:  A i, H i,  i  Repeat: –Identify applicable control laws. –Select/compose runnable control law. –Run control law. –Terminate control law.

Compiled FSM Model Perhaps the select/compose step can be compiled into a single transition condition: Conditions T ij are mutually exclusive.

Analyzing the Transitions Safety: –Do we avoid the bad states? –Do we avoid getting stuck? Liveness: –Do we reach the good states? –Do we avoid getting stuck? How many control laws are applicable?

Issues with FSM Model Applicability vs selection of control law. Selection vs combination of control laws. Sequential vs parallel combination. Vector addition of control laws. Success vs. failure termination. Interruption vs. continuity of execution.

Alternative Approaches To Sequencers Jim Firby, RAPS Roger Brockett, MDL –Hristu-Varsakelis & Andersson, MDLe. … there are others … The right answer is not completely clear.

Reactive Action Plans: RAPS Created by Jim Firby (then U. Chicago). Widely used by NASA and others. A major “three-layer architecture” –Skills: continuous control. –Sequencing: reactive behaviors. –Planning: deliberation and inference.

Processes Cause Behavior Behavior comes from interacting processes acting on input from the environment. Behavior is controlled by enabling and disabling the processes. Processes detect conditions (good and bad) and send asynchronous signals.

RAP: A Set of Methods for Accomplishing a Task Task name and arguments Success (termination) condition Multiple methods (OR) –Context (applicability) condition –Network of subtasks (AND)

Example RAP (define-rap (arm-pickup ?arm ?thing) (succeed (ARM-HOLDING ?arm ?thing)) (method (context (not (TOOL-NEEDED ?thing ?tool true))) (task-net (t1 (arm-move-to ?arm ?thing) (for t2)) (t2 (arm-grasp-thing ?arm ?thing)))) (method (context (TOOL-NEEDED ?thing ?tool true)) (task-net (t1 (arm-pickup ?arm ?tool) (for t2)) (t2 (arm-move-to ?arm ?thing) (for t3)) (t3 (arm-grasp-thing ?arm ?thing)))))

Problems with Simple RAPs Assumption: Tasks are atomic. –One subtask is processed at a time. –Each task either succeeds or fails. –Success or failure is known. –Success or failure is well defined. Extend to concurrency and arbitrary signals.

Waiting for a Signal (task-net (t1 (approach-target ?target) (wait-for (at-target) :proceed) (wait-for (stuck) :terminate))) Initiate subtask behavior. Wait for problem-specific signals to arrive. Proceed or terminate.

Concurrent Tasks Initiate concurrent threads of execution. Annotations to coordinate threads: –until-end : stop this task when another ends. –until-start : stop this task when another starts. –wait-for : pause until signal is received. Synchronize task processing with progress in the real world.

Concurrent Task Net (task-net (t1 (approach-target ?target) (wait-for (at-target) :proceed) (wait-for (stuck) :terminate)) (t2 (track-target ?target) (wait-for (lost-target) :terminate) (wait-for (camera-problem) :terminate) (until-end t1))) until-end means that when t1 terminates, process t2 is also terminated.

Enabling and Cleanup Tasks Success/failure is too limited. –Failure means terminate all subtasks. –Some subtasks (cleanup) should take place whether the main task has succeeded or failed. Must be able to express an arbitrary signal- driven transition graph among subtasks.

Complex Task Net with Cleanup (task-net (t0 (camera-on) (wait-for :success t1) (for t2)) (t1 (approach-target ?target) (wait-for (at-target) t3) (wait-for (stuck) t3) (until-start t3)) (t2 (track-target ?target) (wait-for (lost-target) t3) (wait-for (camera-problem) :terminate) (until-start t3)) (t3 (camera-off))) until-start means if either t1 or t2 starts t3, the other is terminated.

The RAP Task Net Finite state transition graph. AND/OR graph of subtasks, with conditions. Concurrent threads of task execution. Synchronization of threads via signals.