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,

Slides:



Advertisements
Similar presentations
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Advertisements

Elephants Don’t Play Chess
Concurrency: Mutual Exclusion and Synchronization Chapter 5.
Lecture 8: Three-Level Architectures CS 344R: Robotics Benjamin Kuipers.
5-1 Chapter 5: REACTIVE AND HYBRID ARCHITECTURES.
Intelligent Agents Russell and Norvig: 2
Embedded System Lab Kim Jong Hwi Chonbuk National University Introduction to Intelligent Robots.
Lecture 6: Hybrid Robot Control Gal A. Kaminka Introduction to Robots and Multi-Robot Systems Agents in Physical and Virtual Environments.
Autonomous Mobile Robots CPE 470/670 Lecture 11 Instructor: Monica Nicolescu.
CS 584. A Parallel Programming Model We need abstractions to make it simple. The programming model needs to fit our parallel machine model. Abstractions.
Topics: Introduction to Robotics CS 491/691(X) Lecture 11 Instructor: Monica Nicolescu.
Brent Dingle Marco A. Morales Texas A&M University, Spring 2002
Autonomous Mobile Robots CPE 470/670 Lecture 11 Instructor: Monica Nicolescu.
Experiences with an Architecture for Intelligent Reactive Agents By R. Peter Bonasso, R. James Firby, Erann Gat, David Kortenkamp, David P Miller, Marc.
EE141 1 Broca’s area Pars opercularis Motor cortexSomatosensory cortex Sensory associative cortex Primary Auditory cortex Wernicke’s area Visual associative.
Intelligence without Reason
Behavior Coordination Mechanisms – State-of-the- Art Paper by: Paolo Pirjanian (USC) Presented by: Chris Martin.
Autonomous Mobile Robots CPE 470/670 Lecture 8 Instructor: Monica Nicolescu.
Topics: Introduction to Robotics CS 491/691(X) Lecture 8 Instructor: Monica Nicolescu.
Chapter 11 Operating Systems
CS533 - Concepts of Operating Systems
Autonomous Mobile Robots CPE 470/670 Lecture 8 Instructor: Monica Nicolescu.
Introduction to mobile robots Slides modified from Maja Mataric’s CSCI445, USC.
Behavior- Based Approaches Behavior- Based Approaches.
A Robust Layered Control System for a Mobile Robot Rodney A. Brooks Presenter: Michael Vidal.
CHAPTER 9: Input / Output
The Need of Unmanned Systems
EMBEDDED SOFTWARE Team victorious Team Victorious.
What is it? A mobile robotics system controls a manned or partially manned vehicle-car, submarine, space vehicle | Website for Students.
Mobile Robot Control Architectures “A Robust Layered Control System for a Mobile Robot” -- Brooks 1986 “On Three-Layer Architectures” -- Gat 1998? Presented.
Introduction to Behavior- Based Robotics Based on the book Behavior- Based Robotics by Ronald C. Arkin.
Department of Computing and Information Sciences Kansas State University Design Methodology for State based Embedded Systems Case Study: Robot Controller.
Reactive Paradigm – Overview Subsumption Architecture By Ian Jonkers Studies in Machine Learning: Intelligent Robotics.
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 9: Input / Output
Object Oriented Analysis & Design SDL Threads. Contents 2  Processes  Thread Concepts  Creating threads  Critical sections  Synchronizing threads.
Artificial Intelligence Chapter 25 Agent Architectures Biointelligence Lab School of Computer Sci. & Eng. Seoul National University.
Autonomous Mobile Robots CPE 470/670 Lecture 8 Instructor: Monica Nicolescu.
Outline: Biological Metaphor Biological generalization How AI applied this Ramifications for HRI How the resulting AI architecture relates to automation.
Introduction to Robotics In the name of Allah. Introduction to Robotics o Leila Sharif o o Lecture #3: A Brief.
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.
Robotics Sharif In the name of Allah. Robotics Sharif Introduction to Robotics o Leila Sharif o o Lecture #3: The.
Electrical Engineering Design Project - Fall 2002 Electrical/Computer Engineering Design Project Fall 2002 Lecture 4 – Robotics.
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
Robotica Lecture Review Reactive control Complete control space Action selection The subsumption architecture –Vertical vs. horizontal decomposition.
Lecture 5 Page 1 CS 111 Online Processes CS 111 On-Line MS Program Operating Systems Peter Reiher.
Introduction to Artificial Intelligence CS 438 Spring 2008 Today –AIMA, Ch. 25 –Robotics Thursday –Robotics continued Home Work due next Tuesday –Ch. 13:
ECE291 Computer Engineering II Lecture 15 Dr. Zbigniew Kalbarczyk University of Illinois at Urbana- Champaign.
Introduction to Artificial Intelligence CS 438 Spring 2008 Today –AIMA, Chapter 1 –Defining AI Next Tuesday –Intelligent Agents –AIMA, Chapter 2 –HW: Problem.
Behavior-based Multirobot Architectures. Why Behavior Based Control for Multi-Robot Teams? Multi-Robot control naturally grew out of single robot control.
Autonomous Mobile Robots CPE 470/670 Lecture 10 Instructor: Monica Nicolescu.
第 25 章 Agent 体系结构. 2 Outline Three-Level Architectures Goal Arbitration The Triple-Tower Architecture Bootstrapping Additional Readings and Discussion.
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
1 Module 3: Processes Reading: Chapter Next Module: –Inter-process Communication –Process Scheduling –Reading: Chapter 4.5, 6.1 – 6.3.
Intelligent Mobile Robotics
Artificial Intelligence Chapter 25 Agent Architectures
Build Intelligence from the bottom up!
Build Intelligence from the bottom up!
Today: Classic & AI Control Wednesday: Image Processing/Vision
Robot Teams Topics: Teamwork and Its Challenges
CIS 488/588 Bruce R. Maxim UM-Dearborn
Multithreaded Programming
Build Intelligence from the bottom up!
Subsuption Architecture
Artificial Intelligence Chapter 25. Agent Architectures
Artificial Intelligence Chapter 25 Agent Architectures
Today: AI Control & Localization Monday: Hunting Demonstration
Robot Vision Today: Reactive Control & Vision
Behavior Based Systems
Presentation transcript:

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, , 5.5,

how much of the world do we need to represent internally ? how should we internalize the world ? what inputs do we have ? what outputs can we effect ? what algorithms connect the two ? how do we use this “internal world” effectively ? What is a Robot Control Architecture? Robot Architecture

“The architecture of a robot defines how the job of generating actions from percepts is organized” –Russell & Norvig –It defines structure of the system, hardware and software, the way in which the robot processes sensor inputs, performs cognitive functions, and provides signals to output actuators.

Robot Control Robot control is the process of taking information about the environment and processing it as necessary in order to make decisions about how to act. The architecture provides a principled way of organizing a control system. –Low level and high level control.

Robot Control: Layers of Abstraction

Example: Road Runner Set current goal Stay on the path, avoid obstacles, set speed, crowd interaction Acceleration, braking, velocity control, steering control, process sensor readings

Robot: Movement, Sensing, Reasoning Defining your robot’s architecture Assessment of your environment and the robot’s goals –What situations does it need to sense? (sensor suite, signal processing) (ECE) –What will it manipulate? How will it move? (ME) –How does it decide what actions to take? (CS)

What does it take to get an intelligent robot to do a simple task? Robot Parts: Two Arms, Vision, and Brain The Brain can communicate with all parts Arms can take commands as left, right, up, down, forward, and backward Arms can answer yes/no about whether they are touching something but cannot distinguish what they are touching The vision system can answer any question the brain asks, but cannot volunteer information. The vision system can move around to get a better view.

Why is this simple task so difficult? Coordination is difficult Indirect feedback Updating knowledge about the environment Unexpected events –Need to re-plan Different coordinate systems need to be resolved –Box-centered and arm-centered

Spectrum of AI (high level) Robot Control

Dealing with the Physical World A robot needs to be able to handle its environment or the environment must be altered and controlled. Close World Assumption –The robot knows everything relevant to performing “Complete World Model” –no surprises Open World Assumption –The robot does not assume complete knowledge –The robot must be able to handle unexpected events.

Deliberative/Hierarchical Robot Control Emphasizes Planning Robot senses the world, constructs a model representation of the world, “shuts its eyes”, creates a plan of action, makes the action, then senses the results of the action.

Sense - Plan - Act SENSING ACTING perception world modeling planning task execution motor control senseplanact Stanford Cart Shakey 1968 MERs 2003-

Deliberative: Good & Bad Goal Oriented –Solve problems that need cognitive abilities –Ability to optimize solution Predictable Dependence on a world model –Requires a closed world assumption Frame Problem Symbol Grounding Problem

Reactive/Behavior-Based Control Ignores world models “The world is its own best model” Tightly couples perceptions to actions –No intervening abstract representations Primitive Behaviors are used as building blocks –Individual behaviors can be made up of primitive behaviors Reactive: no memory Behavior-Based: Short Term Memory (STM) StimulusBehaviorResponse SR Diagram

Reactive: Good & Bad Works with the Open World Assumption –Provides a timely response in a dynamic environment where the environment is difficult to characterize and contains a lot of uncertainty. Unpredictable Low level intelligence –Cannot manage tasks that require LTM or planning Tasks requiring localization and order dependent steps

Behavior Coordination If multiple behaviors are possible which one does the robot do? –Competitive coordination: winner-take-all –Cooperative coordination: behavioral fusion

Where does the overall robot behavior come from? No planning, goal is generally not explicit Emergent Behavior –Emergence is the appearance of a novel property of a whole system that cannot be explained by examining the individual components, for example the wetness of water. –Overall behavior is a result of robots interaction with its surroundings and the coordination between the individual behaviors.

Hybrid Paradigm Combines Reactive and Deliberative Control Planner Sense Act

Planning – Reactive Interaction Reactive is primary control and Planner provides advise –Planner configures the Reactive system Planner is primary and Reactive provides actions to avoid uncertain situations –Layered approach –Requires re-planning Planner and Reactive work concurrently

Reactive/Behavior-Based Control Design Design Considerations –What are the primitive behaviors? –What are the individual behaviors? Individual behaviors can be made up of primitive and other individual behaviors –How are behaviors grounded to sensors and actuators? –How are these behaviors effectively coordinated? If more than one behavior is appropriate for the situation, how does the robot choose which to take? StimulusBehaviorResponse

Situated Activity Design Robot actions are based on the situations in which it finds itself Robot perception is characterized by recognizing what situations it is in and choosing an appropriate action

Designing a Behavior-Based Control: Finite State Machine

Design for robot soccer What primitive behaviors would you program? What individual behaviors? What situations does the robot need to recognize If the “pass behavior” is active and the “shoot behavior” is active, how does it choose?

Implementing Behaviors Schema theory –Schema: knowledge of how to perceive and act along with computational processes to accomplish the activity Perceptual Schema: interpretation of sensory data & instantiates motor schema Motor Schema: actions to take. Releaser: Sensory input that activates the behavior

Schema for Toad Feeding Behavior

Cooperative Coordination Behavioral Fusion –Requires the ability to use concurrently the output of more than one behavior at a time Behavior Fusion via vector summation

Competitive Coordination Action Selection Method –Behaviors compete using an activation level –The response associated with the behavior with the highest activation level wins –Activation level is determined by attention (sensors) and intention (goals)

Competitive Coordination Voting Methods: democratic arbitration –Each behavior casts votes for actions and the action that receives the most votes wins.

Competitive Coordination Suppression Network Method –Response is determined by a fixed prioritization in which a strict behavioral dominance hierarchy exists. –Higher priority behaviors can inhibit or suppress lower priority behaviors.

Subsumption Architecture A suppression network architecture built in layers Each layer gives the system a set of pre-wired behaviors Layers reflect a hierarchy of intelligence. – Lower layers are basic survival functions (obstacle avoidance) –Higher layers are more goal directed (navigation) The layers operate asynchronously (Multi-tasking) Lower layers can override the output from behaviors in the next higher level –Rank ordering

Foraging Example

Using Multiple Behaviors requires the Robot to Multi-task Multi-tasking is having more than one computing processing run in parallel. –True parallel processing requires multiple CPU’s. IC functions can be run as processes operating in parallel. The processor is actually shared among the active processes –main is always an active process –Each process, in turn, gets a slice of processing time (5ms) –Each process gets its own default program stack of 256bytes A process, once started, continues until it has received enough processing time to finish (or until it is “killed” by another process) Global variables are used for inter-process communications

IC: Functions vs. Processes Functions are called sequentially Processes can be run simultaneously –start_process( function-call ); returns a process-id processes halt when function exits or parent process exits –processes can be halted by using kill_process( process_id ); hog_processor(); allows a process to take over the CPU for an additional 250 milliseconds, cancelled only if the process finishes or defers defer(); causes process to give up the rest of its time slice until next time

IC: Process Example #use pause.ic int done; /* global variable for inter-process communication */ void main() { pause(); done=0; start_process (ao_when_stop()); start_process (avoidBehavior()); start_process (cruiseBehavior()); start_process (collisionBehavior()); start_process (arbitrate());... more code... } void ao_when_stop() { while (stop_button() == 0); /* wait for stop button */ done=1; /* signal other processes */ ao(); /* stop all motors */ }

Localization & Navigation Reading Intro to AI Robotics: Chapters 9, 10,11