基于OpenMV的视觉引导机器人设计
- 格式:pdf
- 大小:716.07 KB
- 文档页数:2
2020年第19卷第14期2020(19
)14Industrial&ScienceTribune基于OpenMV的视觉引导机器人设计□夏斌刘红喜尹港萍祁佳何浩发【内容摘要】视觉引导作为机器视觉领域的重要应用方向[1],近年来得到了飞速的发展,让机器人拥有人类一样的视觉成像系统是众多该领域研究者梦寐以求的[2]。传统的视觉引导机器人设计往往借助于OpenCV算法库,结合较为复杂的图像处理技术来实现视觉引导的功能,其实现过程需要付出较大的人力和工程成本。本文提出一种更为实用的视觉引导机器人设计方法,该设计首先采用STM32F103ZET6微控制器作为主控芯片,结合OpenMV摄像头和3.5寸TFTLCD显示屏构建了图像实时采集显示系统,其次采用Lab颜色模式对成像画面进行解析,通过OpenMV进行图像处理,获取了被跟踪物体成像区域的二维坐标值,最后结合红外光电传感器确定了被跟踪物体相对于机器人在三维空间下的位置,通过L298N驱动模块对电机转向进行控制[3],实现了视觉引导,实时跟踪的功能。本文对于视觉引导机器人的设计提供了具有一定参考价值的设计方法。【关键词】OpenMV;视觉引导;Lab颜色模式;颜色追踪【基金项目】本文为全国大学生创新创业项目“视觉引导轮式机器人”(编号:201911437007)研究成果。【作者单位】夏斌,刘红喜,尹港萍,祁佳,何浩发;长春工程学院随着机器视觉的不断发展和相关理论的完善[4],越来越多的机器视觉相关技术被应用在人类日常的生产和生活中。视觉引导作为机器视觉领域的重要应用[1],也吸引着众多该领域研究者的追捧,传统的视觉引导机器人设计往往要借助于OpenCV算法库,而且需要通过复杂的边缘梯度检测、二值化处理、阈值分割等算法来完成,这样以来对于机器人的设计提出了更高的要求,对于设计者来说也增加了难度。那么本文提出一种基于OpenMV的视觉引导机器人设计方法,无需借助OpenCV算法库,也不需要进行复杂的图像算法处理,只需对OpenMV返回的颜色坐标进行处理,即可做到追踪定位效果,并且可以通过改变Lab的颜色阈值,实现不同颜色的追踪,实现视觉引导的功能。一、系统原理及组成图1为本设计的整体框图,本设计以STM32微控制器为核心,采用OpenMV视觉处理模块和3.5寸TFTLCD显示屏搭建出图像实时采集显示系统,利用OpenMV内置的基于Lab颜色模型的算法将目标颜色的坐标发送给STM32并实时显示在LCD显示屏上,结合红外光电开关的信号,通过L298N驱动电机控制其应执行的运动状态,实现对电机的控制。
图1系统整体框图二、图像的采集与处理(一)图像采集。本系统选择了OpenMV视觉处理模块,它集成了OV7725摄像头芯片,OV7725是一款高性能摄像头模块,体积较小(27mm*26mm),自带FIFO存储功能,不需要占用单片机的存储资源,使用方便;它具有12M的有源晶振,不需要外部时钟;它具有稳压电路,接3.3V就可以正常工作;它还自带红外镜头,色彩鲜艳,可以手动对焦,是非常适合通常图像采集的摄像头。(二)Lab颜色模型。Lab模式是根据CommissionInterna-tionalEclairage(CIE)在1931年所制定的一种测定颜色的国际标准建立的。于1976年被改进,并且命名的一种色彩模式。Lab颜色模型弥补了RGB和CMYK两种色彩模式的不足[5]。它是一种与设备无关的颜色模型,也是一种基于生理特征的颜色模型[6]。Lab颜色模型由三个要素组成,一个要素是亮度(L),a和b是两个颜色通道。a包括的颜色是从深绿色(低亮度值)到灰色(中亮度值)再到亮粉红色(高亮度值);b是从亮蓝色(从低亮度值)到灰色(中亮度值)再到黄色(高亮度值)[7]。这也就意味着,它是用数字化的方法来描述人的视觉感应[6]。Lab颜色空间中的L分量用于表示像素的亮度,取值范围是[0,100],表示从纯黑到纯白;a表示从红色到绿色的范围,取值范围是[127,-128][8];OpenMV既是一个摄像头也是一个单片机,以STM32F767CPU为核心,在小巧的硬件模块上,用C语言高效地实现了核心机器视觉算法,提供Python编程接口。OpenMV内部寻找色块算法使用了Lab颜色模型,通过OpenMVIDE软件可以实时显示图像并计算图像的Lab阈值。如用户通过改变Lab的阈值便可选取到目标颜色。图2为绿色的Lab阈值图。(三)颜色追踪。第二节说明了OpenMV通过Lab颜色模型找到目标颜色。接下来通过Python语言编写程序,完成颜色追踪。图3为程序流程图.首先初始化摄像头。设置传回图像的像素格式为RGB565,将图像大小设置为QVGA·73·2020年第19卷第14期Industrial&Science
Tribune2020(19)14图2绿色Lab阈值图(320x240),设置目标颜色阈值,关闭白平衡,颜色识别容易受到光线影响。之后截取一张感光元件传回来的图,将图像转换为Lab颜色模型,过滤像素较小的色块,找到图像中符合阈值的最大色块,并把它框出来,返回矩形框的中心坐标,最后通过串口通信传给STM32处理。图4识别效果图。
图3程序流程图图4识别效果图(四)视觉引导功能的实现。图4中可以清晰的看到被跟踪的物体被框出,实现了在显示器中二维空间下的坐标定位,将色块中心的Y坐标在[0,320]范围内显示出来,根据坐标可以判断出被跟踪物体位于机器人的左边、右边或者正前方,之后再结合红外光电传感器的信号,可得出被跟踪物体在三维空间内的位置,根据此判断机器人应该前进或原地调整;最后通过L298N控制电机的转向,编写出直行、停止、前进左转、前进右转、原地左转、原地右转共6种运动状态,经不断调试实现实时跟踪,视觉引导效果,该设计的实物图如图5所示。(五)实验结果分析。本设计采用基于OpenMV的寻找色块算法做出了可以跟随特定颜色的机器人,在2米的范围内都可以实现很好的引导效果。视觉引导功能实现的关键在于被跟踪物体在LCD显示器上能否被定位,本设计以绿色卡片为跟踪对象,在图3中可以看到机器人在自然光下的定
位效果非常好,那么对于其他颜色,调试出其对应的Lab颜色阈值,即可识别对应颜色,实现视觉引导功能。采用Open-图5机器人实物图MV内置的寻找色块算法解决的是二维空间下的偏左偏右的定位问题,那么在三维空间里判断前后的定位问题,本设计是采用了红外光电传感器来进行辅助判断,机器人可据此进行前后的调整。对于判断前后的问题也可采用设定面积阈值的方法来解决,由于被跟踪物体的实际大小不会改变,被跟踪物体离机器人越近,在TFTLCD显示器中的成像区域就越大,根据被跟踪物体在TFTLCD显示器中的成像面积大小,设定阈值来判断前后。在算法中加入面积阈值,实际应用发现离摄像头过近时会影响摄像头采光,使其整体画面变暗,进而影响整体效果,因此为了更好地实现视觉引导效果,该系统采用了红外光电传感器来辅助判断。那么当机器人处于光线充足或者人为补光的环境,亦或者需要与被跟踪物体保持较长距离的场景时则可采用设定面积阈值的方法来进行前后的判断,从而摒弃红外光电传感器,节约成本。三、结语本文提出一种视觉引导机器人的设计方法,与常见的视觉引导机器人使用OpenCV算法库不同,本文提出的设计方法只需对被跟踪物体的颜色坐标进行处理,即可做到追踪定位效果,实现视觉引导的功能,并且兼顾图像显示。本文为视觉引导机器人的设计提供了一条新的思路[9],具有一定的参考价值,该设计可应用在行李箱自动跟踪、超市购物车跟随等场景,将会增加人们生活的便利性、趣味性。【参考文献】[1]吴倚龙.基于嵌入式的机器人视觉伺服寻迹系统研究[D].桂林电子科技大学,2007[2]臧雨飞.基于机器视觉的机械臂半自主控制系统的研究[D].东南大学,2018[3]黄健.汽车装配自动拧紧机[D].上海交通大学,2008[4]肖若荣.基于机器视觉的交通标志识别关键技术研究[D].中南大学,2013[5]任媛.功能性纳米颗粒的合成、组装、及其性能研究[D].复旦大学,2011[6]苏州大学.基于预测梯度的图像插值方法及系统[P].中国专利:201610015629.2,2016-01-09[7]范润勇.炮天雄质量标准及温肾助阳作用研究[D].成都中医药大学,2018[8]西安交通大学.一种结合颜色和外型特征的视频烟雾识别方法[P].中国专利:201610028532.5,2016[9]张萌萌.粗糙建筑壁面仿生爬行机器人结构设计与分析[D].山东科技大学,2017·83·