内容简介
本书是学习机器人操作的基础教材,旨在介绍机器人操作过程中的力学原理和规划算法。在力学原理部分,我们将从一个全新视角来审视经典力学,包括运动学、静力学和动力学,并使用新的方法(如多种图形化方法)来解决在其他书籍中没有出现过的一些特殊问题。在规划算法部分,我们将使用基于状态空间的方法,同时考虑如何处理以下两个难题:使用经典力学得到的高维连续状态空间并不适合用于搜索算法;由于机器人的感知和运动控制等系统以及周围环境因素而带来的不确定性。
作者简介
1982年获得麻省理工学院人工智能博士学位,从1982年开始在卡内基梅隆大学计算机科学系任教,目前是计算机系和机器人研究所的教授,1995-2004年担任计算机博士项目主管,从2004年起,担任机器人研究所所长。
目录
目 录
Mechanics of Robotic Manipulation
译者序
前言
第1章 操作 1
1.1 实例1:人工操作 1
1.2 实例2:一种自动装配系统 3
1.3 操作中亟待解决的问题 4
1.4 操作技术的分类 6
1.5 文献注释 7
习题 8
第2章 运动学 9
2.1 基础知识 9
2.2 平面运动学 12
2.3 球面运动学 16
2.4 空间运动学 18
2.5 运动学约束 20
2.5.1 非完整约束 23
2.5.2 根据速度中心对平面约束进行分析 27
2.6 运动机构 29
2.7 文献注释 31
习题 31
第3章 运动学表示 34
3.1 空间旋转的表示 34
3.1.1 轴线–角度 35
3.1.2 旋转矩阵 36
3.1.3 欧拉角 40
3.1.4 四元数 42
3.2 空间位移的表示 49
3.2.1 齐次坐标 50
3.2.2 旋量坐标 51
3.3 运动学约束 58
3.4 文献注释 61
习题 61
第4章 运动学操作 65
4.1 路径规划 65
4.1.1 实际中的抓取和放置 66
4.1.2 位形空间变换 67
4.1.3 路径规划——离散C空间内的启发式搜索 70
4.2 非完整系统的路径规划 71
4.3 接触的运动学模型 72
4.4 文献注释 74
习题 74
第5章 刚体静力学 78
5.1 刚体上的作用力 78
5.2 多面体凸锥 83
5.3 接触力旋量与力旋量锥 85
5.4 速度旋量空间中的锥 87
5.5 有向平面 88
5.6 瞬心和Reuleaux方法 91
5.7 力线和力矩标记 92
5.8 对偶力 94
5.9 总结 97
5.10 文献注释 97
习题 98
第6章 摩擦 101
6.1 库仑定律 101
6.2 单自由度问题 103
6.3 平面内的单点接触问题 105
6.4 摩擦锥的图形表示 106
6.5 静平衡问题 106
6.6 平面滑动 108
6.6.1 平面滑动的力和力矩 109
6.6.2 极限曲面 111
6.7 文献注释 115
习题 115
第7章 准静态操作 118
7.1 抓取和夹具固持 118
7.2 推 121
7.3 稳定的推进 125
7.3.1 Peshkin界限 127
7.3.2 “平分线”界限 128
7.3.3 “竖直带”界限 128
7.3.4 计算稳定的推进动作 129
7.3.5 规划稳定的推进轨迹 131
7.4 零件定向 132
7.4.1 半径函数和推函数 133
7.4.2 旋转对称:定向到对称 135
7.4.3 不确定性的建模 135
7.4.4 规划算法 136
7.5 装配 138
7.6 文献注释 142
习题 143
第8章 动力学 148
8.1 牛顿定律 148
8.2 三维空间中的一个质点 149
8.3 力矩和动量矩/角动量 150
8.4 质点系的动力学 151
8.5 刚体动力学 153
8.6 角惯量矩阵 156
8.7 自由旋转体的运动 161
8.8 平面内的单点接触问题 163
8.8.1 摩擦的不一致性 165
8.8.2 摩擦的不确定性 167
8.9 平面动力学的图形方法 168
8.10 平面内的多点接触问题 170
8.11 文献注释 172
习题 172
第9章 碰撞 174
9.1 质点碰撞 174
9.1.1 摩擦:一个不好的模型 176
9.1.2 一个更好的模型 177
9.2 刚体碰撞 179
9.3 文献注释 184
习题 184
第10章 动态操作 185
10.1 准动态操作 185
10.2 短暂动态操作 188
10.3 完全动态操作 189
10.4 文献注释 191
习题 193
附录 无限远点 194
参考文献 197
索引 201
前言/序言
前 言Mechanics of Robotic Manipulation本书是为所有被操作的神秘魅力而吸引的读者所写。从其广义形式来看,“操作”是指我们周边世界里的各种物理变化:移动物体,使用焊接、胶合或紧固等方式来连接两个或多个物体,使用切割、研磨或弯曲等方式改变物体的形状以及其他各种过程。然而,与绝大部分涉及操作研究的书刊一样,本书仅解决上述各种操作中的第一种方式:移动物体。即使在这一限制条件下,我们仍有许多不同的过程需要考虑:抓取(grasping)、携带(carrying)、推动(pushing)、丢放(dropping)、投掷(throwing)、击打(striking)以及其他过程。
同样,我们仅解决机器人操作中的问题,而忽略人类或其他动物的操作(除了从中获取某些灵感以及偶尔的哲学思考之外)。但是“机器人”操作不应被限制得过于狭隘——或许“机器操作”是一个更好的表述。我们将涵盖任何形式的机器操作,从门挡(门塞)到自动化工厂。
本书借鉴了两个领域的内容:经典力学和经典规划。本书大部分内容致力于经典力学及其在操作过程中的应用。为了深入理解操作过程,我们需要从一个不同寻常的视角来审视经典力学,这将驱使我们解决一些在其他书籍中没有解决过的特殊问题。
本书的第二部分内容是经典规划。我们将使用基于状态空间的方法,即利用可能动作行为的显式模型使规划算法能够搜索各种序列,从而获得一个令人满意的解答。这方面有两个难点亟待解决。第一,经典力学的结果通常对应于连续状态空间,而非更适合于搜索算法的离散状态空间。第二,机器人通常无法获取完美的信息,并且机器人也许无法获知任务的实际状态。有时,规划算法需要能够处理机器人所预测的任务状态和实际状态之间的差异。这两个因素——高维的连续状态空间以及不确定性均增加了操作规划的复杂度。
本书与以往大多数书籍的不同之处在于侧重于操作(过程)本身而非机械臂。这种对过程本身而非对设备的侧重,是一种更为基本的方法策略,所以其结果可以适用于更为广泛的设备,而不仅仅是机器人手臂。操作的真正问题在于如何移动物体,而不是如何移动手臂。对于操作这个问题,人类的解决方案是尽可能使用周围可以利用的资源,比如使用适宜的平面以便对齐物体,敲击或晃动不方便抓取的物体,使用廉价的物体作为工具来进行捅或推等操作。当人类使用自己的双手进行操作时,最容易观察到这种能力,不过这种能力在人类编程控制机器人手臂时也体现得相当明显。旨在解释操作的任何可信尝试都必须能够处理各种不同的操作技法。
在机器人中,任何理论在达到某种成熟程度之后,都应该经得起检验。如果一个理论是完备的、建设性的,我们可以结合此理论建造一个机器人,而后通过相关实验来验证该理论的正确性以及有效范围。从原则上讲,结合经典力学和经典规划来建造机器人是个相对简单的任务。我们所建造的机器人系统中包含任务的计算模型,其中包括场景中对象的形状以及其他相关物理参数。采用经典力学,机器人还能够预测它想要执行的各种行为可能造成的对应结果。如果给机器人指定一些目标,它可以模拟各种动作序列,从中搜索出一个规划以实现指定目标。
这样的机器人是极端理性主义的——它严格遵循牛顿(亚里士多德或其他)力学,并且基于第一性原理来推导出能够满足其目标的动作模式。它是理论和实验之间近似完美的结合。为了解决理论问题,我们可以按照力学模型和搜索算法来设计机器人,从而得到一个可以接受理论验证的正式实体。我们可以根据机器人的表现证明与之相关的理论,我们也有规则的显式假说来评价其正确性。为了解决实验问题,我们可以将设计思路赋予实践,从而得到一个可通过实验检测的物理系统。当理论和实验相对应时,我们可以证明理论的有效性及其在实施中的高保真度。当理论和实验无法对应时,这提示我们需要对理论或实施方案进行合理的修正。
或许更重要的是此种方法在建立有效的建设性理论方面所具有的价值。有时候,“应该可行”的理论和“实际有效”的理论之间存在着巨大差异。如何减少这种差异是推进该领域前进以解决重要问题的一个重要动力。
我们应该试图建立什么样的理论呢?会不会有一个简洁的解决方案——能够使我们建造具有类人行为能力的机器人的一些简单想法?相关的工程实践表明此法并不可行,没人期望一个简洁的理论就可以解决如何建造汽车或火箭这样复杂的问题。只有依赖大量的科学和工程方面的成果,我们才能够建造十分复杂的人造物体。而可以与人类相提并论的机器人,它将比人们先前建造的任何东西都更为复杂。本书并不想提出解决方案,亦不想提出解决方案的大纲。相反,本书试图勾勒出一条科学探究的具体线路,从而使我们有希望解决机器人操作中的某些核心问题。
本书起初是作为“操作的力学原理”(Mechanics of Manipulation)这一研究生课程的课堂笔记使用的,该课程是卡内基梅隆大学机器人博士项目培养计划的一部分。选修本课程的学生来自不同的背景,但他们大部分都有工程、科学或数学方向的本科学位。偶尔会有高年级的本科生选修本课程,大多数学生表现还不
机器人操作中的力学原理 电子书 下载 mobi epub pdf txt