What is a Robot Architecture?

Slides:



Advertisements
Similar presentations
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
Advertisements

Computer Architecture
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Distributed Scheduling in Supply Chain Management Emrah Zarifoğlu
Intelligent Agents Russell and Norvig: 2
Lecture 6: Hybrid Robot Control Gal A. Kaminka Introduction to Robots and Multi-Robot Systems Agents in Physical and Virtual Environments.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
A Summary of the Article “Intelligence Without Representation” by Rodney A. Brooks (1987) Presented by Dain Finn.
September 7, Control Agents making Robotics a reality Dr. Reuven Granot Faculty of Science and Scientific Education University of Haifa, Israel Visiting.
Agent Mediated Grid Services in e-Learning Chun Yan, Miao School of Computer Engineering Nanyang Technological University (NTU) Singapore April,
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Brent Dingle Marco A. Morales Texas A&M University, Spring 2002
The Architecture Design Process
Autonomous Mobile Robots CPE 470/670 Lecture 8 Instructor: Monica Nicolescu.
Topics: Introduction to Robotics CS 491/691(X) Lecture 8 Instructor: Monica Nicolescu.
Advanced Multi-Agent-System for Security applications Dr. Reuven Granot Faculty of Science and Scientific Education University of Haifa, Israel
The Need of Unmanned Systems
SE-565 Software System Requirements More UML Diagrams.
Course Instructor: Aisha Azeem
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
What is Software Architecture?
Robotica Lezione 1. Robotica - Lecture 12 Objectives - I General aspects of robotics –Situated Agents –Autonomous Vehicles –Dynamical Agents Implementing.
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.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
Chapter 14: Artificial Intelligence Invitation to Computer Science, C++ Version, Third Edition.
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.
September1 Managing robot Development using Agent based Technologies Dr. Reuven Granot Former Scientific Deputy Research & Technology Unit Directorate.
An Introduction to Software Architecture
Agent architectures Smarter software for astronomers Alasdair Allan University of Exeter, Exeter, U.K.
Agent-Oriented Software Engineering CSC532 Xiaomei Huang.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Towards Cognitive Robotics Biointelligence Laboratory School of Computer Science and Engineering Seoul National University Christian.
Autonomous Mobile Robots CPE 470/670 Lecture 8 Instructor: Monica Nicolescu.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Styles.
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.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architecture for Autonomous Assembly 1 Reid Simmons Robotics Institute Carnegie Mellon University.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
1 CMPT 275 High Level Design Phase Modularization.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Operating System Principles And Multitasking
Introduction to Artificial Intelligence CS 438 Spring 2008 Today –AIMA, Ch. 25 –Robotics Thursday –Robotics continued Home Work due next Tuesday –Ch. 13:
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
Rational Agency CSMC Introduction to Artificial Intelligence January 8, 2004.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Intelligent Agents Chapter 2. How do you design an intelligent agent? Definition: An intelligent agent perceives its environment via sensors and acts.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
Done by Fazlun Satya Saradhi. INTRODUCTION The main concept is to use different types of agent models which would help create a better dynamic and adaptive.
7. Modular and structured design
Software Architecture
Complexity Time: 2 Hours.
Real-time Software Design
Intelligent Agents Chapter 2.
© James D. Skrentny from notes by C. Dyer, et. al.
Robot Teams Topics: Teamwork and Its Challenges
An Introduction to Software Architecture
Subsuption Architecture
Presented By: Darlene Banta
Software Architecture
Presentation transcript:

What is a Robot Architecture? There are many different ways in which a robot control program can be put together. In order to program a robot in a structured and principled fashion, we use an appropriate robot control architecture. System developers have typically relied upon robotic architectures to guide the construction of robotic devices and for providing computational services (e.g., communications, processing, etc.) to subsystems and components.

Robot Architecture A control architecture provides a set of principles for organizing a control system. It provides structure and constraints which aid the designer in producing a well-behaved controller. To be successful a system designer has to decide how (in what order? with what priority?) does he put together multiple feedback controllers in a principled fashion and how to scale up control to more complex robots, which generally have to deal with many behaviors at once. How would you put multiple feedback controllers together? How would you decide which one to use when and for how long and in what priority relative to the others?

Robot Architecture Major Classes/Categories Intuitively, this means that there are infinitely many ways to structure a robot program, but they all fall into one of major classes/categories of control: Deliberative Control : Think hard, act later. SPA, serial, complete each step first – then proceed Reactive Control : Don’t think, (re)act. Direct connection between perception to action, no memory, no planning. Hybrid Control : Think and act independently, in parallel. Deliberative and Reactive modules run independently at different time scales Behavior-Based Control : Think the way you act. Distributed by behavioral task decomposition Each behavior has its restricted planning and execution capabilities

The Choice of the Control Architecture In many cases, it is impossible to tell, just by observing a robot's behavior, what control architecture it is using. Only for simple robots, it is often the case. However, when it comes to more complex robots, i.e., robots that have to deal with complex environments and complex tasks, the control architecture becomes very important. The different properties of an environment that will impact the robot's controller (and therefore the choice of control architecture): noisy, speed/response time of sensors and effectors total/partial hidden state/ observable discrete v. continuous state ; static v. dynamic ... Similarly, the properties of the robot's task impact the choice of the control architecture. The task requirements can constrain the architecture choice.

Parallel Processing Paradigm. As robot control is engaged to deal with more complex problems, centralized supervisory architectures encounter barriers to real time performance caused by computational complexity coupled with insufficient computing power and sensor resources. Despite startling advances in hardware and software technology and similarly surprising cost reductions, these fundamental barriers remain unchanged. The parallel-processing paradigm may be the only technology to challenge this fact.

Asynchronous and Synchronous processes The other leading architectural trend is typified by a mixture of asynchronous and synchronous control and data flow. Asynchronous processes are characterized as loosely coupled and event-driven without strict execution deadlines. Synchronous processes, in contrast, are tightly coupled, utilize a common clock and demand hard real- time execution.

Some Criteria for Selecting a Control Architecture support for parallelism: the ability of the architecture to execute parallel processes/behaviors at the same time. hardware targetability: how well the architecture can be mapped onto real-robot sensors and effectors. how well the computation can be mapped onto real processing elements (microprocessors). run-time flexibility: does the architecture allow run-time adjustment and reconfiguration? It is important for adaptation/learning. modularity: how does the architecture address encapsulation of control, how does it treat abstraction? Does it allow many levels, going from feedback loops to primitives to agents? Does it allow re-use of software?

Some Criteria for Selecting a Control Architecture niche targetability: how well the architecture allows the robot to deal with its environment robustness: how well does the architecture perform if individual components fail? How well does it enable and facilitate writing controllers capable of fault tolerance? ease of use: how easy to use and accessible is the architecture? Are there programming tools and expertise? performance: how well does the robot perform using the architecture? Does it act in real-time? Does it get the job done? Is it failure-prone? The above issues allow us to compare and evaluate different architectures relative to specific robotic designs, tasks, and environments. But not all tasks, environments, and designs are comparable.

Time Scale. Time-scale is an important way of distinguishing control architectures. Reactive systems respond to the real-time requirements of the environment, while deliberative system look ahead (plan) and thus work on a longer time-scale. Hybrid systems must combine the two time-scales in an effective way, usually requiring a middle layer; consequently they are often called three-layer architectures. Finally, behavior-based systems attempt to bring the different time-scales closer together by distributing slower computation over concurrent behavior modules.

Representation Another key distinguishing feature between architectures is representation of the world/environment, also called world modeling. Some tasks and architectures involve storing information about the environment internally, in the form of an internal representation of the environment. For example, while exploring a maze, a robot may want to remember a sequence of moves it has made (e.g., "left, left, right, straight, right, left"), so it can back-track and find its way. Thus, the robot is constructing a representation of its path through the maze. The robot can also build a map of the maze, by drawing it using exact lengths of corridors and distances between walls, etc. . This is also a representation of its environment, a model of the world. If two robots are working together, and one is much slower than the other, if the fast robot remembers/learns that the other is always slower, that is also a type of a model of the world, in this case, a model of the other robot.

Different World Models. There are numerous aspects of the world that a robot can represent/model, and numerous ways in which it can do it, including: * spatial metric or topological: maps, navigable spaces, structures * objects instances of detectable things in the world * actions outcomes of specific actions on the self and environment * self/ego stored proprioception: sensing internal state, self- limitations, etc. * intentional goals, intended actions, plans * symbolic abstract encoding of state/information

Amount and Type of Representation The amount and type of representation or modeling used by a robot is critically related to the type of control architecture it is using. Some models are very elaborate; they take a long time to construct and are therefore kept around possibly throughout the lifetime of the robot's task (for example detailed metric maps). Others may be relatively quickly constructed and transient, used quickly and discarded or updated (for example the next few steps in a short plan, the immediate goal, etc.) How long it takes to construct/build a model is an important aspect of the robot's controller.

Amount and Type of Representation How long it takes to use it is equally important. Consider maps again: * it takes a long time to construct an accurate and detailed metric map, because it requires exploring and measuring the environment. * furthermore, it takes time to use such a map as well (even if it took no time to construct it, but it was given to the robot by the designer); * one must find the free/navigable spaces in the map, and then * search through those to find the best path to the goal. Similarly, any internal model can require time to construct and be used, and these timing requirements directly affect the time-scale of the controller.

Control Architectures and Internal States/Representations. A control architecture can make it easy or difficult to store internal models (just as a programming language can make it more or less convenient to build and store structures) and manipulate them, i.e., compute with them. How internal state, i.e., information a robot system keeps around, relates to representation. - In principle, any internal state is a form of representation. - What matters is the form and function of that representation. - The reason two different terms are employed is as follows: state refers to the "status" of the system itself, whereas "representation" refers to arbitrary information that may be contained in the system.

Monitoring approaching the goal We define a system as “intelligent” by the way it achieves the Global Goal. We need a mechanism which has the capability to plan the needed actions to enable reaching the final (Global) goal. Evaluate the current situation Report to user Re-plan according to the contingent events that already occurred.

RCS Embeds a hierarchy of agents within a hierarchy of organizational units: Intelligent Nodes or RCS_Nodes. JAUS From M. W. Torrie A hierarchy of Commanders different resolution in space and time

Squad Commander Layer: multi robot activities Global work plan generation Digital Terrain Model Analysis work dispatching between vehicles inter-vehicle collaboration (help) inter-vehicle communication Vehicle Commander Layer: local work plan generation Digital Terrain Model analysis support for helping out other vehicle will cause re-planning mission package – local area cleaning communication

RCS_Node Update Plan State Predicted Input Observed Input Perceived Objects & Events Commanded Actions (Subgoals) Commanded Task (Goal) Plan Evaluation Plan Results Situation Evaluation Value Judgment Sensory Processing World Modeling Behavior Generation Knowledge Database

Intelligent Node within RCS Command tasks (Goals) status Operator Interface Sensory Output RCS_Node VJ Peer Input Output SP BG WM KDb reactive Sensory Input deliberative Command actions (Subgoals) status SP-WM-BG close a reactive feedback control loop BG-WM-VJ enable deliberative planning and reasoning

Agents in Behavior Generation hierarchy Tasks are decomposed and assigned in a command chain. Actions are coordinated Resources are allocated as plan approved. Tasks achievements are monitored (VJ) Execution in parallel

The Agent An agent is a computer system capable of autonomous action in some environments. A general way in which the term agent is used is to denote a hardware or software-based computer system that enjoys the following properties: autonomy: agents operate without the direct intervention of humans or others, and have some kind of control over their actions and internal state; social ability: agents interact with other agents (and possibly humans) via some kind of agent-communication language; reactivity: agents perceive their environment, (which may be the physical world, a user via a graphical user interface, or a collection of other agents), and respond in a timely fashion to changes that occur in it; pro-activeness: agents do not simply act in response to their environment; they are able to exhibit goal-directed behavior by taking the initiative.

Interface Agent A software entity, which is capable to represent the human in the computer SW environment. It acts on behalf of the human Follows rules and has a well defined expected attitude/ action. May be instructed on the fly and may receive during mission updated commands from the human operator. We need to build agents in order to carry out the tasks, without the need to tell the agents how to perform these tasks.

Agents are not Objects Differ from Objects Agents may act inside the robot software to implement behaviors: Feedback controllers Control subassemblies Perform Local Goals/ tasks Differ from Objects autonomous, reactive and pro-active encapsulate some state, are more than expert systems are situated in their environment and take action instead of just advising to do so.

Agent control loop agent starts in some initial internal state i0 . observes its environment state e, and generates a percept see(e). internal state of the agent is then updated via next function, becoming next_(i0, see(e)). the action selected by agent is action (next(i0, see(e)))) This action is then performed. Goto (2).

Advantages Software engineering Distributed control may be developed as a distributed project reusability Distributed control each primitive agent is responsible for only one primitive task, which controls only one signal. Man machine interface Controls interface of the human operator with the system.

The Control Agent The agent is a control subassembly. It may be built upon a primitive task or composed of an assembly of subordinate agents. The agent hierarchy for a specific task is pre-planned or defined by the human operator as part of the preparation for execution of the task. The final sequence of operation is deducted from the hierarchy or negotiated between agents in the hierarchy.

Human Operator Conflict resolution algorithm Monitors the activities and the performance of the assembly of agents. Responsible for the completion of the major task (global goal) may interfere by sending change orders. emergent (executed immediately) “as is ordered” or normal checked by the interface agent which negotiates execution with other agents in order to optimize execution performance Conflict resolution algorithm defined as default, or defined by the human operator in its change order or suggested to the operator by a simplified decision support algorithm.

The Tele-robotics paradigm Telerobotics is a form of Supervised Autonomous Control. A machine can be distantly operated by: continuous control: the HO is responsible to continuously supply the robot all the needed control commands. a coherent cooperation between man and machine, which is known to be a hard task. Supervision and intervention by a human would provide the advantages of on-line fault correction and debugging, and would relax the amount of structure needed in the environment, since a human supervisor could anticipate and account for many unexpected situations.

Remote Controlled vehicles in combat environment RC is still preferred by designers Simple, but not practical for combat or other very demanding environment because the human operator: is very much dependent upon the controlled process needs long readjustment time to switch between the controlled and the local environment. The state of the art of the current technology has not yet solved the problem of controlling complex tasks autonomously in unexpected contingent environments. dealing with unexpected contingent events remains to be a major problem of robotics. Consequence: A human operator should be able to interfere: remains at least in the supervisory loop. The needed control metaphor: Human Supervised Autonomous

The spectrum of control modes. A telerobot can use: traded control: control is or at operator or at the autonomous sub-system. shared control: the instructions given by HO and by the robot are combined. strict supervisory control: the HO instructs the robot, then observes its autonomous actions. In a Supervisory Controlled system, the ways how the control is passed between the operator and the machine along the time of the action can be classified as: traded control - if …. shared control if….. strict supervisory control if …. Solid line= major loops are closed through computer, minor loops through human.

Human Robot Interaction In supervised autonomously controlled equipment, a human operator generates tasks, and a computer autonomously closes some of the controlled loops. Control bandwidth Robot SW: high Human response: slow Human Operator is expected to Control several machines/ equipment/ systems be capable to deal with other duties (like a combat environment requests) in somehow relaxed mode of operation. Make the machine an agent in human operator’s service.

Task-level supervisory control system block diagram. HO raw robot outputs formatted outputs control signals Controlling agent Task level controller Robot hardware desired tasks An agent can be considered as a control subassembly, also called behavior. The feedback is given to the agent in both processed and raw form.