图书简介:
I Framework for Thinking About AI and Robotics
1 What Are Intelligent Robots?
1.1 Overview
1.2 Definition: What Is an Intelligent Robot?
1.3 What Are the Components of a Robot?
1.4 Three Modalities: What Are the Kinds of Robots?
1.5 Motivation: Why Robots?
1.6 Seven Areas of AI: Why Intelligence?
1.7 Summary
1.8 Exercises
1.9 End Notes
2 A Brief History of AI Robotics
2.1 Overview
2.2 Robots as Tools, Agents, or Joint Cognitive Systems
2.3 World War II and the Nuclear Industry
2.4 Industrial Manipulators
2.5 Mobile Robots
2.6 Drones
2.7 The Move to Joint Cognitive Systems
2.8 Summary
2.9 Exercises
2.10 End Notes
3 Automation and Autonomy
3.1 Overview
3.2 The Four Sliders of Autonomous Capabilities
3.2.1 Plans: Generation versus Execution
3.2.2 Actions: Deterministic versus Non-deterministic
3.2.3 Models: Open- versus Closed-World
3.2.4 Knowledge Representation: Symbols versus Signals
3.3 Bounded Rationality
3.4 Impact of Automation and Autonomy
3.5 Impact on Programming Style
3.6 Impact on Hardware Design
3.7 Impact on Types of Functional Failures
3.7.1 Functional Failures
3.7.2 Impact on Types of Human Error
3.8 Trade-Spaces in Adding Autonomous Capabilities
3.9 Summary
3.10 Exercises
3.11 End Notes
4 Software Organization of Autonomy
4.1 Overview
4.2 The Three Types of Software Architectures
4.2.1 Types of Architectures
4.2.2 Architectures Reinforce Good Software Engineering Principles
4.3 Canonical AI Robotics Operational Architecture
4.3.1 Attributes for Describing Layers
4.3.2 The Reactive Layer
4.3.3 The Deliberative Layer
4.3.4 The Interactive Layer
4.3.5 Canonical Operational Architecture Diagram
4.4 Other Operational Architectures
4.4.1 Levels of Automation
4.4.2 Autonomous Control Levels (ACL)
4.4.3 Levels of Initiative
4.5 Five Subsystems in Systems Architectures
4.6 Three Systems Architecture Paradigms
4.6.1 Trait 1: Interaction Between Primitives
4.6.2 Trait 2: Sensing Route
4.6.3 Hierarchical Systems Architecture Paradigm
4.6.4 Reactive Systems Paradigm
4.6.5 Hybrid Deliberative/Reactive Systems Paradigm
4.7 Execution Approval and Task Execution
4.8 Summary
4.9 Exercises
4.10 End Notes
5 Telesystems
5.1 Overview
5.2 Taskable Agency versus Remote Presence
5.3 The Seven Components of a Telesystem
5.4 Human Supervisory Control
5.4.1 Types of Supervisory Control
5.4.2 Human Supervisory Control for Telesystems
5.4.3 Manual Control
5.4.4 Traded Control
5.4.5 Shared Control
5.4.6 Guarded Motion
5.5 Human Factors
5.5.1 Cognitive Fatigue
5.5.2 Latency
5.5.3 Human: Robot Ratio
5.5.4 Human Out-of-the-Loop Control Problem
5.6 Guidelines for Determining if a Telesystem Is Suitable for an Application
5.6.1 Examples of Telesystems
5.7 Summary
5.8 Exercises
5.9 End Notes
II Reactive Functionality
6 Behaviors
6.1 Overview
6.2 Motivation for Exploring Animal Behaviors
6.3 Agency and Marr’s Computational Theory
6.4 Example of Computational Theory: Rana Computatrix
6.5 Animal Behaviors
6.5.1 Reflexive Behaviors
6.6 Schema Theory
6.6.1 Schemas as Objects
6.6.2 Behaviors and Schema Theory
6.6.3 S-R: Schema Notation
6.7 Summary
6.8 Exercises
6.9 End Notes
7 Perception and Behaviors
7.1 Overview
7.2 Action-Perception Cycle
7.3 Gibson: Ecological Approach
7.3.1 Optic Flow
7.3.2 Nonvisual Affordances
7.4 Two Perceptual Systems
7.5 Innate Releasing Mechanisms
7.5.1 Definition of Innate Releasing Mechanisms
7.5.2 Concurrent Behaviors
7.6 Two Functions of Perception
7.7 Example: Cockroach Hiding
7.7.1 Decomposition
7.7.2 Identifying Releasers
7.7.3 Implicit versus Explicit Sequencing
7.7.4 Perception
7.7.5 Architectural Considerations
7.8 Summary
7.9 Exercises
7.10 End Notes
8 Behavioral Coordination
8.1 Overview
8.2 Coordination Function
8.3 Cooperating Methods: Potential Fields
8.3.1 Visualizing Potential Fields
8.3.2 Magnitude Profiles
8.3.3 Potential Fields and Perception
8.3.4 Programming a Single Potential Field
8.3.5 Combination of Fields and Behaviors
8.3.6 Example Using One Behavior per Sensor
8.3.7 Advantages and Disadvantages
8.4 Competing Methods: Subsumption
8.4.1 Example
8.5 Sequences: Finite State Automata
8.5.1 A Follow the Road FSA
8.5.2 A Pick Up the Trash FSA
8.6 Sequences: Scripts
8.7 AI and Behavior Coordination
8.8 Summary
8.9 Exercises
8.10 End Notes
9 Locomotion
9.1 Overview
9.2 Mechanical Locomotion
9.2.1 Holonomic versus Nonholonomic
9.2.2 Steering
9.3 Biomimetic Locomotion
9.4 Legged Locomotion
9.4.1 Number of Leg Events
9.4.2 Balance
9.4.3 Gaits
9.4.4 Legs with Joints
9.5 Action Selection
9.6 Summary
9.7 Exercises
9.8 End Notes
10 Sensors and Sensing
10.1 Overview
10.2 Sensor and Sensing Model
10.2.1 Sensors: Active or Passive
10.2.2 Sensors: Types of Output and Usage
10.3 Odometry, Inertial Navigation System (INS) and Global Positioning System (GPS)
10.4 Proximity Sensors
10.5 Computer Vision
10.5.1 Computer Vision Definition
10.5.2 Grayscale and Color Representation
10.5.3 Region Segmentation
10.5.4 Color Histogramming
10.6 Choosing Sensors and Sensing
10.6.1 Logical Sensors
10.6.2 Behavioral Sensor Fusion
10.6.3 Designing a Sensor Suite
10.7 Summary
10.8 Exercises
10.9 End Notes
11 Range Sensing
11.1 Overview
11.2 Stereo
11.3 Depth from X
11.4 Sonar or Ultrasonics
11.4.1 Light Stripers
11.4.2 Lidar
11.4.3 RGB-D Cameras
11.4.4 Point Clouds
11.5 Case Study: Hors d’Oeuvres, Anyone?
11.6 Summary
11.7 Exercises
11.8 End Notes
III Deliberative Functionality
12 Deliberation
12.1 Overview
12.2 Strips
12.2.1 More Realistic Strips Example
12.2.2 Strips Summary
12.2.3 Revisiting the Closed-World Assumption and the Frame Problem
12.3 Symbol Grounding Problem
12.4 GlobalWorld Models
12.4.1 Local Perceptual Spaces
12.4.2 Multi-level or HierarchicalWorld Models
12.4.3 Virtual Sensors
12.4.4 Global World Model and Deliberation
12.5 Nested Hierarchical Controller
12.6 RAPS and 3T
12.7 Fault Detection Identification and Recovery
12.8 Programming Considerations
12.9 Summary
12.10 Exercises
12.11 End Notes
13 Navigation
13.1 Overview
13.2 The Four Questions of Navigation
13.3 Spatial Memory
13.4 Types of Path Planning
13.5 Landmarks and Gateways
13.6 Relational Methods
13.6.1 Distinctive Places
13.6.2 Advantages and Disadvantages
13.7 Associative Methods
13.8 Case Study of Topological Navigation with a Hybrid Architecture
13.8.1 Topological Path Planning
13.8.2 Navigation Scripts
13.8.3 Lessons Learned
13.9 Discussion of Opportunities for AI
13.10 Summary
13.11 Exercises
13.12 End Notes
14 Metric Path Planning and Motion Planning
14.1 Overview
14.2 Four Situations Where Topological Navigation Is Not Sufficient
14.3 Configuration Space
14.3.1 Meadow Maps
14.3.2 Generalized Voronoi Graphs
14.3.3 Regular Grids
14.3.4 Quadtrees
14.4 Metric Path Planning
14.4.1 A* and Graph-Based Planners
14.4.2 Wavefront-Based Planners
14.5 Executing a Planned Path
14.5.1 Subgoal Obsession
14.5.2 Replanning
14.6 Motion Planning
14.7 Criteria for Evaluating Path and Motion Planners
14.8 Summary
14.9 Exercises
14.10 End Notes
15 Localization, Mapping, and Exploration
15.1 Overview
15.2 Localization
15.3 Feature-Based Localization
15.4 Iconic Localization
15.5 Static versus Dynamic Environments
15.6 Simultaneous Localization and Mapping
15.7 Terrain Identification and Mapping
15.7.1 Digital Terrain Elevation Maps
15.7.2 Terrain Identification
15.7.3 Stereophotogrammetry
15.8 Scale and Traversability
15.8.1 Scale
15.8.2 Traversability Attributes
15.9 Exploration
15.9.1 Reactive Exploration
15.9.2 Frontier-Based Exploration
15.9.3 Generalized Voronoi Graph Methods
15.10 Localization, Mapping, Exploration, and AI
15.11 Summary
15.12 Exercises
15.13 End Notes
16 Learning
16.1 Overview
16.2 Learning
16.3 Types of Learning by Example
16.4 Common Supervised Learning Algorithms
16.4.1 Induction
16.4.2 Support Vector Machines
16.4.3 Decision Trees
16.5 Common Unsupervised Learning Algorithms
16.5.1 Clustering
16.5.2 Artificial Neural Networks
16.6 Reinforcement Learning
16.6.1 Utility Functions
16.6.2 Q-learning
16.6.3 Q-learning Example
16.6.4 Q-learning Discussion
16.7 Evolutionary Robotics and Genetic Algorithms
16.8 Learning and Architecture
16.9 Gaps and Opportunities
16.10 Summary
16.11 Exercises
16.12 End Notes
IV Interactive Functionality
17 MultiRobot Systems (MRS)
17.1 Overview
17.2 Four Opportunities and Seven Challenges
17.2.1 Four Advantages of MRS
17.2.2 Seven Challenges in MRS
17.3 Multirobot Systems and AI
17.4 Designing MRS for Tasks
17.4.1 Time Expectations for a Task
17.4.2 Subject of Action
17.4.3 Movement
17.4.4 Dependency
17.5 Coordination Dimension of MRS Design
17.6 Systems Dimensions in Design
17.6.1 Communication
17.6.2 MRS Composition
17.6.3 Team Size
17.7 Five Most Common Occurrences of MRS
17.8 Operational Architectures for MRS
17.9 Task Allocation
17.10 Summary
17.11 Exercises
17.12 End Notes
18 Human-Robot Interaction
18.1 Overview
18.2 Taxonomy of Interaction
18.3 Contributions from HCI, Psychology, Communications
18.3.1 Human-Computer Interaction
18.3.2 Psychology
18.3.3 Communications
18.4 User Interfaces
18.4.1 Eight Golden Rules for User Interface Design
18.4.2 Situation Awareness
18.4.3 Multiple Users
18.5 Modeling Domains, Users, and Interactions
18.5.1 Motivating Example of Users and Interactions
18.5.2 Cognitive Task Analysis
18.5.3 CognitiveWork Analysis
18.6 Natural Language and Naturalistic User Interfaces
18.6.1 Natural Language Understanding
18.6.2 Semantics and Communication
18.6.3 Models of the Inner State of the Agent
18.6.4 Multi-modal Communication
18.7 Human-Robot Ratio
18.8 Trust
18.9 Testing and Metrics
18.9.1 Data Collection Methods
18.9.2 Metrics
18.10 Human-Robot Interaction and the Seven Areas of Artificial Intelligence
18.11 Summary
18.12 Exercises
18.13 End Notes
V Design and the Ethics of Building Intelligent Robots
19 Designing and Evaluating Autonomous Systems
19.1 Overview
19.2 Designing a Specific Autonomous Capability
19.2.1 Design Philosophy
19.2.2 Five Questions for Designing an Autonomous Robot
19.3 Case Study: Unmanned Ground Robotics Competition
19.4 Taxonomies and Metrics versus System Design
19.5 Holistic Evaluation of an Intelligent Robot
19.5.1 Failure Taxonomy
19.5.2 Four Types of Experiments
19.5.3 Data to Collect
19.6 Case Study: Concept Experimentation
19.7 Summary
19.8 Exercises
19.9 End Notes
20 Ethics
20.1 Overview
20.2 Types of Ethics
20.3 Categorizations of Ethical Agents
20.3.1 Moor’s Four Categories
20.3.2 Categories of Morality
20.4 Programming Ethics
20.4.1 Approaches from Philosophy
20.4.2 Approaches from Robotics
20.5 Asimov’s Three Laws of Robotics
20.5.1 Problems with the Three Laws
20.5.2 The Three Laws of Responsible Robotics
20.6 Artificial Intelligence and Implementing Ethics
20.7 Summary
20.8 Exercises
20.9 End Notes
Bibliography
Index
展开
导??读
作为救援机器人和人-机器人交互两个研究领域的开创者之一,在本书首版出版15年之际,结合人工智能机器人取得的巨大成就,Murphy教授将自己对人工智能机器人的深刻认识再次凝炼,由MIT出版社隆重推出了本书的第二版。本书可作为机器人工程、人工智能、自动化等专业高年级本科生教材,以及人工智能和机器人相关方向硕士研究生教材。对于初涉机器人领域的读者来讲,本书无疑是个大部头,这是因为:第一,机器人是典型的多学科交叉产物,涉及知识点众多;第二,Murphy教授对每个知识点的讲解力求翔实。然而,内容丰富对于本书的学习并不构成挑战,为了帮助读者提高学习效率,作者将知识体系结构进行了科学的组织。全书分为五部分,分别讨论框架、反应层、慎思层、交互层,以及设计与伦理。下面将对每一部分进行简要介绍。
第一部分?人工智能和机器人的思考框架
第1章讨论了人工智能机器人的定义,为了厘清这个定义,从什么是机器人和什么是人工智能讲起,之后探讨了人工智能机器人的组成、分类、应用,以及人工智能的7个研究领域。
第2章回顾了人工智能机器人的发展历史,重点梳理了从将机器人视为工具到将机器人视为智能体的转变过程及其影响。
第3章讨论自动化和自治,首先介绍了自动化和自治的区别,之后阐述如何根据规划能力、动作的确定性、世界模型的开放性、知识表示的层级这4个方面刻画一个系统的自动化和自治的程度,然后回答为什么要区分自动化和自治,自治相对于自动化的优势在哪里,如何根据需求确定研制自动化系统还是自治系统等问题。
第4章介绍自治系统的软件组织,针对功能架构将智能机器人的软件划分为反应层、慎思层和交互层,并详细阐述每一层的内涵;针对系统架构介绍智能机器人的5个分系统,即规划、建模、导航、控制和感知。
第5章讨论远程系统这一典型人-机器人系统,在给出远程系统、监督控制、遥操作、共享控制、遥控、遥现等相关概念后,对任务代理和遥现两个概念进行了区分,然后介绍远程系统的7个组成部分。在此基础上,讨论了监督控制、人工控制、轮换控制、共享控制的内涵,以及人在远程系统中的作用,最后给出了典型的远程系统案例。
第二部分?反应层
第6章重点讨论了两个问题:第一,人工智能机器人的反应层是否与动物行为学类似?其回答是肯定的;第二,如果是类似的,如何将动物行为学已有的知识应用于人工智能机器人?马尔计算理论可以用来作为生物智能向人工智能迁移的工具。
第7章解释了感知-规划-执行和执行-感知两种回路的区别,其中执行-感知回路的实时性更强,不依赖于全局世界模型和复杂的规划。在回路中感知扮演两种角色,作为行为的结束或者引导新的行为。感知的处理也有两种方式,即直接感知和认知感知,其中直接感知利用了物体的潜在可供性,而认知感知则依赖于记忆和特征描述等对物体进行识别。
第8章重点讨论行为的协调。行为协调涉及两种情况:第一种情况是,多个行为同时发生时,需要将众多行为综合为一个动作;第二种情况针对序列行为的组织。对于并发行为的协调,根据行为之间是合作的还是竞争的,可分为两类不同的解决方案。这里重点讲解了行为合作的经典算法势场法和行为竞争的经典算法包容法。对于序列行为组织,介绍了最常用的有限状态机和脚本描述这两种方法。
第9章介绍地面机器人的几种主要移动方式。地面机器人最常见的移动方式是依靠轮子的转动,根据轮子的形态和布局,可以分为完整约束和非完整约束。其中完整约束主要包括同步驱动和全向轮两种形式,非完整约束则主要包括差动转向和阿克曼转向两种形式。此外,介绍了爬行、滑动、步行等主要的仿生移动方式,并重点讲解了腿式机器人的平衡控制。
第10章围绕如何让机器人“看见”,哪种传感器适用于机器人,以及什么是传感器融合这3个问题,首先介绍了传感器和感知模型、传感器的分类、传感器的输出类型,常见的定位传感器和接触传感器;然后讲解了计算机视觉的基础知识,如图像的表示、区域分割、颜色直方图等;最后介绍了选择传感器的原则和行为级传感器融合。
第11章介绍测距传感器及其基本原理,包括立体视觉、超声波、结构光、激光雷达、RGB-D相机,并给出了各种传感器的应用实例。
第三部分?慎思层
第12章是慎思层的概述,回答机器人如何思考的问题。以国际上第一台人工智能机器人Shakey及其规划和问题求解的Strips算法为例,解释慎思层涉及的名词并介绍概念性框架,为第13章至第16章的学习打好基础。
第13章首先阐述了机器人导航4个关键问题的内涵,即“我要去哪里?哪条路径最优?我周围环境的地图?我在哪里?”。之后重点讲解如何在拓扑空间进行路径规划,并给出了一个为移动机器人竞赛设计的导航系统实例。
第14章介绍量度路径规划和运动规划。首先介绍了构型空间的概念,以及构型空间最常用的几种表达方式。然后,针对平面路径规划,介绍了经典的A*算法及其变种D*算法;针对机械臂运动规划,介绍了经典的快速扩展随机树方法。最后,给出了路径规划算法的评价标准。
第15章介绍机器人的定位、建图和探索,阐述了定位问题的分类及经典方法、同步定位与建图的内涵、地形识别与分类、地图的表示、立体摄影、可通行性、环境探索的两种解决方案等,最后探讨了本章主题与人工智能的关系。
第16章探讨机器学习,首先给出了学习的定义和分类,然后介绍了机器人领域常用的学习算法,包括归纳法、支持向量机、决策树、聚类、人工神经网络、Q-learning,之后简述了进化机器人学和遗传算法,最后讨论了学习和机器人软件架构的关系,并对机器学习进行了展望。
第四部分?交互层
第17章探讨多机器人系统(MRS),首先列举了多机器人系统与单机器人相比的4个优势和7个挑战;然后介绍了swarms和多智能机器人这两种主要的多机器人系统;之后讨论了多机器人系统设计过程中要考虑的几个主要因素,包括任务属性、协同方式、系统架构等;最后,综述了多机器人系统编程的策略。
第18章介绍人-机器人交互(HRI),首先给出了HRI的定义和交互模式的分类,HRI与HCI、心理学和通信的关系;然后阐述了用户界面设计中要遵循的8项黄金法则;最后详细讨论了HRI设计过程中涉及的建模、自然语言理解、人-机器人比率、互信度、测试和评价等关键问题。
第五部分?机器人设计与伦理学
第19章介绍人工智能机器人的设计原则和评估办法,给出了智能机器人设计应遵循的重要原则并予以实例说明,列举了机器人系统异常的3种主要因素,介绍了评估机器人系统的标准和机器人实验过程中应该关注的数据类型。
第20章关注与智能机器人相关的伦理问题,介绍了伦理学和机器人学对于这一问题的不同视角,给出了机器人伦理问题的两种分类方式,并讨论了阿西莫三定律。
至此,通过本书的学习,读者已经掌握了人工智能机器人的基本知识、理论和方法,为学习相关专业的后续课程以及从事机器人设计与研发工作打下了扎实的基础。本书内容丰富、体系完整、结构清晰、案例新颖,非常适合作为机器人工程、人工智能、自动化等专业的本科生教材,以及相关专业的研究生教材。
肖军浩
国防科技大学智能科学学院
Preface
This book is intended to serve as a textbook for advanced juniors and seniors, first year graduate students in computer science and engineering, and practitioners of unmanned systems. The reader is not expected to have taken a course in artificial intelligence (AI) as the book attempts to introduce key AI concepts from all subdisciplines of AI throughout the text. Indeed, a review of the first edition of this book for AIMagazine suggested that this book could double as an introduction to artificial intelligence. For those readers with a background in AI, the book includes pointers to additional readings and advanced exercises.
The second edition of Introduction to AI Robotics attempts to cover all the topics needed to design and evaluate an artificially intelligent robot for applications involving sensing, acting, planning, and learning. Like the 2001 first edition, the second edition is a broad survey attempting to anchor the reader in the key areas of AI and explain how they contribute to autonomous capabilities, provide the terminology needed to search for what has and is being done in a particular area, and enable the reader to assess whether an algorithm or system will work for a particular application. The second edition is a major expansion and reorganization of the first edition reflecting the tremendous progress made in the past 15 years. The first edition focused on explicitly introducing all the pieces of the “500-piece puzzle” that was AI robotics at the time. The second edition focuses on introducing the pieces of the larger “1000-piece puzzle” that AI robotics has become and on designing and evaluating a set of autonomous capabilities for systems that will interact with other robots, software agents, and humans. The book is not about how to code specific algorithms but rather about what algorithms to code and why. Informally, I think of the second edition as a combination of enabling a reader to “walk the walk and talk the talk” and defending oneself from the hype around AI by learning “how to kick the tires” of a flawed car that an unscrupulous salesman may be trying foist on an unsuspecting buyer.
The book is divided into five parts following a design narrative. Each part consists of multiple chapters, and each chapter generally follows a similar layout of overview, details, discussion of how that capability involves each of the core areas of AI, summary, exercises, and end notes. Case studies are incorporated wherever possible. The end notes are references to essential books for a roboticist’s bookshelf or pointers to related interesting concepts. The most popular end notes, perhaps the most popular portion of the first edition, have been about robot trivia and how concepts in the chapter show up (or are greatly abused) in science fiction. The second edition maintains this tradition, but the robotics-through-science-fiction connection is now a separate book and blog.
Part I attempts to provide a framework for thinking about artificial intelligence for robotics and a skeleton for the muscles and nerves of intelligent functions. Chapter 1 defines intelligent robots and introduces why artificial intelligence is needed. Chapter 2 takes the reader through a historical journey of the process of organizing intelligence, leading to a discussion in chapter 3 of automation and autonomy and how automation and autonomy represent fundamentally different paradigms in designing intelligence. Artificial intelligence researchers concentrate on autonomy and have converged on a canonical hybrid deliberative/reactive operational architecture with reactive, deliberative, and interactive functionality and a systems architecture with Planning, Cartographer, Navigation, Motor Schema, and Perception subsystems, described in chapter 4. Part I concludes with a review of teleoperation and telesystems in chapter 5 as teleoperation is treated, incorrectly, as a degenerative case of autonomy. Understanding why teleoperation autonomy isn’t unintelligent or a failure of autonomy is an important step in understanding AI robotics and the AI robotics design paradigm.
Part II expounds on the reactive functionality of sensing and acting in AI robotics as every intelligent robot using AI principles is likely to have a reactive component. Chapter 6 introduces principles of animal intelligence that motivate “lower” or “less intelligent” forms of autonomy. Chapter 7 dives further into biology, concentrating on how perception feeds intelligence, and introduces schema theory, the object-orientedlike structure used by biologists, psychologists, and roboticists. An intelligent agent will have multiple behaviors running concurrently thus understanding how to coordinate them is essential; that is the subject of chapter 8. Reactive behaviors drive basic locomotion (chapter 9) and requires sensing. General sensors and sensing techniques are presented in chapter 10 and range sensing is given special attention as a separate chapter (chapter 11). Note that manipulation is rarely treated as a reactive function and thus is covered as part of motion planning in chapter 14.
Part III introduces the deliberative functions most often associated with intelligence and the capability for autonomous initiative. Chapter 12 details the four functions of deliberation: to generate and monitor plans or solve problems, and to select and allocate resources. Most intelligent robots move in the environment, and thus an overview of what “navigation” means and entails is presented in chapter 13. Chapter 14 concentrates on metric path planning and motion planning, while chapter 15 delves into simultaneous localization and mapping (SLAM) as well as exploration. Learning can be either reactive or deliberative, but, as it is often associated with “higher” forms of intelligence, chapter 16 includes this part.
Reactive and deliberative functionality are sufficient to program the internals of an intelligent robot, but robots may work with other robots and will always engage a human. Part IV concentrates on the increasing interest in interaction. Chapter 17 surveys the myriad ways in which robots can form multirobot systems, while chapter 18 explores human-robot interaction. Human-robot interaction is an emerging field that includes user interfaces, human factors, robust systems, and trust.
Part V ends the book with a meta view of how to design and evaluate autonomous systems and the ethics of doing so. While each chapter has tried to identify the open challenges and gaps in classes of algorithms, chapter 19 revisits design and evaluation principles. The very public discussion of ethics and the killer robot and robot uprising themes in fiction motivate, in part, chapter 20. Ethics in robotics is not a purely debatable topic as designers have obligations to uphold professional ethics and must consider what is the ethical agency of their particular designs.
Since Introduction to AI Robotics is an introductory survey, it is impossible to cover all the fine work that has been done in the field. The guiding principle has been to include only material that clearly illuminates a specific topic. References to other approaches and systems are usually included as an advanced reading question at the end of the chapter or as an end note. The Springer Handbook of Robotics provides a thorough survey of the field and should be an instructor’s companion.
Acknowledgments
It would be impossible to thank all of the people involved in making this book possible, but I would like to try to list the ones who made the most obvious contributions. I’d like to thank my parents (I think this is the equivalent of scoring a goal and saying “Hi Mom!” on national TV) and my family (Kevin, Kate, and Allan). I had the honor of being in the first AI robotics course taught by my PhD advisor Ron Arkin at Georgia Tech (where I was also his first PhD student and the first student from the College of Computing to receive a PhD in robotics). Any errors in this book are strictly mine. David Kortenkamp suggested that I write the first book after using my course notes for a class he taught, which served as a very real catalyst. My colleagues on the Defense Science Board strongly encouraged me to write the second edition.
My students at Texas A&M University, both at College Station and at Corpus Christi, have been patient and insightful in their readings of various drafts of the book. In particular, I would like to thank Scott King, Jan Dufek, Matt Hegarty, Jesus Orozco, Xuesu Xiao, and Tim Woodward for their detailed suggestions, as well as Siddharth Agarwal, John DiLeo, Brittany Duncan, Zachary Henkel, Joshua Peschel, Cassandra Oduola, Traci Sarmiento, Carlos Soto, Vasant Srinivasan, and GrantWilde. Certainly the students at both the Colorado School of Mines (CSM), where I first developed my robotics courses, and at the University of South Florida (USF) still merit special thanks for being guinea pigs for the first edition. I would like to specifically thank Leslie Baski, John Blitch, Glenn Blauvelt, Ann Brigante, Greg Chavez, Aaron Gage, Dale Hawkins, Floyd Henning, Jim Hoffman, Dave Hershberger, Kevin Gifford, Matt Long, Charlie Ozinga, Tonya Reed Frazier, Michael Rosenblatt, Jake Sprouse, Brent Taylor, and Paul Wiebe from my CSM days and Jenn Casper, Aaron Gage, Jeff Hyams, Liam Irish,MarkMicire, BrianMinten, andMark Powell from USF. Special thanks go to the numerous reviewers of the first edition, especially Karen Sutherland and Ken Hughes. Karen Sutherland and her robotics class at the University of Wisconsin-LaCrosse (Kristoff Hans Ausderau, Teddy Bauer, Scott David Becker, Corrie L. Brague, Shane Brownell, Edwin J. Colby III, Mark Erickson, Chris Falch, Jim Fick, Jennifer Fleischman, Scott Galbari, Mike Halda, Brian Kehoe, Jay D. Paska, Stephen Pauls, Scott Sandau, Amy Stanislowski, Jaromy Ward, Steve Westcott, Peter White, LouisWoyak, and Julie A. Zander) painstakingly reviewed an early draft of the book and made extensive suggestions and added review questions. Ken Hughes also deserves special thanks; he also provided a chapter by chapter critique as well as witty emails. Ken always comes to my rescue.
Likewise, the book would not be possible without my ongoing involvement in robotics research; my efforts have been supported by the National Science Foundation (NSF), Defense Advanced Research Projects Agency (DARPA), and the Office of Naval Research (ONR). Most of the case studies came from work or through equipment sponsored by NSF. Howard Moraff, Rita Rodriguez, and Harry Hedges were always very encouraging, beyond the call of duty of even the most dedicated NSF program director. Michael Mason also provided encouragement, in many forms, to hang in there and focus on education.
My editors, Marie Lufkin Lee on the second edition and Bob Prior on the first edition, and the others at the MIT Press (Amy Hendrickson, Christine Savage, Katherine Innis, Judy Feldmann, Margie Hardwick, and Maureen Cuper) also have my deepest appreciation for providing unfailingly good-humored guidance, technical assistance, and general savvy. Katherine and Judy were very patient on the first edition. Mike Hamilton at the Association for the Advancement of Artificial Intelligence (AAAI) was very helpful in making available the various “action shots” used throughout the book. Chris Manning provided the LATEX2εstyle files, and Liam Irish and Ken Hughes contributed helpful scripts.
Besides the usual suspects, there are some very special people who indirectly helped me. Without the encouragement of three liberal arts professors, Carlyle Ramsey, Monroe Swilley, and Chris Trowell, at South Georgia College in my small home town of Douglas, Georgia, I probably wouldn’t have seriously considered graduate school in engineering and computer science. They taught me that learning isn’t a place like a big university but rather a personal discipline. The efforts of my husband, Kevin Murphy, were, as always, essential. He worked hard to make sure I could spend the time on this book without missing time with the kids or going crazy. He also did a serious amount of editing, typing, scanning, and proofreading on both editions. I miss him dearly. I dedicate the book to these four men who have influenced my professional career as much as any academic mentor.
展开