Chapter 4a: Architectures for Autonomy PDF
Document Details
Uploaded by PrettyCyan
J.F. Drake State Community and Technical College
2019
Robin Murphy
Tags
Summary
This document, a part of a handbook or textbook on AI robotics, introduces the concept of architectures for autonomy in robotics. It discusses different programming styles and intelligent layers in AI. The document also provides specific learning objectives, a summary of important concepts and types of operational architectures. Lastly, it summarizes how architectures are crucial for good software engineering of AI systems.
Full Transcript
4a Architectures for Autonomy Given that autonomy has a different programming style, what is it? Can intelligence be added in layers? Like upgrading to “pro version” or downloading “apps” as needed?...
4a Architectures for Autonomy Given that autonomy has a different programming style, what is it? Can intelligence be added in layers? Like upgrading to “pro version” or downloading “apps” as needed? © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) http://www.gameartisans.org 1 4a Specific Learning Objectives Apply Levis' definition of architectures to organizing software in an intelligent robot and be familiar with how they can guide the Objectives design process Review Architecture -types Name and describe the layers (behavioral, deliberative, Operational -Biological interface) within a canonical operational architecture of an -Process -Functions intelligent robot in terms of the five attributes -Ramifications Layered Int. How much? Summary Name the four primitives of robotic intelligence (sense, plan, act, learn). List vulnerabilities (e.g., where poor choices or implicit assumptions can lead to failures) in the canonical operational architecture © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) 2 4a GIVEN THAT AUTONOMY HAS A DIFFERENT PROGRAMMING Objectives STYLE, WHAT IS IT? Review Architecture -types Operational -Biological -Process -Functions -Ramifications Layered Int. How much? Via… Summary Architectures, specifically operational architecture Biological operational architecture Recast as a Process Recast as a Function Ramifications © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) 3 4a Organizing Software Overall style of design or organization is called an Objectives Review “architecture” Architecture -types Operational -Biological -Process – provides a principled way of organizing a control system. -Functions -Ramifications However, in addition to providing structure, it imposes Layered Int. How much? constraints on the way the control problem can be solved Summary [Mataric] – describes a set of architectural components and how they interact [Dean & Wellman] © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) 4 The three types of software 4a architecture The term “architecture” is frequently used in robotics to refer to the overall style of design or organization. Following Dean and Wellman, an architecture describes a set of architectural components and how they interact. – It provides a principled way of organizing a control system (providing structure). – It imposes constraints on the way the control problem can be solved. © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) 5 4a To see the importance of an architecture, consider building a house or a car. There is no “right” design for a house, although most houses share the same components (kitchens, bathrooms, walls, floors, doors, etc.) and infrastructure (electricity, plumbing, heating and air conditioning, etc.). However, the size of the rooms, sophistication of the infrastructure, along with the floor plan, influence whether it is “right” for the buyer Chief Scientist Alex Levis formalized a taxonomy of architectures: operational, systems, and technical. © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) 6 4a Types of architectures [Levis, George Mason University] 1. Operational architecture: describes what the Objectives systems does at a high level, not how it does it. Review Architecture – This description is similar to the real estate listing for a new -types Operational house describing the house in commonly used terms such as the -Biological -Process style of house (e.g., bungalow, Colonial, ranch, etc.) and the -Functions -Ramifications number of bedrooms and bathrooms. Layered Int. How much? – Operational architectures are analogous to describing a house in Summary terms of important features. For example, a real estate listing may describe a house in terms of style, for example, ranch, cottage, mansion, mobile home, and so forth, or function, for example, duplex, single family, and so forth, which gives a prospective buyer an indication of whether it would fit the buyer’s family and lifestyle. © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) 7 4a Types of architectures 2. Systems architecture: describes how a system works in terms of major subsystems (describes how a system is decomposed into major subsystems). – The systems architecture states the specific software systems (rooms) that supply the desired intelligent functionality and describes how they are connected(hallways? open floor plan? a second story or basement?). – The systems architecture can be used to determine if a design meets good software engineering principles, especially modularity and extensibility. – Systems architectures capture what the house consists of, such as having three bedrooms, two baths, a large kitchen, a covered garage, and a swimming pool. © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) 8 4a Types of architectures 3. Technical architecture: describes how a system works in terms of implementation details, language. (Describes how the implementation details of the a system) – This is similar to describing how the house is actually built, where the builder places the pipes, what building codes apply to the roof or foundation, what materials will be used, how expensive the light fixture sand cabinets will be, and so forth. – The technical architecture specifies the algorithms and even the languages that the modules are programmed in and it can be used to determine if a design is using the most appropriate algorithms. – Technical architectures are in constant evolution, reflecting advances in artificial intelligence. © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) 9 4a Technical architectures are the actual instances of the design, where the floor plan for a house is the declaration of the function. Consider that a three-bedroom, two-bath house can have different configurations of the rooms and the ways in which they are connected, such as whether the house has a second story, the number and extent of hallways, any shared bathrooms, and so on. Technical architectures also consist of the algorithms to implement the functions, which are similar to the actual framing, plumbing, painting, landscaping, and decorating details © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) 10 4a Types of architectures [Levis, George Mason University] Objectives operational architecture: describes what the Review Architecture -types systems does at a high level, not how it does it Operational -Biological -Process -Functions -Ramifications systems architecture: describes how a system Layered Int. How much? Summary works in terms of major subsystemsContractor lines up plumbers, roofers… technical architecture: describes how a system works in terms of implementation details, language Studs go here, pipes here… © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) 11 4a Focus of this Course Objectives Review Architecture operational architecture: describes what the -types Operational -Biological systems does, not how it does it -Process -Functions -Ramifications Layered Int. How much? systems architecture: describes how a system Summary works in terms of major subsystems technical architecture: implementation details, language © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) 12 Often Changes with New 4a Languages, Applications Objectives Review Architecture operational architecture: describes what the -types Operational -Biological systems does, not how it does it -Process -Functions -Ramifications Layered Int. How much? systems architecture: describes how a system Summary works in terms of major subsystems technical architecture: implementation details, language Subject of Standards Wars © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) 13 Why Worry About Software 4a Organization? Objectives Review Recall at least 7 distinct areas of Artificial Architecture -types Intelligence, each with own algorithms and data Operational -Biological structures; these have to be “knitted” together -Process -Functions -Ramifications somehow Layered Int. How much? Summary Artificial intelligence is a software enterprise, and good software engineering is necessary for a successful software enterprise. © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) 14 Thinking About Architectures is 4a Good Software Engineering Thinking of the design of an autonomous robot in terms of the three architectures encourages the creation of designs that meet the four general principles of software engineering. – Abstraction Objectives Review Ignores details to permit focus for thinking about general organization of intelligence Architecture Semiformal description -types Operational – Modularity -Biological -Process Where the systems and technical architectures encourage the designer to -Functions -Ramifications think in terms of object-oriented programming. Layered Int. How much? Modules should have: 1. high cohesion and 2. low coupling. Summary – high cohesion (do one thing well, may be able to substitute different algorithms which produce same results “logical sensors”, “logical behaviors”, etc) – low coupling (which means may be able to add “apps” (modules or objects are independent)) High cohesion and low coupling support unit testing and debugging. – Anticipation of change, with Incrementality How to adapt, support evolution – Generality (Not re-invent the wheel each time) The operational, systems, and technical architectures provide the designer with frameworks to determine if the basic organization, subsystems, and implementation will allow the code to be used for other applications.. In robotics, this principle is often called portability © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) 15 Architectures is Good Software 4a Engineering In addition to the four general principles of software engineering, Arkin adds two more software engineering principles for AI robotics: niche targetability and robustness. – Niche targetability captures how well the robot works for the intended application. – Note that niche targetability and ease of portability are often at odds with each other. – This is where a technical architecture may commit to algorithms that are highly specific to a particular application. For example, the robot may be designed to work only during the day. But if the technical architecture was well organized into subsystems within a systems architecture, the daylight- specific algorithms could easily be replaced with algorithms that worked at nighttime. © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) 16 4a Robustness identifies where the system is vulnerable, and how the system design intrinsically reduces that vulnerability. This vulnerability may emerge at the operational or systems architecture level of abstraction, where the designer can see if there is a subsystem that will monitor execution. Or it may emerge through the technical architecture serving as a portal through which the designer can examine how the code handles exceptions and failure conditions. © 2019 Robin Murphy Introduction to AI Robotics 2nd Edition (MIT Press 2019) 17