2008年在Pasadena举办IEEE ICRA(International Conference on Robotics and Automation)会议期间-我们决定为本科生编写一本机器人学方面的教材。从1996年开始-Frank就拿自己编写的讲义为首尔国立大学的本科生教授机器人运动学的知识;到2008年-这些讲义已演化为本书所涵盖的核心内容。Kevin也一直拿自己的讲义在美国西北大学讲授机器人学导论-其内容来自论文集和教科书。
我们相信-如果对机器人机构、规划与控制等主题进行单独研究-或者将其作为其他更传统主题的一部分-我们将失去一个独特而统一的视角。在2008年的会议上-我们注意到市面上尚缺少符合下述特征的教科书:(1)使用统一的框架去处理这些主题-同时辅以大量练习和配图;(2)最重要的是写出一本适用于本科生层次(差不多也是他们人生中第一本)的机器人课程的新教材-其中涉及的先修知识仅包括大学一年级的物理学、常微分方程、线性代数和一点儿与计算相关的内容。当时我们认为唯一明智的做法就是自己来写这样一本书。(我们当时并不知道这将会用掉我们8年多的时间来完成这一项目!)
写这本书的第二个动因-也是我们认为一个区别于其他机器人学导论类书籍的地方-是强调现代几何方法的使用。通常情况下-机器人最显著的物理特征由几何来描述效果最好。经典旋量理论的实践者对这种几何方法的优点已经认识了相当长的一段时间。但这些知识尚未触及本科生(本书的受众目标群)的层次-原因在于需要他们掌握一套全新的概念(旋量、运动旋量、力旋量、互易性、横贯、共轭等)-以及那些经常需要对其进行处理和转换的复杂规则。另一方面-若采用旋量理论的代数运算方法-学生往往会最终沉浸在计算细节中-而失去那些在计算中处于中心地位的简单而优雅的几何解释。
让经典旋量理论惠及更多的人群-这一突破发生在20世纪80年代初。哈佛大学的Roger Brockett基于刚体运动的李群结构向读者展示了如何以数学方式来描述运动链(Brockett-1983b)。该发现的重要性在于-只是简单地通过线性代数与线性微分方程的基本理论来重构旋量理论。有了“现代旋量理论”这一现代微分几何领域的强大工具-就可以涉及范围更为广泛的机器人问题-其中部分内容将展现在我们这本教材中-其他更优秀、更高级的内容可参考Murray等(1994)的教科书。
正如本书书名所示-这本书涵盖了我们所认为的机器人机构学基础知识-以及与规划和控制有关的基础理论。将本书所有章节全部讲完可能需要两个学期-特别是再加上编程或机器人的实验环节。不过-本书第2~6章的内容是最低限度的必学知识-而且要按顺序来学习。
接下来教师可以有选择地从剩下的章节中选择内容。在首尔国立大学-本科生机器人学导论(M2794.0027)课程安排在一个学期-主要讲授第2~7章-以及第10~12章部分内容。在美国西北大学-机器人操作(ME 449)课程用11周的时间讲完第2~6章和第8章-然后再根据学生和教师的兴趣触及第9~13章的部分内容。讲授有关机械臂和轮式机器人运动学的课程可以选择第2~7章和第13章的内容-而要开有关运动学与运动规划的课程还需额外包括第9章和第10章的内容。关于机器人操作原理的课程将涵盖第2~6、8和12章-而机器人控制课程将涵盖第2~6、8、9和11章。如果教师不希望涉及动力学的主题(第8章)-有关机器人控制的基础知识(第11章和第13章)即可涵盖对每个执行器的速度控制-而不是力和力矩控制。若课程只关注运动规划-内容可能包括第2章和第3章-更深入的知识在第10章(可能还要补充研究论文或其他参考文献)和第13章。
为了帮助教师选择讲授的主题并帮助学生梳理所学到的知识-我们在每章最后都包含“本章小结”-并在附录A中对全书中出现的重要概念和公式进行了总结。对于那些对章节内容感兴趣而想深入学习的读者-我们在每章末尾提供了一套相当全面(尽管并非详尽无遗)的“推荐阅读”。每章最后都提供了大量的习题-以便延伸读者对本章所涵盖基本内容的学习。本书中还包含一些较为前沿的学习材料-可用来支持独立的研究型项目。
这本书另一重要组成部分是软件-主要用来强化书中的概念-并使公式更具可操作性。该软件主要由Kevin在美国西北大学选择ME 449课程的学生开发-并可从http://modernrobotics.org免费下载。与教科书相配套的视频讲座也可在网站上找到。上传视频的初衷是帮助教师实施“翻转课堂”-即学生利用课余时间观看简短的视频课(可根据需求重复观看)-课上则集中更多的时间来协作解决问题。通过这种方式-当学生应用这些材料时教授可在现场答疑-并发现他们在理解上的差异。我们相信-教授在这个互动角色中能发挥最大的作用-而不是体现在年复一年、一成不变的讲座中。这种方法在Kevin教授的机电一体化课程中得到了很好的体现-具体见http://nu32.org。
视频内容使用Lightboard(http://lightboard.info)生成-该工具由美国西北大学的Michael Peshkin创建而成。他分享了这个方便有效的工具制作此教学视频-对此非常感谢!
我们还发现-作为本书及其软件的补充-V-REP机器人仿真软件也非常有价值。利用这个仿真软件-学生可以以交互方式来探索机械臂和移动机器人的运动学-并为运动学、动力学及控制结果创建动画轨迹。
虽然本书在介绍有关机器人机构、规划和控制入门基础知识方面充分表达了作者的观点-但还是要对那些已经出版和使用多年的优秀教材表示最诚挚的敬意。其中-我们要特别提到已产生广泛影响力的Murray等(1994)、Craig(2004)、Spong等(2005)、Siciliano等(2009)、Mason(2001)和Corke(2017)-以及Latombe(1991)、LaValle(2006)和Choset等(2005)关于运动规划的著作。此外-Siciliano和Khatib(2016)以及Kr?ger编辑的《机器人学手册》的多媒体扩展(http://handbookofrobotics.org)-是我们这个领域的一个里程碑-汇聚了数以百计研究人员的前沿研究-涉及与现代机器人相关的各个主题。
同时-我们对写这本书时提供帮助和带给我们灵感的人表示感谢。特别是-感谢我们的博士导师Roger Brockett和Matt Mason。Brockett是我们这本书中所讲机器人几何方法的奠基人。Mason对机器人操作分析与规划做了开创性贡献-奠定了现代机器人学的基石。我们也感谢很多学生对本书素材的不同版本提供了大量积极的反馈意见-包括选择首尔国立大学M2794.0027课程和美国西北大学ME 449课程的学生。Frank特别感谢Seungghyeon Kim、Keunjun Choi、Jisoo Hong、Jinkyu Kim、Youngsuk Hong、Wooyoung Kim、Cheongjae Jang、Taeyoon Lee、Soocheol Noh、Kyumin Park、Seongjae Jeong、Sukho Yoon、Jaewoon Kwen、Jinhyuk Park、Jihoon Song-以及他在加州大学尔湾分校任教时的学生Jim Bobrow和Scott Ploen。Kevin要感谢Matt Elwin、Sherif Mostafa、Nelson Rosa、Jarvis Schultz、Jian Shi、Mikhail Todes、Huan Weng和Zack Woodruff。
我们也要感谢剑桥大学出版社的Susan Parkinson和David Tranah-向他们在本书出版过程(编辑、校正、排版等)中的勤勉、敬业精神致敬!
最后-也是最重要的-感谢我们的爱人和家人-包括Frank家庭成员中的Hyunmee、Shiyeon和Soonkyu以及Kevin家庭成员中的Yuko、Erin和Patrick-是他们忍受我们的熬夜和不近人情-并一如既往地支持我们-最终促成了这本书的出版。没有爱的支持-这本书根本不会存在。我们将这本书献给他们!
Kevin M. Lynch
美国伊利诺伊州埃文斯顿
Frank C. Park
韩国首尔
2016年11月
声明:两位作者对本书具有同等贡献-作者顺序按字母排列。
◆推荐序 ◆
序 一
Modern Robotics: Mechanics- Planning- and Control
19世纪70年代-Felix Klein提出了影响深远的Erlangen纲领-该纲领巩固了几何与群论概念之间的关系。Sophus Lie几乎在同一时间创建了连续(李)群理论;之后人们提出了基于李代数思想的无限小分析的重要新工具-它们可用来研究非常广泛的几何问题。即使在今天-这些想法背后的思想也依然指导着数学中重要领域的发展。当然-机构不只是几何-它们需要加速、避免碰撞等-但它们首先是几何对象-其中Klein和Lie概念依旧适用。二维或三维刚体运动群-正如它们在机器人学中那样-是Klein和Lie工作的重要例子。
在数学文献中-使用指数来表示李群元素-通常采用两种不同形式。这两种形式被称为第一类指数坐标和第二类指数坐标。对于第一类指数坐标-。对于第二类指数坐标-。到目前为止-第一类指数坐标在运动学研究中几乎没有用处;而在正交群的欧拉参数化中已出现的特殊情形-第二类指数坐标已被证明非常适合于由单自由度连杆构成的开链机器人的运动学描述。本书的第4章中对此做了很好的解释。结合这一事实-第二类指数坐标可以非常简洁地表达各种运动学问题。从历史角度来看-正如本书作者在本书中所做的那样-使用指数积来表示机器人运动-可以被看作是对Klein和Lie等几何学家在150年前所提出概念的实用化证明。
1983年-我被邀请参加在以色列Beer Sheva举办的三年一度的网络数学理论与系统会议-经过一番思考-我决定尝试解释一下我从最近的经历中学到了什么。那时-我在运动学与机器人课程教学方面有一些经验-其中包括使用运动链的指数积表示。从20世纪60年代起-eAt就在系统理论和信号处理中发挥了核心作用-所以在这个会议上-期待人们只要熟悉矩阵指数甚至对它有些了解即可。考虑到这一点-我自然选择了与eAt相关的东西来做演讲。虽然我没有理由认为观众会对运动学有兴趣-但我仍然希望讲述一些有趣的东西-甚至可能激发更多的发展。结果就是之后前言中提到的论文。
在本书中-Frank和Kevin已经为他们的主题提供了一个奇妙、清晰且耐心的解释。他们将Klein和Lie在150年前所建立的基础转化为机器人的现代实践-并且其难度水平适合于本科生、工程师。在对位形空间的基本性质做了优雅的讨论之后-他们介绍了刚体位形的李群表示-以及整本书中使用的速度和力的相应表示。在整个机器人基础主题中保持了一致性视角-包括开链机器人的正向、逆向和微分运动学-机器人动力学-轨迹生成-机器人控制-以及更专门的主题-如闭链机器人的运动学、运动规划、机器人操作、轮式移动机器人的规划和控制、移动操作臂的控制。
我相信这本书将成为一代学生和机器人实践者的宝贵资源。
罗杰•布洛克特(Roger Brockett)
美国马萨诸塞州剑桥市
2016年11月
序 二
Modern Robotics: Mechanics- Planning- and Control
机器人学涉及把概念想法转变为实际应用。机器人通过某种方式-将抽象目标转化为物理行为:向电机发送能量、监控动作并引导事情向目标前进。每个人都可以执行上述技法-但机器人学如此有趣-它吸引了包括笛卡儿在内的很多哲学家和科学家。
这中间的秘密究竟是什么?是源于某些机器人学者头脑里灵光一现的尤里卡时刻吗?是几个青少年企业家在车库里灵感迸发而得出了机器人学中的关键概念吗?相反-机器人学并不是一个单一概念-它是科学和工程经过数百年发展而积累出的大量结果。机器人学主要依赖于数学、物理、机械工程、电子工程和计算机科学-它还涉及哲学、心理学、生物学等领域。
机器人学是这些概念的聚集地。机器人学提供动机。再通过机器人学对这些概念进行测试-并引导后续研究。最后-用机器人学进行证明。对机器人的行为进行观察-可为下列猜想提供令人信服的证据:它表明机器可以感知周围的环境-可以制定有意义的目标-并且可以有效地实现这些目标。通过恒温器或(蒸汽机里的)飞球调速器可以说明同样的原理-不过很少有人能通过观察恒温器而被说服。但几乎所有人都可以通过观看机器人足球比赛而被说服。
机器人学的核心是运动—受控制的编程运动-这将我们带入现在的语境。本书讲授机器人学中一些最重要的观点:运动的性质-刚体的可行运动-使用运动学与约束来组织运动-实现一般可编程运动的机构-机构的静态和动态特征-以及控制、编程和规划运动时的挑战和方法。本书对上述材料的介绍非常清晰-即使本科生也可以阅读。本书与其他本科生教材的重要区别体现在以下两个方面:
第一-在解决刚体运动方面-本书不仅介绍了经典的几何基础和表征-而且还提出了使用现代矩阵指数积的表达式-以及与李代数的联系。这对学生的回报是双重的:对运动的更深理解-以及更好的实用工具。
第二-本书超越了“将注意力专注于机器人机构”这一传统做法-从而可以更好地解决机器人与周围世界中物体之间的相互作用。当机器人与现实世界接触时-其结果是一个具有相关静力学和动力学的特殊运动机构。该机构包括运动学环路、非驱动关节和非完整约束-所有这些概念都可以通过学习本书而熟悉。
即使本书是学生唯一的一门机器人课程教材-它也能使学生对多种类型的物理系统进行分析、控制和编程。由于对物理作用力学机制的介绍-本书对那些打算继续选修高阶机器人课程或进行原创研究的学生而言-也是一个很好的开始。
马修•T.梅森(Matthew T. Mason)
美国宾夕法尼亚州匹兹堡市
2016年11月