分别于1980年、1989年和1992年在美国佐治亚理工学院获得机械工程学学士学位、计算机科学硕士和博士学位,现任德克萨斯农工大学计算机科学与工程系的Raytheon荣誉教授,机器人辅助搜索与救援研究中心主任,IEEE会士,曾任IEEE机器人和自动化执行委员会执委。研究方向为人工智能,人-机器人交互,以及异构多机器人系统。已发表100多部篇出版物,是国际上救援机器人和人-机器人交互领域的开创者之一。
Robin R. Murphy分别于1980年、1989年和1992年在美国佐治亚理工学院获得机械工程学学士学位、计算机科学硕士和博士学位,现任得克萨斯农工大学计算机科学与工程系Raytheon荣誉教授,机器人辅助搜索与救援研究中心主任。IEEE会士,曾任IEEE机器人和自动化执行委员会执委。研究方向为人工智能、人-机器人交互,以及异构多机器人系统。已发表100多部篇出版物,是国际范围内救援机器人和人-机器人交互领域的开创者之一。
目錄:
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 DeliberativeReactive 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 Marrs 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 dOeuvres, 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
內容試閱:
导??读
作为救援机器人和人-机器人交互两个研究领域的开创者之一,在本书首版出版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 s