微信扫码下载

内容简介

  

机器人学、机器视觉与控制――MATLAB算法基础》是关于机器人学和机器视觉的实用参考书,第一部分“基础知识”(第2章和第3章)介绍机器人及其操作对象的位置和姿态描述,以及机器人路径和运动的表示方法;第二部分“移动机器人”(第4章至第6章)介绍其基本运动控制模式及其导航和定位方法;第三部分“臂型机器人”(第7章至第9章)介绍其运动学、动力学和控制方面的知识;第四部分“计算机视觉”(第10章至第14章)包括光照与色彩,图像形成和处理技术,图像特征提取,以及基于多幅图像的立体视觉技术;第五部分“机器人学、视学与控制”(第15章和第16章)分别讨论基于位置和基于图像的视觉伺服及更先进的混合视觉伺服方法。《机器人学、机器视觉与控制――MATLAB算法基础》将机器人学与机器视觉知识有机结合,给出了实例算法和程序。作者有完备的代码可下载,用于验证书中知识点和实例,注重如何利用视觉信息控制机器人的运动。

作者简介

PeterCorke20多年一直致力于机器人与视觉二者的集成技术研究和探索,并且取得了很多突出的成果,具有丰富的实践经验。PeterCorke20多年一直致力于机器人与视觉二者的集成技术研究和探索,并且取得了很多突出的成果,具有丰富的实践经验。

目录

第1章绪言
1.1关于《机器人学、机器视觉与控制――MATLAB算法基础
1.1.1MATLAB软件
1.1.2读者对象及必备知识
1.1.3符号与约定
1.1.4怎样使用《机器人学、机器视觉与控制――MATLAB算法基础
1.1.5使用《机器人学、机器视觉与控制――MATLAB算法基础》教学
1.1.6《机器人学、机器视觉与控制――MATLAB算法基础》梗概
第一部分基础知识
第2章位置与姿态描述
2.1二维空间位姿描述
2.2三维空间位姿描述
2.2.1三维空间姿态描述
2.2.2平移与旋转组合
2.3本章总结
延伸阅读
习题
第3章时间与运动
3.1轨迹
3.1.1平滑一维轨迹
3.1.2多维的情况
3.1.3多段轨迹
3.1.4三维空间姿态插值
3.1.5笛卡儿运动
3.2时变坐标系
3.2.1旋转坐标系
3.2.2增量运动
3.2.3惯性导航系统
3.3本章总结
延伸阅读
习题
第二部分移动机器人
第4章移动机器人载体
4.1机动性
4.2移动机器人小车
4.2.1移动到一个点
4.2.2跟踪一条直线
4.2.3跟踪一般路径
4.2.4运动到一个位姿
4.3飞行机器人
4.4本章总结
扩展阅读
习题
第5章机器人导航
5.1反应式导航
5.1.1Braitenberg车
5.1.2简单自动机
5.2基于地图的路径规划
5.2.1距离变换
5.2.2D*
5.2.3沃罗诺伊路线图法
5.2.4概率路线图方法
5.2.5RRT
5.3本章总结
扩展阅读
习题
第6章机器人定位
6.1航迹推算
6.1.1机器人建模
6.1.2位姿估计
6.2使用地图
6.3创建地图
6.4定位并制图
6.5蒙特卡罗定位
6.6本章总结
扩展阅读
习题
第三部分臂型机器人
第7章机械臂运动学
7.1描述一台机械臂
7.2正运动学
7.2.1两连杆机器人
7.2.2六轴机器人
7.3逆运动学
7.3.1封闭形式解
7.3.2数值解
7.3.3欠驱动机械臂
7.3.4冗余机械臂
7.4轨迹
7.4.1关节空间运动
7.4.2笛卡儿运动
7.4.3通过奇异位形的运动
7.4.4位形转换
7.5高级问题
7.5.1关节角偏移
7.5.2确定D-H参数
7.5.3改进D-H参数
7.6应用:绘图
7.7应用:一个简单的步行机器人
7.7.1运动学
7.7.2单腿运动
7.7.3四腿运动
7.8本章总结
扩展阅读
习题
第8章速度关系
8.1机械手的雅可比矩阵
8.1.1坐标系之间的速度转换
8.1.2末端执行器坐标系的雅可比矩阵
8.1.3解析雅可比矩阵
8.1.4雅可比条件及可操纵性
8.2分解速率运动控制
8.2.1雅可比矩阵的奇异性
8.2.2欠驱动机器人的雅可比矩阵
8.2.3过驱动机器人的雅可比矩阵
8.3力的关系
8.3.1坐标系间的力旋量转换
8.3.2力旋量转换至关节空间
8.4逆运动学:一个通用数值方法
8.5本章总结
扩展阅读
习题
第9章动力学与控制
9.1运动方程
9.1.1重力
9.1.2惯量矩阵
9.1.3科氏矩阵
9.1.4有效载荷的影响
9.1.5基座力
9.1.6动态可操作性
9.2传动系统
9.2.1摩擦
9.3正向动力学
9.4机械臂关节控制
9.4.1驱动器
9.4.2独立关节控制
9.4.3刚体动力学补偿
9.4.4柔性传动
9.5本章总结
扩展阅读
习题
第四部分计算机视觉
第10章光与色彩
10.1光的谱表示
10.1.1吸收
10.1.2反射
10.2色彩
10.2.1颜色再造
10.2.2色度空间
10.2.3色彩名称
10.2.4其他颜色空间
10.2.5两种原色之间的转换
10.2.6什么是白色
10.3高级议题
10.3.1颜色的不变性
10.3.2白平衡
10.3.3由于吸收的颜色变化
10.3.4伽玛
10.3.5应用:彩色图像
10.4本章总结
扩展阅读
习题
第11章图像形成
11.1透视变换
11.1.1透镜畸变
11.2相机标定
11.2.1齐次变换法
11.2.2分解相机标定矩阵
11.2.3位姿估计
11.2.4相机标定工具箱
11.3非透视成像模型
11.3.1鱼眼镜头相机
11.3.2反射折射相机
11.3.3球形相机
11.4统一化成像
11.4.1映射广角图像到球面上
11.4.2合成透视图像
11.5本章总结
扩展阅读
习题
第12章图像处理
12.1获取图像
12.1.1来自文件的图像
12.1.2来自附带相机的图像
12.1.3来自电影文件的图像
12.1.4来自网络的图像
12.1.5来自代码的图像
12.2一元操作
12.3二元操作
12.4空间操作
12.4.1互相关
12.4.2模板匹配
12.4.3非线性操作
12.5数学形态学
12.5.1去除噪声
12.5.2边界检测
12.5.3形态交离变换
12.6形状变化
12.6.1裁剪
12.6.2图像缩放
12.6.3图像金字塔
12.6.4图像变形
12.7本章总结
扩展阅读
习题
第13章图像特征提取
13.1区域特征
13.1.1分类
13.1.2图像表示
13.1.3图像描述
13.1.4简要回顾
13.2直线特征
13.3点特征
13.3.1经典角点检测器
13.3.2尺度空间角点检测器
13.4本章总结
扩展阅读
习题
第14章使用多幅图像
14.1特征匹配
14.2多视图几何学
14.2.1基本矩阵
14.2.2本质矩阵
14.2.3估计基本矩阵
14.2.4平面单应性
14.3立体视觉
14.3.1稀疏立体匹配
14.3.2密集立体匹配
14.3.3峰值细化
14.3.4清理和重构
14.3.5三维纹理映射显示
14.3.6补色立体图
14.3.7图像矫正
14.3.8平面拟合
14.3.93D点集匹配
14.4结构和运动
14.5应用:透视矫正
14.6应用:拼接
14.7应用:图像匹配和检索
14.8应用:图像序列处理
14.9本章总结
扩展阅读
习题
第五部分机器人学、视觉与控制
第15章基于视觉的控制
15.1基于位置的视觉伺服
15.2基于图像的视觉伺服
15.2.1相机和图像运动
15.2.2控制特征运动
15.2.3深度
15.2.4控制性能分析
15.3使用其他图像特征
15.3.1直线特征
15.3.2圆特征
15.4本章总结
扩展阅读
习题
第16章高级视觉伺服
16.1XY/Z分割的IBVS
16.2使用极坐标的IBVS
16.3对一个球面相机的IBVS
16.4应用:机械臂机器人
16.5应用:移动机器人
16.5.1完整约束移动机器人
16.5.2非完整约束移动机器人
16.6应用:飞行机器人
16.7本章总结
扩展阅读
习题
附录
附录A安装工具箱
附录BSimulink软件
附录CMATLAB对象
附录D线性代数复习
附录E椭圆
附录F高斯随机变量
附录G雅克比矩阵
附录H卡尔曼滤波
附录I齐次坐标系
附录J图
附录K峰值搜索
术语
参考文献

前言/序言

机器人学、机器视觉与控制――MATLAB算法基础》是关于机器人学和机器视觉的实用参考书,第一部分“基础知识”(第2章和第3章)介绍机器人及其操作对象的位置和姿态描述,以及机器人路径和运动的表示方法;第二部分“移动机器人”(第4章至第6章)介绍其基本运动控制模式及其导航和定位方法;第三部分“臂型机器人”(第7章至第9章)介绍其运动学、动力学和控制方面的知识;第四部分“计算机视觉”(第10章至第14章)包括光照与色彩,图像形成和处理技术,图像特征提取,以及基于多幅图像的立体视觉技术;第五部分“机器人学、视学与控制”(第15章和第16章)分别讨论基于位置和基于图像的视觉伺服及更先进的混合视觉伺服方法。


机器人学、机器视觉与控制――MATLAB算法基础》将机器人学与机器视觉知识有机结合,给出了实例算法和程序。作者有完备的代码可下载,用于验证书中知识点和实例,注重如何利用视觉信息控制机器人的运动。



只要会使用MATLAB就能通过《机器人学、机器视觉与控制――MATLAB算法基础》学习和掌握机器人与机器人视觉的基础知识和控制算法。《机器人学、机器视觉与控制――MATLAB算法基础》使用的MATLAB“机器人学工具箱”(RoboticsToolbox)和“机器视觉工具箱”(MachineVisionToolbox)可从www.petercorke.com/RVC下载。



译者序



从世界上第一台工业机器人诞生至今,机器人技术已经有了长足的发展。智能机器人是现今机器人领域研究的热点,其特点之一是能够融合多种传感器的信息做出分析、判断和决策,以适应复杂的环境和任务。随着硬件成本的降低和计算机性能的提升,视觉传感器已逐渐成为机器人常用的感知器件。与其他种类传感器相比,视觉传感器能提供更加丰富和全面的信息,因而必将成为智能机器人的主要传感器。


目前,国内外有关机器人技术和机器视觉技术的专著很多,但大多是两种技术单独论述。即使有的机器人专著中包含了视觉技术,也是作为机器人传感器的一种简要介绍。《机器人学、机器视觉与控制――MATLAB算法基础》是将机器人学与机器视觉知识有机结合的产物。虽然书中阐述了机器人学和机器视觉各自的基础知识,但更注重如何利用视觉信息控制机器人的运动,将两者融合运用。《机器人学、机器视觉与控制――MATLAB算法基础》侧重知识的实用性,图片说明及应用实例贯穿《机器人学、机器视觉与控制――MATLAB算法基础》,很少有理论方程的长篇大论。即使在讲述理论基础知识的同时,也穿插了很多实例,可以让读者对学到的知识点及时进行验证,使读者不断获得掌握知识的满足感,增加学习兴趣。另外,《机器人学、机器视觉与控制――MATLAB算法基础》给出的实例算法和程序都是基于目前国内大专院校和研究所广泛使用的数学仿真软件包MATLAB。该软件包功能强大,而且有很多开源的工具箱,其中《机器人学、机器视觉与控制――MATLAB算法基础》主要使用的“机器人学工具箱”和“机器视觉工具箱”就是作者自己编写的。读者可以利用MATLAB中现成的函数、模块及工具箱完成机器人的运动和控制仿真,从而省去大量编程时间,便于快速验证和掌握所学的知识,也为下一步用其他语言编程打下了基础。


机器人学、机器视觉与控制――MATLAB算法基础》共分为5部分。第一部分是机器人学基础(第2章和第3章),介绍了机器人及其操作对象的位置和姿态表达,以及机器人路径和运动的表示方法;第二部分和第三部分介绍了两类典型的机器人,其中第二部分(第4章至第6章)是关于移动机器人的,介绍了其基本运动控制模式及其导航和定位方法;第三部分(第7章至第9章)针对关节式机械臂,介绍了其运动学、动力学和控制方面的知识;第四部分(第10章至第14章)涉及了机器视觉技术的基础知识,包括光照与色彩、图像形成、图像处理、图像特征提取,以及立体视觉技术;第五部分(第15章和第16章)介绍了基于视觉的机器人控制方法,包括基于位置的视觉伺服和基于图像的视觉伺服,以及更先进的混合视觉伺服方法。


机器人学、机器视觉与控制――MATLAB算法基础》可以作为学习机器人技术和视觉控制的高年级本科生和研究生的教辅书籍。现有的专业教材一般理论性较强,知识比较抽象,难以理解。同时,要在实际机器人上开展大量实验成本既高,也耗时。《机器人学、机器视觉与控制――MATLAB算法基础》中大量的仿真实验实例会帮助学生更容易和及时地验证并掌握相关知识。该书也可以作为从事机器人技术研究和开发人员的技术参考书,可以帮助他们在机器人投入实际制作前对机器人的运动和控制进行仿真,验证其设计的合理性和有效性。


参加《机器人学、机器视觉与控制――MATLAB算法基础》翻译工作的有刘荣(翻译第1章、第6章、第15章和第16章及附录)、薛彤(翻译第2章和第3章)、陈锐(翻译第4章和第5章)、徐江平(翻译第7章至第9章)、李扬(翻译第10章至第12章)和翟士民(翻译第13章和第14章)。《机器人学、机器视觉与控制――MATLAB算法基础》由刘荣负责统稿和审校。鉴于译者水平有限,难免有错误和不妥之处,敬请广大读者批评指正。





序言




很久以前,我收到一本很厚的博士论文让我评审。论文的主题是关于机器人视觉控制的,作者是彼得?科克(PeterCorke)。以下是我对该论文评语的一段摘录:这是一篇杰作,无论在论文构思还是实际内容上都是出类拔萃的,其质量之高堪称博士生论文的表率。


二十多年来,彼得?科克一直致力于机器人与视觉二者的集成技术研究和探索,并且取得了很多突出的成果。现在,他的这些成果终于在《机器人学、机器视觉与控制――MATLAB算法基础》中与大家见面了。在这本新书中,不仅有前沿理论,还有应用实例,它包含了作者多年来在井下机器人、无人飞行器、水下机器人、野外作业机器人等领域探索中所取得的富有特色的基础和应用研究成果。


虽然现在已有很多关于机器人以及视觉的专著,但很少有像这《机器人学、机器视觉与控制――MATLAB算法基础》一样在两种技术的集成、剖析以及例证方面做得如此出色的。书中对有关技术的探讨和论述既深入透彻,又通俗易懂。对于机器人领域正在或将要从事这方面研究的人员而言,这是一本绝对有价值的参考书。《机器人学、机器视觉与控制――MATLAB算法基础》涉及的技术比较全面,对于要实现机器人视觉任务的几乎每个方面都有涵盖与分析,这一点读者可以从书中对MATLAB工具箱(Toolbox)软件的有效使用中体会到。


机器人学、机器视觉与控制――MATLAB算法基础》内容按读者接受相关知识的先后逻辑进行安排,从移动机器人基础到机器人导航、定位,以及机械臂的运动学、动力学和关节控制,再到摄像机建模、图像处理、特征提取以及多图像几何学。最后,将以上技术知识通过集成到视觉伺服系统中进行更广泛的探讨。在上述过程中,作者展示了如何利用强有力的数字工具和有效软件对复杂问题进行分解并最后解决的方法。


SpringerTractsinAdvancedRobotics(STAR施普林格先进机器人技术集)系列丛书致力于将机器人学领域的最新研究进展引入学术界,内容选择是基于它们的重要性和研究质量。出版该系列丛书的目的是要通过对机器人学一些关键技术开发进展的广泛而及时的传播,推动学术界研究人员之间的交流与合作,并为该技术的进一步发展做出贡献。


彼得?科克的这本专著以其跨学科性、缜密的构思和精彩的内容为STAR系列丛书增色良多。


欧萨马?卡蒂布(OussamaKhatib)


加州,斯坦福


2011年7月




前言



告诉我,我会忘记。


给我看,我可能记住。


让我参与其中,我才会理解。


——中国谚语


机器人和机器视觉的研究都涉及到用算法来处理大量数据。这些数据来源于各种传感器,如测量车轮转速的、测量机械臂关节转角的、或者测量机器人环境观察图像中各像素亮度的。对于很多的机器人应用,需要实时处理的数据量非常大,就视觉处理而言,数据会达到每秒几十到几百兆字节的量级。


过去,机器人和机器视觉领域中的许多技术进步都是由于数据处理方法的改进而推动的,并且这种促进作用仍然继续着。这些数据处理方法的改进一方面体现在大量新的并且更有效的算法的涌现,另一方面则是摩尔定律下的机器本身计算能力的大幅提升。回想20世纪80年代中我踏入机器人和视觉研究领域时,IBM公司的个人计算机才刚推出,它用的仅仅是主频477MHz的16位处理器,以及16KB的内存(扩展后才256KB)。经过25年后,计算机的计算能力已经翻番了16次,也就是增长了大约65000倍。在20世纪80年代后期,能够实时进行处理图像的系统需要19英寸宽的机柜才能装下(见图0.1)。而今天,一块小小的高性能处理芯片就能胜过那时的图像处理能力。


图0.1很久以前,要完成基于视觉的机器人控制需要很多设备。该图片是


1992年作者在实验室里和一大堆图像处理与机器人控制的设备在一起



在机器人和机器视觉近一段时间的发展历程中,研究者们开发出了大量的各种算法,它们是学术界通过技术积累获得的重要成就。然而这些算法不仅数量多,而且都比较复杂,对于刚涉足该领域的人来说是不小的障碍。要想从这么多算法中进行选择,首当其冲的问题就是:


为解决这个特定问题,哪一个才是最佳算法?


一种策略是去尝试多种不同的算法,看哪种算法解决问题的效果最好。但这样做又带来新的问题:


我怎样才能不用花很长时间去编辑和调试程序,就能评判出原始论文中的算法是否适合我自己的数据?


有两种解决方案可以帮助我们。一种是利用通用的数学工具软件,它们能简化算法编程。这类工具中包括商用软件包,如MATLAB、Mathematica和MathCad,也有开源软件包,如SciLabOctave和PyLab。所有这些工具软件包都能轻松自然地处理向量和矩阵,也能绘制出漂亮和复杂的图形,同时具有交互式的编程环境。另一种是开源软件模块。很多学者都把自己开发的算法以开源形式共享出来,有的是用上面提到的通用数学软件包编写的,有的则是用目前主流的C、C++和Java语言编写的。


我本人15来年一直活跃在开源软件的圈子,曾经管理过两个开源的MATLAB工具箱软件:一个是机器人的,另一个是机器视觉的。这两个工具箱可以追述到我做博士论文时期,并且从那时起它们的功能一直在扩展,还随着MATLAB软件语言的改进不断提升(这一点在当时非常重要)。机器人工具箱还被翻译成多种其他编程语言,如PythonSciLab和LabView。


这两个工具箱有一些很重要的特征。第一,它们已经很长时间被很多人使用以解决各种不同的问题,因此代码的可信度较高。在检验新的算法,亦或旧的相同算法要用其他语言编写或者在新环境中执行时,工具箱起到“黄金标准”的作用。


第二,这些工具箱能让使用者接



其他推荐