《机器人的视觉课件》由会员分享,可在线阅读,更多相关《机器人的视觉课件(27页珍藏版)》请在金锄头文库上搜索。
1、第五章 机器人的视觉,5.1 概述,每个人都能体会到,眼睛对人来说是多么重要。可以说人类从外界获得的信息,大多数都是由眼睛得到的。人类视觉细胞的数量大约在108数量级,是听觉细胞的3000多倍,是皮肤感觉细胞的100多倍。从这个角度来说,也可以看出视觉系统的重要性。至于视觉的应用范围,简直可以说是包罗万象。 智能机器人为了具有人的一部分智能,必须了解周围的环境,获取机器人周围世界的信息,人们为了从外界环境获取信息,一般是通过视觉、触觉、听觉等感觉器官来进行的也就是说如果要赋予机器人较为高级的智能,那么离开视觉系统是无法做到的。,第一代工业机器人只能按照预先规定的动作往返操作,一旦工作环境变化,
2、机器就不能胜任工作。这是因为第一代机器人没有视觉系统,无法感知周围环境和工作对象的情况。因此对于智能机器人来说,视觉系统是不可缺少的。从20世纪60年代开始,人们便着手研究机器人的视觉系统。一开始只能识别平面上的类似积木的物体。到了20世纪70年代,已经可以认识某些加工部件,也能认识室内的桌子、电话等物品了。当时的研究工作虽然进展很快,但无法应用于实际。这是因为视觉系统的信息量极大,处理这些信息的硬件系统十分庞大,花费的时间也长。,随着大规模集成技术的发展,计算机内存的体积不断缩小,价格急剧下降,速度不断提高,视觉系统也走进了实用化。进入20世纪80年代后,由于微机的飞速发展,实用的视觉系统已
3、经进入各个领域,其中用于机器人的视觉系统数量是很多的。 我们知道,人的视觉通常是识别环境对象的位置坐标,物体之间的相对位置,物体的形状颜色等,由于人们生活在一个三维空间里,所以机器人的视觉也必须能够理解三维空间的信息,即机器人的视觉与文字识别或图像识别是有区别的,它们的区别在于机器人视觉系统需要处理三维图像,不仅需要了解物体的大小、形状,还要知道物体之间的关系。为了实现这个目标,要克服很多困难。因为视觉传感器只能得到二维图像,那么从不同角度上来看同一物体,就会得到不同的图像。光源的位置不同,得到的图像的明暗程度与分布情况也不同;实际的物体虽然互不重叠,但是从某一角度上看,却能得到重叠的图像。为
4、了解决这个问题,人们采取了很多的措施,并在不断地研究新方法。,5.2 机器人的视觉系统的组成及其原理,一、机器人视觉系统的硬件系统,. 机器人视觉系统的硬件组成,()景物和距离传感器 常用的有摄象机、CCD图像传感器、超声波传感器和结构光设备等。 ()视频信号数字话设备 其任务是把摄象机或CCD输出的信号转换成方便计算和分析的数字信号。,. 机器人视觉系统的硬件组成,()视频信号快速处理器,视频信号时实、快速、并行运算的硬件设备:如DSP系统。 ()计算机及其外设 根据系统的需要可以选择不同的计算机及其外设来满足机器人视觉信息处理及机器人控制的需要。 ()机器人或机械手及其控制器。,2. 机器
5、人视觉的软件系统组成,()计算机系统软件 选用不同类型的计算机,就有不同的操作系统和它所支撑的各种语言、数据库等。 ()机器人视觉信息处理算法 图像预处理、分割、描述、识别和解释等算法。 ()机器人控制软件。,二、CCD原理,视觉信息通过视觉传感器转换成电信号。在空间采样和幅值变化后,这些信号就形成了一幅数字图像。机器人视觉使用的主要部件是电视摄象机,它由摄象管或固态成像传感器及相应的电子线路组成。固态成像传感器的关键部分有两种类型,一种是电荷耦合器件(CCD);另一种是电荷注入器件(CID)。与具有摄象管的摄象机相比,固态成像器件有若干优点,它体积小、寿命长、功耗低、图像质量高、灵敏度高、抗
6、震动等优点。,二、CCD原理,电荷耦合器件(CCD)的最突出的特点在于它是以电荷作为信号,而不同于其它大多数器件是以电流或者电压作为信号。CCD的基本功能是电荷存储和电荷转移。因此,CCD工作过程中的中心问题是信号电荷的产生、存储、传输和检测。,二、视频数字信号处理器,图像信号一般是二维信号,一幅图像通常由512*512个像素组成,每个像素有256级灰度,或者是3*8bit,红黄蓝16M种颜色,一幅图像就有256KB或者768KB个数据。为了完成视觉处理的传感、预处理、分割、描述、识别和解释,上述几项主要完成的数学运算可以归纳为:,(1)点处理(2)二维卷积的运算 (3)二维正交变换(4)坐标
7、变换(5)统计量计算,(1)点处理,常用于对比度增强、密度非线性校正、阈值处理、伪彩色处理等。每个像素的输入数据经过一定的变换关系映射成像素的输出数据,例如对数变换可以实现暗区对比度扩张。,(2)二维卷积的运算,常用于图像平滑、尖锐化、轮廓增强、空间滤波、标准模块匹配计算等。若用M*M卷积核矩阵对整幅图像进行卷积时,要得到每个像素的输出结果就需要作M2次乘法和(M2-1)次加法,由于图像像素一般很多,即使用较小的卷积和,也需要进行大量的乘加运算和访问存储器。,(3)二维正交变换,常用的二维正交变换有FFT、Walsh、Haar和K-L变换等,常用于图像增强、复原、二维滤波、数据压缩等。,(4)
8、坐标变换,常用于图像的放大缩小、旋转、移动、配准、几何校正和由投影值重建图像等。,(5)统计量计算,如计算密度直方图分布、平均值和协方差矩阵等。在进行直方图均衡化、面积计算、分类时,常常要进行这些计量计算。,在视觉信号处理时,要进行上述运算,计算机需要大量的运算次数和大量的访问存储器次数。如果采用一般的计算机进行视频数字信号处理,就有很大的限制。所以在通用的计算机上处理视觉信号,突出有两个局限性:一是运算速度慢、二是内存容量小,为了解决这些问题提出了三种方案。,(1)利用大型高速计算机组成通用的视频信号处理系统 为了解决小型计算机运算速度慢、存储量小的缺点,人们自然会使用大型高速计算机,但缺点
9、是成本太高。 (2)小型高速阵列机 采用大型计算机的主要问题是设备成本太高,为了降低视频信号处理系统的造价,提高设备的利用率,有的厂家在设计视频信号处理系统时,选用造价低廉的中小型计算机为主机,再配备一台高速阵列机。,(3)采用专用的视觉处理器 为了适应微型计算机视频数字信号处理的需要,不少厂家设计了专用的视觉信号处理器,它的结构简单、成本低、性能指标高。多数采用多处理器并行处理,流水线式体系结构以及基于DSP的方案。,5.3 视觉信息的处理,如何从视觉传感器输出的原始图像中得到景物的精确三维集合描述和定量地确保定景物中物体的特性是非常困难的,也是目前计算机视觉,或称为图像理解的主要研究课题。
10、但是对于完成某一特定的任务所用的机器视觉系统来说,则不需要全面地“理解”它所处的环境,而只需要抽取为完成该任务的必须的信息。,视觉处理的过程和方法如下图:,一、预处理,预处理的主要目的是清除原始图像中各种噪声等无用的信息,改进图像的质量,增强感兴趣的有用信息的可检测性。从而使后面的分割、特征抽取和识别处理得以简化,并提高其可靠性。机器视觉常用的预处理包括去噪、灰度变换和锐化等。,去噪 原始图像中不可避免地会包括许多噪声,如传感器噪声、量化噪声等。 灰度变换 由于光照等原因,原始图像的对比度往往不理想,利用各种灰度变换处理可以增强图像的对比度。 锐化 与平滑处理相反,为了突出图像中的高频成分,使
11、轮廓增强,可以采用锐化处理。,二、图像的分离,图像的边缘检测 (1)基本公式 (2)梯度算子 (3)阈值化,图像的边沿连接和边界检测,(1)用局部分析方法进行边沿连接 (2)阈值化,5.4 数字图像的编码,轮廓编码:在画面灰度变化较小的情况下,用轮廓线来描述图形的特征。 扫描法:是将一个画面按一定的间距进行扫描,在每条扫描线上找出浓度相同区域的起点和长度。,5.5 机器人视觉系统应用举例,机器人的视觉应用可以大致分为3类:视觉检验、视觉引导和过程控制,以及近年来迅速发展的移动机器人视觉导航。其应用领域包括电子工业、汽车工业、航空工业,以及食品和制药等各个工业领域。,例如:机器人在完成装配、分类
12、或搬运作业时,如果没有视觉反馈,给机器人提供的零件必须保持精确固定的位置和方向,为此对每一特定形状的零件要用专门的振动斗式上料器供料,这样才能保证机器人准确的抓取零件。但由于零件的形状、体积、重量等原因,有时不能保证提供固定的位置和方向,或者对于多种零件、小批量的产品用上料器是不经济的,这时用机器视觉系统完成零件识别、定位和定向,引导机器人完成零件分类、取放,以至拧紧和装配则是一种经济有效的方法。,另一种视觉引导的应用也是起始于汽车工业,即焊接机器人的视觉导引焊缝跟踪。汽车工业使用的机器人大约一半是用于焊接。自动焊接比手工焊接可保证焊接质量的一致性。但自动焊接关键问题是要保证被焊接工件位置的精
13、确性。利用传感器反馈可以使自动焊接具有更大的灵活性,但各种机械式或电磁式传感器需要接触或接近金属表面,因此工作速度慢、调整困难。机器视觉作为非接触式传感器用于焊接机器人的反馈控制有极大的优点。它可以直接用于动态测量和跟踪焊缝的位置和方向,因为在焊接过程中工件可能发生热变形,引起焊缝位置变化。,一种典型的应用是荷兰Oldelft公司研制的Seampilot视觉系统。该系统已被许多机器人公司用于组成视觉导引焊接机器人。,它由3个功能部件组成:激光扫描器摄象机、摄象机控制单元(CCU)、信号处理计算机(SPC)。如图所示为激光扫描器摄象机的结构原理图,它装在机器人的手上。激光聚焦到伺服控制的反射镜上,形成一个垂直于焊缝的扇面激光束,线阵CCD摄象机捡出该光束在工件上形成的图像,利用三角发由扫描的角度和成像的位置,就可以计算出激光点的y-z坐标位置,即得到了工件的剖面轮廓图像,并可在监视器上显示。剖面轮廓数据经摄象机控制单元(CCU)送给信号处理计算机(SPC),将这一剖面数据与操作手预先选定的焊接接头板进行比较,一旦匹配成功即可确定焊缝的有关位置数据,并通过串口将这些数据送到机器人控制器。,