光电丨rx Li投球亚广联在2002年8月31日在日本东京举行首届亚太地区大学生机器人大赛,有包括中国在内的20个国家参赛。于是中央电视台决定从2002年开始在国内举行一年一度的全国大学生机器人电视大赛,以选拔代表参加东京大赛。2002年6月中旬,两队中国科大机器人在中国首届大学生机器人大赛中囊括冠亚军,其中有视觉控制的机器人夺得。8月31日,中国科大机器人在东京的亚太地区的比赛中获亚军。视觉控制机器人还荣获高技术奖,受到日本机器人专家的一致认同,并且指出这是机器人发展的一个方向。
目前工业机器人已经广泛应用,日本还有类人的双足舞蹈机器人,但是始终有一个仿生的瓶颈无法突破,那就是视觉识别。机器人视觉实际上是计算机视觉的一个应用,但由于运行环境,图像采集方式及处理速度等因素的限制,机器人视觉领域对识别方法和人工智能都有新的要求。在这个方面,我们做了一些尝试。
2整体系统设计介绍我们的机器人的基本任务是:在场地上找到带有彩色坚条的有机塑料桶并将一个充气气球投入其中,如。机器人控制图如所示。
主控制机控制机是机器人的大脑,处理所有信息和控制机器人的所有行为。
CPU:中央处理系统采用计算机系统,即:工控机主板+PI866CPU+Windows操作系统,这样就构成一个视觉控制系统的中央处理器。imi控制示意图图像采集:实时图像处理信息量大,处理速度快,对输入设备要求很高,于是我们采用PCI接口的专业图形采集卡,可以得到每秒29帧的高保真图像。当取景设备较快移动或场景较快变化时,图像无延迟,采集的设备无关位图基本没有模糊和重影现象。当运动很快时,位图中物体的边缘发生模糊,对识别有一些影响。实时图像处理建议不要使用USB接口的图像采集设备,采集速度小,容易出现模糊的位图。
I/控制:计算机的浮点和整数运算能力都很强,足以应付一般的数字控制。为了得到更快,信息量更大的数字控制,我们采用了专业AD/DA数字信号采集输出卡,为PCI接口的。这块卡可以提供32个模拟量监控,4个模拟量输出,8位数字输入,8位数字输出,3个8位计数器等,还可以提供中断服务。CPU处理得号输出到模拟和数字输出口。
驱动器接口控制板:由AD/DA卡输出的数字信号无法直接控制机器人的运动,专门设计了一块用数字电路搭建的将这些数字信号放大或转换为可以直接发到电机驱动板的信号,通过数字编码解码电路扩充输入输出信号量。还包括一块模拟信号!PWM信号电路板。
电机驱动板:采用传统的轮式驱动结构,为直流伺服电机,带有一定的减速比。除驱动轮外还有几个用作其他用途的伺服电机。自制了一种驱动板,采用成品3952A直流电机驱动芯片,用PWM信号调节速度。
执行机构包括机器人地盘,投球机构等机械机构。
传感器我们采用的传感器及用途如表1.表1传感器及用途传感器名称数量型号,说明及用途摄像头1或2真彩480线,建议使用320" 240分辨率,可变焦拉伸镜头,建议使用数控变焦或变光圈。用来采集机器人前方图像。
红外近距光电开关10厘米以上感知距离,用来判断是否将球投出。
点触式碰撞开关若干用来判断是否接触到球桶或障碍物,并将相应信息通过开关量传回中央处理器。
3视觉识别系统视觉控制系统从采集的位图中得到球桶的位置及是否有球等信息,从而决策机器人的运动。关键就是分析出球桶信息。但由于特定的识别环境和目标不同,需要更新不同的识别算法。从中我们可以看到球桶的形态,规格。我们处理的图像是通过线阵CCD摄像头实时获取的,通过采集卡得到Windows环境下通用的D旧位图数据RGB24真彩),处理流程如。
3.1颜色过滤和预处理图像在从摄像头传输到采集卡的过程中,机器人运动,机器人振动和摄像头采集信号失真,不同环境光线的变化,以及复杂背景等产生噪声干扰。所以处理的步是采用一个佳的去噪方法,并且尽量不受光线的影响。
如所示,三种球桶的颜色分别为荧光橙色,荧光绿色,荧光黄色。此三种颜色在RGB分量上都有典型的特征,如荧光橙色,在R分量上接近0xFF,荧光绿色在G分量上接近0xFF,而荧光黄色在G分量上也接近饱和,但是和荧光绿色在R分量上有明显的不同。所以,通过在现场拍摄图片,然后通过RGB分量分析软件很容易取得一个较好的阈值。满足颜色阈值关系的像素,将其三个分量均置为0xFF,即黑色,而不满足颜色关系的像素的三个分量均置为0x00,即白色。将经过处理输出的图像灰度化。即将24位的真彩图像数据格式转存为8位的灰度图像数据格式。
我们还尝试了将RGB格式转化为HLS色调,亮度,饱和度)格式再设阈值去噪声的办法,这样就可以直接去除光线的影响。但是考虑到室内比赛场地光源稳定,并且转化HLS比较耗费时间,这样做是没有必要的,只用RGB设阈值就可以满足要求了。
直接采用RGB去噪声的方法和将图像先转化为HLS格式出噪的方法相比,受光线强弱的影响较大,但由于比赛在室内进行,光源稳定,因此可以忽略光线强弱影响。相反,在实时图像处理中,从RGB到HLS的转化,320"240的图片,采用)61加1866的工控机需要30ms,耗时较长。
3.2边缘检测与二值化球桶的轮廓主要由两部分主成,即横条和坚条。这是选择边缘检测算子的出发点。常用的边缘检测算子有:Laplacian算子,Diff变换,Sobel算子。Laplacian算子对噪声很敏感。的模板,e点的灰度值在水平方向上,考虑到要定位的原因,先用Laplacian算子进行了卷积,然后再用sobelhorizontal处理。经过上述处理后,对图像进行二值化,将8位表3Laplacian算子模板的位图转化为2位的位图。
3.3轮廓跟踪轮廓跟踪的目的是确定桶的中心在拍摄图片中的坐标位置,从而确定机器人的运动方向。步骤如下:d)坚直方向和水平方向的直线检测坚直方向直线检测的目的是求直线长度和直线中心的坐标位置。因此,在轮廓跟踪时候,必须得到完整正确的直线。经过sobelvertical算子作用并二值化后,得到的坚直方向的直线有以下情况:当满足关系:可以认为当前屏幕中有一球桶存在。球桶的中心坐标即为(XaYi)。
坚直方向的直线长度为l,中心坐标位置为、/,2"则0sobelhorizontal并二值化后x,y:x代表横坐标的增量,代表纵坐标的增量再回到1)。
总之,通过方向数组的设置,可以实现直线的矫正,断点的跳跃,达到求得完整直线长度的目的。
水平方向和坚直方向情况类似,不再赘述。
2)水平方向和坚直方向的匹配关系和球桶中心位置的确定水平方向的直线长度为Lx,中心坐标为(X“坚直方向的直线长度为Ly,中心坐标位置为(X2,Y2)。则3.4实际处理结果每幅图像的处理时间<30ms.)当有球桶在视野内时,有以上算法可以得到它的水平坐标x设X为图像宽度)如果x小于X/2-d时,机器人向左偏移行走;如果x大于X/2+d时,机器人享有偏移行走;如果x介于X/2-d和X/2+d之间时,认为目标在视野正中,机器人直走。
其中,d表示拟定的中心区域的宽度,一般设为10~20像素。这样就可以实现机器人跟踪目标行走。当机器人行至球桶前时,一旦前方的碰撞开关揿动,则认为已经到位,开始投球。前方光电开关检测到球已通过,则结束所有动作,寻找下一个投球目标。
当没有球桶在视野内时,机器人原地旋转与前后行走随机运动,直至捕获下一个目标在视野中,重复以上动作。
4结束语我们所研制的机器人实际上是一个比较完整的机器人视觉系统,根据不同的条件,可以更新不同的视觉识别算法,甚至采用更的带有人工智能模式匹配的识别算法。但其系统的原理和构成和上述基本是一致的。
通过比赛,验证了我们的完全基于视觉的机器人控制系统的可行性和稳定性。而且这一类机器人有一个大的优点在比赛中得到了肯定,就是抗干扰能力强。在日本东京的比赛中,我们遇到了两个非常强劲的对手,一个是日本的丰桥科学技术大学,一个是泰国的队。日本代表队的机器人动作非常迅速,10秒钟就可完成所有投球,我们的视觉机器人出发后直接行驶到对方的路线上,结果成功阻挡了对方,发生碰撞后两方的机器人都偏离了既定路线,丰桥的机器人完全无法继续工作,而我们的机器人在搜索过后又返回场地中央继续投球,结果我们以18比5胜出。泰国队有一个非常长而坚固的链条机器人,可以横亘在场地上使对方机器人无法通过,比赛开始后我们的视觉机器人直接向泰国的阻挡机器人开去,两个机器人冲撞到一起,使对方的阻挡策略完全实效,我们的其他自动机器人顺利出发完成投球,而我们的视觉机器人感知到障碍存在后,前后移动左右旋转,终于摆脱泰国阻挡机器人回到中心场地继续投球,结果我们以17比1胜出。
视觉的采用在一定程度上替代了一部分人工智能的作用,使其更容易适应复杂的运行环境,并且更容易从外界获取更多,变化更快的信息。这也就是为什么人类不能没有眼睛的原因。参与这次亚广联机器人竞赛评奖的日本机器人专家对我们的视觉控制系统给与很高的评价并且指出这是机器人发展的重要方向之一。