书城科普探索机器人的世界(海洋与科技探索之旅)
9749600000018

第18章 机器人的视觉

机器人用什么“看”世界呢?、各种光电传感器都是它的视觉器官,但是它们过于简单。视觉信息是智能机器人最重要的信息来源。本单元主要介绍的是更接近人类视觉的摄像头传感器。

摄像头是一个独特的装置,我们对它的理解是能处理视觉信息。要创建一个摄像头传感器,需要有摄像头和计算机,这就相当于我们的眼睛和大脑一起工作,摄像头捕捉图像,计算机进行图像处理,由此可知,它的准确率更高,而且更易适应环境。

机器人视觉机器人视觉是研究计算机模拟生物宏观视觉功能的科学和技术,通俗地说,就是用机器代替人眼来做测量和判断。典型的机器视觉系统一般包括有:光源、镜头、CCD照相机、图像处理单元(或图像捕捉卡)、图像处理软件、监视器、通信/输入输出单元等。视觉系统输出的并非图像视频信号,而是经过运算处理之后的检测结果,如尺寸数据。PC和PLC是失火的检测结果后,用来指挥运动系统或1/0系统执行相应的控制动作,如定位和分类。

机器视觉极适用于大批量生产过程中的测量、检查和辨识,如零件装配完整性、装配尺寸精度、零件加工精度、位置/角度测量、零件识别、特性/字符识别等。其大规模的应用行业为汽车、制药、电子与电气、制造、食品饮料、医学等,如对汽车仪表盘加工精度的检查、高速贴片机上对电子元件的快速定位、对管脚数目的检查、对IC表面印字符的辨识、胶囊生产过程中对胶囊壁厚和外观的检查等。

摄像头的原理和特点乐高摄像头的录人频率最高可达30帧/秒,一次图像效果便可让人满意。它还有内置麦克风,用来采集声音。摄像头的接口是容易插拔的USB接口。可以对摄像头进行编程控制,使它能够检测到光度、物体的运动,甚至颜色的变化。你还可以通过编程利用它做一个自动监控警报器,或用来录下你不在家时室内发生的事情。

乐高摄像头具有以下特点:

容易插拔的USB接口(5m长的连线);焦距可调,内置麦克风;最高速度30帧/秒;最大图像尺寸320像素×240像素;支持多种软件,包括ROBOLAB、LEGOCamSoftware、MSNetMeeting等。

在ROBOLAB中控制乐高摄像头在任一级别的ROBOLAB编程环境中都可以使用乐高摄像头。需要使用时,可以打开一个多媒体窗口,来显示摄像头摄到的图像。摄像头的接头必须连接在电脑的USB接口上,摄像头本身可以装在任何地方,包括装运动的机器人上面,或固定在桌子上。由于摄像头与电脑相连,所以它的位置和运动都要受其电缆长度的限制。摄像头摄到的图像通过电缆传输到影像中心的窗口中。无论RCX是否运行,摄像头上看到的图像都是不断更新的。

摄像头是唯一不与RCX直接相连的传感器,因为RCX无法直接处理图像,只能借助计算机将摄像头捕捉到的图像像素值转变为一个摄像头传感器的值,然后将这个值保存到红、黄、蓝容器中,通过编程将数据传到RCX中。

为什么需要视觉系统据统计,人类获得的信息有90%以上来自视觉(眼睛),可见视觉对人类的重要性。做一个很简单的实验,你先站立起来,然后闭上眼睛,将一只脚提起,看看你能支持多久,一般人很快就会支持不住,因为没有眼睛给你定位。如此简单的一个动作,也需要视觉,可见其重要性。在很多领域,机器视觉同样重要,在工业领域,机器视觉可以用于产品质量检测、分类,机器人定位,包装等;在医疗领域,机器视觉可以用于病理分析、细胞统计等;在交通运输领域,机器视觉可以用于集装箱的管理、交通事故判别、无需停车的收费站等。图99是一个工业用的机器视觉系统的系统图。

制作一个简易的射击机器人活动任务以摄像头为眼睛、计算机为大脑、RCX为小脑,进行图片处理,寻找最亮点(靶心),并进行射击。参考图100。

活动准备台个人电脑、1个乐高微电脑RCX、3个乐高普通马达、1个乐高摄像头传感器、若干乐高积木。

活动步骤利用乐高积木搭建1个可以水平和垂直旋转(不超过180°)的结构。水平和垂直执行机构各使用1个马达。

在结构前端固定乐高摄像头。

在结构顶端设计1个发射结构(可以利用弹簧、皮筋、气动等),用来发射“子弹(最小块的乐高积木)”。需要使用1个乐高马达。

准备1个大的包装纸盒,将其中一面设计成靶环形状。

试一试:发射结构的角度怎样才能达到最好的效果呢在个人电脑上使用LAB编制和调试程序。

(1)总程序(2)水平寻找最亮点(3)垂直寻找最亮点在分支结构中选定—10~10,给定一个搜寻范围,调节左右偏移的情况。

(4)射击执行机构(5)视觉中心寻找最亮点红色容器为最亮点像素值,黄色容器为最亮点水平坐标(X),蓝色容器为最亮点垂直坐标(Y)。

利用射击机器人组织一场射击比赛(规则自定)。

思考1:容器中为何要减去160?

思考2:红、黄、蓝容器在图像处理方法3中表示什么含义实践课堂检测用自己的话说一说什么是机器视觉。

图像处理的方法有哪些在ROBOLAB程序中标注出蓝色和黄色容器的含义。

请说出程序的基本设计思路。知识链接资料.乐高组件和ROBOLAB软件在工程学中的应用[M]。北京:西觅亚公司答案提示实践与思考思考1:因为摄像头摄到的图像尺寸是320×240,靶心在图像的正中心,所以水平方向上寻找时要减去160;找图像中心附近的点,垂直方向上要减去120。

思考2:摄像头是唯一不与RCX直接相连的传感器,因为RCXYC法直接处理图像,只能借助计算机将摄像头捕捉到的图像像素值转变为一个摄像头传感器的值,然后将这个值保存到红、黄、蓝容器中,通过编程将数据传到RCX中。红色容器为最亮点的像素值,黄色容器为最亮点水平坐标(X),蓝色容器为最亮点垂直坐标(Y),这样就可以确定出亮点的位置。