首页 理论教育 大学生科技竞赛获奖作品精析:机器人视觉系统

大学生科技竞赛获奖作品精析:机器人视觉系统

时间:2023-10-02 理论教育 版权反馈
【摘要】:在该机器人中,视觉系统由摄像头和超声波传感器来组成图像数据的采集装置,通过Matlab软件完成进一步的图像处理与算法实现,从而确定前方障碍物的高度,搜救机器人根据视觉系统获取的信息将自动判断并选择翻越还是采取绕行的方案。图2-22所示为视觉系统硬件设备。

大学生科技竞赛获奖作品精析:机器人视觉系统

1.机器人视觉系统概述

机器人视觉系统作为机器人系统的重要环节,将为机器人自主控制、上位机人为控制提供至关重要的信息。机器人视觉系统通过视觉传感器获取环境二维图像,并通过视觉处理器进行分析和解释,进而转换为符号,让机器人能够辨识物体,并确定其位置。在该机器人中,视觉系统由摄像头和超声波传感器来组成图像数据的采集装置,通过Matlab软件完成进一步的图像处理算法实现,从而确定前方障碍物的高度,搜救机器人根据视觉系统获取的信息将自动判断并选择翻越还是采取绕行的方案。

2.超声波技术

安全避障是移动机器人研究中的一个基本问题,而障碍物与机器人之间距离的获取是一个关键环节。超声波在空气中传播时,如果遇到其他媒介,则因两种媒介的声阻抗不同而产生反射。因此,向前方路面障碍物发射超声波,检测反射波并进行分析,便可判断并获知前方路面的状况。

超声波传感器以其信息处理简单、价格低廉、环境适应性强、硬件实现容易、近距范围内不受光线影响等优点,被广泛用做测距工具。

3.常用超声波传感器的原理及其结构

在目前使用的超声波传感器中,按照超声波产生的原理主要有两大类:压电晶体(电致伸缩)类和镍铁铝合金磁致伸缩)类。搜救机器人中使用的是前一种超声波,下面对压电晶体制成的超声波传感器的组成结构及其产生、工作原理进行简单的介绍。超声波传感器如图2-18所示。

978-7-111-43440-5-Chapter02-18.jpg

图2-18 超声波传感器

超声波传感器包括三个部分:超声换能器、处理单元和输出极。

当电压作用于压电陶瓷时,就会随电压和频率的变化产生机械变形。另一方面,当振动压电陶瓷时,则会产生一个电荷。利用这一原理,当给由两片压电陶瓷或一片压电陶瓷和一个金属片构成的振动器,即双压电晶片元件,施加一个电信号时,就会因弯曲振动发射出超声波。相反,当向双压电晶片元件施加超声振动时,就会产生相应的电信号。

首先处理单元对超声换能器加以电压激励,其受激后以脉冲形式发出超声波,接着超声换能器转入接收状态(相当于一个麦克风),处理单元对接收到的超声波脉冲进行分析,判断收到的信号是不是所发出的超声波的回声。如果是,就测量超声波的行程时间,再根据测量的时间计算量程。图2-19所示为超声波测距原理图

978-7-111-43440-5-Chapter02-19.jpg

图2-19 超声波测距原理图

图2-20所示为测距系统整体结构图。测距系统硬件结构包括上位机、处理器、超声波振荡电路、驱动电路、信号放大电路、整形和比较电路。

超声波发射电路由振荡电路和驱动电路两部分组成。振荡电路是由与非门电阻与电容组成的简单电路,能产生40kHz的方波信号驱动超声波传感器发射超声波;驱动电路产生具有一定功率的超声波电脉冲去激励超声波传感器,由6个非门并联组成,利用了芯片本身的驱动能力。

978-7-111-43440-5-Chapter02-20.jpg

图2-20 测距系统整体结构图

超声波接收电路分信号放大、整形和比较三部分。超声波接受传感器接收的信号十分微弱,仅为毫伏级,该信号需要经过放大才能被单片机检测到。从放大器输出的信号经过倍压整形电路后进入比较器。调节比较器的基准电压可以改变测距系统的测量范围和测量精度。

超声波测距的算法一般采用渡越时间法(time of flight,TOF)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到两倍的声源与障碍物之间的距离,即

978-7-111-43440-5-Chapter02-21.jpg

式中,D为传感器与被测障碍物之间的距离;c为声波在介质中的传输速率,在空气中声波传输速率为978-7-111-43440-5-Chapter02-22.jpg,其中T热力学温度c0=331.4m/s。在测距精度不是很高的情况下,一般认为c为340m/s。

由式(2-1)可以看出,声波的传播速率是随着介质温度的升高而加快的,气温增高1℃,声速增加0.6m/s。表2-1列出了波速与温度的关系:

表2-1 波速与温度的关系

978-7-111-43440-5-Chapter02-23.jpg

系统中产生的误差主要来自于温度的影响及超声波发生器和接收器之间距离而导致的信号直接传递。(www.xing528.com)

针对温度影响,采用了温度传感器进行误差补偿。将温度传感器的温度变化值转化电压变化值,经微处理器处理后,计算得到实际的波速,从而消除温度对超声波的影响。

针对超声波发射器和接收器之间信号直接传递的处理,系统中主要采用距离修正的方法进行修正。

考虑发射和接收探头之间的距离为d,经过温度补偿后的实际超声波波速为c,测量得到的时间值T,则距离公式修正为

978-7-111-43440-5-Chapter02-24.jpg

4.图像处理技术

图像处理一般指数字图像处理。数字图像是指用数字摄像机扫描仪等设备经过采样和数字化得到的一个二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别三个部分。研究方向从图像处理到计算机视觉可以分为三个层次:低级、图像预处理、增强处理,如:对比度增强,输入、输出均为图像;中级,图像分割;高级,模式识别。输入为图像,输出为规则。图2-21为图像处理系统组成原理图。

项目中硬件部分主要为摄像头、图像接收和发射装置及计算机。软件部分主要是运用Matlab软件来对所获取的数字图像进行处理。图2-22所示为视觉系统硬件设备。

978-7-111-43440-5-Chapter02-25.jpg

图2-21 图像处理系统组成原理图

978-7-111-43440-5-Chapter02-26.jpg

图2-22 视觉系统硬件设备

5.数字图像处理的一般步骤

图2-23所示为图像处理的一般步骤。

数字图像处理的过程大致分为五步来进行:

(1)图像输入 图像处理的第一步是获取处理对象的可见模拟图像,并将其转换为计算机能接受的数字图像,再输入计算机。如果对象的信息是不可见的,则首先进行所谓“信息的可视化”或“可见光图像生成”等处理。Matlab中从图像文件中读取数据用函数imread(),这个函数的作用就是将图像文件的数据读入矩阵中,此外还可以用imfinfo()函数查看图像文件的信息。

978-7-111-43440-5-Chapter02-27.jpg

图2-23 图像处理的一般步骤

(2)图像存储与检索 为了保存、处理或者传递图像信息,需要将原图像或经过处理的图像信息在计算机中按某种规律存储,必要时可以查找。

(3)图像增强 图像增强是一种将输入图像变换成便于获取所需信息的状态的各种处理的总称,也可理解为一种改善图像品质的处理内容。例如噪声(即各种干扰信号)减弱、对比度改善、变形修正、模糊消除等都属于图像增强的内容。由于种种原因,图像的品质常常是不理想的,因此图像增强是图像处理中的重要环节。对比度改善常使用直方图均衡化的方法,灰度直方图用于显示图像的灰度值分布情况,是数字图像处理中最简单和最实用的工具。Matlab中提供了专门绘制直方图的函数imhist(),imadjust()函数可以使直方图均衡化。对于如何使得噪声(即各种干扰信号)减弱,可以运用代数运算,对两幅输入图像进行点对点的加、减、乘和除计算而得到输出图像的运算。对于相加和相乘的情形,可能不止有两幅图像参加运算。图像相加的一个重要应用是对同一场景的多幅图像求平均值。这点被经常用来有效地降低加性随机噪声的影响。另外,在数字图像处理中,常常会遇到图像中混杂有许多的噪声。因此,在进行图像处理中,有时要先进行去除噪声的工作。最常用的去除噪声的方法是用滤波器进行滤波处理。Matlab的图像处理工具箱里设计了许多的滤波器可供选用。

(4)图像特征提取 通过图像信息去测量、识别或理解其中的对象物,依赖于一些能表征对象物的图像特征,如线、边缘、区域、形状、颜色、纹理等等。通过各种处理方法,将包含图像信息中的必要的特征显露出来,并加以量化处理。数字图像主要是二值图像,是对图像的形状特征进行提取,形状特征的特点:各种基于形状特征的检索方法都可以比较有效地利用图像中感兴趣的目标来进行检索,但它们也有一些共同的问题,包括:①目前基于形状的检索方法还缺乏比较完善的数学模型;②如果目标有变形时检索结果往往不太可靠;③许多形状特征仅描述了目标局部的性质,要全面描述目标常对计算时间和存储量有较高的要求;④许多形状特征所反映的目标形状信息与人的直观感觉不完全一致,或者说,特征空间的相似性与人视觉系统感受到的相似性有差别。另外,从2D图像中表现的3D物体实际上只是物体在空间某一平面的投影,从2D图像中反映出来的形状常不是3D物体真实的形状,由于视点的变化,可能会产生各种失真。通常情况下,形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征。图像的轮廓特征主要针对物体的边缘,图像边缘对图像识别和计算机分析十分有用,边缘能勾画出目标物体,使观察者一目了然;边缘蕴含了丰富的内在信息(如方向、阶跃性质、形状等),是图像识别中重要的图像特征之一。从本质上说,图像边缘是图像局部特性不连续性(灰度突变、颜色突变、纹理结构突变等)的反映,它标志着一个区域的终结和另一个区域的开始。而图像的区域特征则关系到整个形状区域。边界特征法通过对边界特征的描述来获取图像的形状参数。

Hough变换检测平行直线方法是经典的图像特征提取方法。Hough变换是利用图像全局特性而将边缘像素连接起来组成区域封闭边界的一种方法,其基本思想是点-线的对偶性。我们先看这样一个问题:设已知一黑白图像上画了一条直线,要求出这条直线所在的位置。直线的方程可以用y=kx+b来表示,其中kb是参数,分别是斜率和截距。过某一点(x0y0)的所有直线的参数都会满足方程y0=kx0+b。即点(x0y0)确定了一族直线。方程y0=kx0+b在参数k-b平面上是一条直线,(也可以是方程b=-x0k+y0对应的直线)。这样,图像x-y平面上的一个前景像素点就对应到参数平面上的一条直线。举个例子说明解决前面那个问题的原理。设图像上的直线是y=x,先取上面的三个点:A(0,0),B(1,1),C(2,2)。可以求出,过A点的直线的参数要满足方程b=0,过B点的直线的参数要满足方程1=k+b,过C点的直线的参数要满足方程2=2k+b,这三个方程就对应着参数平面上的三条直线,而这三条直线会相交于一点(k=1,b=0)。同理,原图像上直线y=x上的其他点(如(3,3),(4,4)等)对应参数平面上的直线也会通过点(k=1,b=0)。这个性质就为解决问题提供了方法:首先,初始化一块缓冲区,对应于参数平面,将其所有数据置为0。对于图像上每一前景点,求出参数平面对应的直线,把这直线上的所有点的值都加1。最后,找到参数平面上最大点的位置,这个位置就是原图像上直线的参数。上述即为Hough变换的基本思想。假如前方障碍物为一个圆形大石头,可以从图像采集中得到一副半径已知的圆形来。取和图像平面一样的参数平面,以图像上每一个前景点为圆心,以已知的半径在参数平面上画圆,并把结果进行累加。最后找出参数平面上的峰值点,这个位置就对应了图像上的圆心。在这个问题里,图像平面上的每一点对应到参数平面上的一个圆。把上面的问题改一下,假如不知道半径的值,而要找出图像上的圆来。这样,一个办法是把参数平面扩大称为三维空间。就是说,参数空间变为x-y-R三维,对应圆的圆心和半径。图像平面上的每一点就对应于参数空间中每个半径下的一个圆,这实际上是一个圆锥。最后当然还是找参数空间中的峰值点。不过,这个方法显然需要大量的内存,运行速度也会是很大问题。有另外一个更好的方法,前面假定的图像都是黑白图像(二值图像),实际上这些二值图像多是彩色或灰度图像通过边缘提取来的。前面提到过,图像边缘除了位置信息,还有方向信息也很重要,这里就用上了。根据圆的性质,圆的半径一定在垂直于圆的切线的直线上,也就是说,在圆上任意一点的法线上。这样,解决上面的问题,仍采用二维的参数空间,对于图像上的每一前景点,加上它的方向信息,都可以确定出一条直线,圆的圆心就在这条直线上。这样一来,问题就会简单了许多。接下来还有许多类似的问题,如检测出椭圆、正方形、长方形和圆弧等。这些方法大都类似,关键就是需要熟悉这些几何形状的数学性质。

(5)图像输出 用计算机再现输入的、输出的以及中间处理结果的图像内容,是我们考察处理结果、获取处理结果所必需的。

6.视觉系统总结

通过超声波传感器准确测得机器人与障碍物的距离;通过摄像头采集得到数字图像,并运用Matlab数字图像处理工具箱对得到的图像进行一系列的处理,得到有关数据。最后利用凸透镜成像的原理,由相似三角形解出要求的障碍物高度,将数据传输给计算机,由它来决定机器人是否要越过障碍物。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈