Craig教授根据机器人学的特点,将理论和实际应用密切结合,按照刚体力学、分析力学、机构学和控制理论中的原理和定义对机器人运动学、动力学和控制中的原理进行了严谨的阐述,语言精练,内容深入浅出,例题简单易懂,体现出Craig教授在机器人学方面高深的造诣。《机器人学导论》(原书第4版)是当今机器人学研究领域的经典之作。
前言
科学家常会感到通过自己的研究工作在不断地认识自我。物理学家在他们的工作中认识到了这一点,同样,心理学家和化学家也认识到了这一点。在机器人学的研究中,研究领域和研究者自身之间的关系尤为明显。与仅追求分析的自然科学不同,当前机器人学所追求的是偏重于综合的工程学科。也许正是这个原因,这个领域才使我们当中的许多人着迷。
机器人学研究的是怎样综合运用机械装置、传感器、驱动器和计算机来实现人类某些方面的功能。显然,这是一项庞大的任务,它必然需要运用各种“传统”领域的研究思想。
现今,机器人学诸方面的研究工作都是由不同领域的专家进行的。通常没有一个人能够完全掌握机器人领域的所有知识。因此,自然有必要对这个研究领域进行划分。在更高的层次上,可把机器人学划分为4个主要领域:机械操作、移动、计算机视觉和人工智能。
本书介绍机械操作的理论和工程知识。机械操作这一机器人学分学科是建立在几个传统学科基础之上的。主要的相关学科有力学、控制理论、计算机科学。在本书中,第1~8章包括机械工程和数学的主题,第9~11章为控制理论的题材,第12~13章属于计算机科学的内容。另外,本书从始至终强调通过计算解决问题,例如,与力学密切相关的每一章都有一节简要介绍计算方面的问题。
本书源于斯坦福大学1983~1985秋季学期的“机器人学导论”的讲稿。前3版在1986~2016年被许多大学采用。第4版得益于这一广泛应用,并且根据多方面的反馈意见做了修改和改进。在此,向对本书作者提出修正意见的所有人表示感谢。
本书适用于高年级本科生或者低年级研究生课程。选修此课程的学生如果学过静力学和动力学这两门基础课程,同时学习过线性代数,并且能够使用计算机高级语言编程,将是有帮助的。此外,虽然不必先修控制理论的入门课程,但学过这门课程也是有益的。本书的目标之一是以简单、直观的方式介绍机器人学的知识。特别需要指出的是,虽然本书很多内容选自机械工程领域,但本书的读者不必是机械工程师。在斯坦福大学,很多电气工程师、计算机科学家、数学家都认为本书具有很强的可读性。
虽然本书直观上适合机器人系统的研发工程师使用,但是对于任何将要从事机器人研究工作的人,本书内容都是重要的背景资料。就像软件开发人员通常要了解一些硬件知识一样,不直接从事机器人的机械和控制研究的人员,也应当具备一些本书提供的背景知识。
与第3版一样,第4版分为13章。本书的材料适合一学期讲授,如果要在半学期内讲授,教师需要略去一些章节。即便如此,仍然无法深入讲解所有专题。本书在编写时从某些方面考虑了这一点,例如,多数章只采用一种方法去解决常见的问题。编写本书的主要挑战之一就是尽量在限定的教学时间内为每个主题合理地分配时间。为此,我的办法是只考虑那些直接影响机器人机械操作的材料。
在每章的最后都有一组习题。在每道习题题号后的方括号中给出习题的难度系数。难度系数在[00]到[50]之间。[00]是最简单的题目,[50]是尚未解决的研究性问题。我采用了与DKnuth所著《The Art of Computer Programming》(AddisonWesley出版)同样的难度等级。
当然,一个人认为困难的问题,另一个人可能认为容易,因此,一些读者会发现那些难度系数在某些情况下会引起误解。不过,我们尽力评估了这些习题的难度。
在每章的末尾,布置了编程作业,学生可以把相应章的知识应用到一个简单的三关节平面操作臂中。这个简单的操作臂足以用来证明大多数一般操作臂的所有原理,而不会使学生陷入过于复杂的问题中。每个编程作业都建立在前一个作业的基础上,到课程结束时,学生就会得到一个完整的操作臂软件程序库。
另外,第1~9章共有12道MATLAB练习。这些练习由俄亥俄大学的Robert LWilliamsⅡ教授编写,我对他所做的贡献深表感谢。这些练习可以配合澳大利亚CSIRO首席研究科学家Peter Corke编写的MATLAB机器人工具箱(Robotics Toolbox)使用。关于MATLAB机器人工具箱,请访问http://petercorkecom/Robotics_Toolboxhtml。
第1章是机器人学的介绍,介绍一些背景资料、基本思想和本书所使用的符号,并概述后面各章的内容。
第2章包括描述三维空间中的位置与姿态的数学知识。这是极为重要的内容:通过定义,机械操作本身与周围空间的移动物体(工件、工具、机器人自身)联系起来。我们需要用一种易于理解并且尽可能直观的方式来描述这些动作。
第3章和第4章讨论机械操作臂的几何问题,介绍机械工程学科中的运动学分支,这个分支研究运动但不考虑引起这种运动的力。在这两章里,我们讨论操作臂运动学,但把研究范围限定在静态定位问题上。
第5章我们将运动学的研究范围扩展到速度和静力方面。
第6章我们开始研究引起操作臂运动的力和力矩。这就是操作臂动力学问题。
第7章描述操作臂在