黄继鹏,李楠,伊明
(东北师范大学物理学院,吉林长春,130024)
学科竞赛是培养学生实践能力、创新能力和团队协作能力最为直接有效的方式。以学科竞赛为依托,有助于实践教学与人才培养模式的改革创新[1],激发大学生的兴趣和潜能,培养协作意识和创新精神。本文从组织学生参加中国工程机器人竞赛搬运工程项目出发,设计了一个基于摄像头的自动分拣搬运机器人[2]。该机器人运用单片机、摄像头和舵机,实现了物料颜色识别、路径检测以及规划,对目标物体的抓取以及自动搬运等功能。该分拣搬运系统技术使得搬运机器人分拣运输自动化和智能化程度得到进一步提高,有助于改善一般物流仓储工作中,人工辅助依赖性较高的现状。
目前市面上的搬运机器人大多加装了专用颜色传感器、灰度传感器等或购买使用OpenMv摄像头进行外部代码的移植,此类传感器和OpenMv不但增加了成本,而且在部分零件出现问题时,难以精准定位故障以及及时更换零件,影响工作效率。本文设计的机器人系统使用低成本的摄像头进行识别,并在STM32中编写了图像处理相关代码,节省了专用传感器以及OpenMv的费用,并测试了不同的补光光强和设定的不同颜色的阈值对颜色识别准确率的影响,经测试系统能很好的完成颜色和路径的识别。
智能分拣搬运机器人在软件和硬件上均采用模块化设计,主要由主控模块、图像采集模块、电机驱动模块、电源稳压模块、机械臂模块组成。
采用STM32F103作为主控芯片,由摄像头采集图像后传给单片机进行分析,然后控制电机的行走和机械臂的搬运,其中单片机和电机由稳压模块供电。系统总体框图如图1所示。
图1 系统总体框架图
采用野火OV7725摄像头模块进行视频图像的信息采集。该模块主要由镜头、图像传感器、FIFO缓存组成。光线经过镜头传输到摄像头的图像传感器上,然后将采集到的光线信号缓存到摄像头背面的FIFO缓存中,然后单片机再从中获取拍摄到的图像数据。其中单片机与摄像头模块的传输协议为SCCB协议,相当于一个简易的I2C协议。如图2所示。
图2 野火OV7725摄像头模块电路图
稳压模块采用的是LM2596模块,此模块为降压模块,输入电压的范围为直流3.2V至40V,输出要比输入低1.5V以上。电压的输入为两节3.7V锂电池供电,输出调至5V,用于给舵机和单片机供电。
使用两个MG90S舵机构成了一个二自由度的机械钩子,负责钩取堆叠在一起的所需物料。一个舵机控制钩子的水平方向,另一个舵机控制钩子的垂直方向。使用由一个舵机构成的机械爪子控制爪子的开合,负责搬运单个物料。
智能分拣搬运机器人软件设计主要包含摄像头采集,物体颜色识别,舵机的控制,黑线的寻迹与识别。
舵机的控制是使用单片机产生PWM信号来控制舵机的转动角度,通过控制PWM 波的占空比来调节电机转速。通过控制两个360°舵机的转速来控制机器人左转右转;通过控制两个180°舵机控制机械钩子的左右和上下;通过一个180°舵机控制机械爪子的张合。
边缘提取算法主要是为了小车的寻迹,识别交叉路口等操作。图像边缘往往包含着一幅图像的大部分信息,是图像的基本特征之一。经典的边界提取算法是先对图像进行平滑滤波处理,来滤除图像中的噪声,然后进行一阶微分运算求得梯度最大值,最后根据效果选取合适的阈值来进行边缘提取。边缘检测流程图如图3所示。在进行边缘提取时,先将路径进行二值化处理,之后进行边缘的检测。
图3 边缘检测流程图
在图像处理中,最常用的颜色空间是RGB模型,常用于颜色显示和图像处理,因为颜色识别更注重于色彩表示,因此要将RGB模型转变为HSV模型,这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V)。
RGB到HSV的转变的算法:
如图4所示,摄像头采集到图像后让其在外界LCD显示屏上显示出来,单片机可以直接从FIFO中读取RGB模型后提取出来并转换为HSV模型,然后根据设定各个颜色的HSV的阈值,判断物料的颜色。
图4 单片机处理后对小物块颜色的识别
在机器人的路径识别中,需要根据采集图像的边缘检测结果,路径识别算法需要判断行走是否在一条直线上,避免机器人驱动系统左右两轮转动有细微区别或者路况不平整的情况;判断机器人在行走到交叉路口的时候的路径选择;判断机器人是否走到目标位置。
首先将提取之后的图像在显示屏上以80×60的分辨率显示出来,并在显示屏上建立坐标,之后单片机做边缘检测,并将显示出的图像按纵轴均分六等份,采用采样的方式分析路径,以提高单片机的处理效率。
调节机器人的巡线程序,使其能沿路径行走。通过判断中间黑线是否走偏,若黑线偏左,则需调节两轮的转速,使其向左移动一些延时之后再判断,向右偏同理。在巡线的基础上,设计了让机器人识别交叉路口的程序,摄像头在采集到机器人行进到交叉路口时,会有黑线的干扰,因此让摄像头识别交叉口两端的黑线,若检测到两端黑线达到了显示屏划定的坐标位置,即为行进到了交叉路口。在此基础上又设计了目标位置的检测,目标位置存在有些许标识或黑线,当摄像头检测到目标位置的标识或黑线达到了显示屏上划定的坐标位置,证明机器人达到了目标位置。流程图如图5所示。
图5 路径识别算法流程图
根据上述设计,完成自动分拣搬运机器人实物搭建,如图6所示。
图6 智能分拣搬运机器人实物图
在竞赛实验过程中,发现颜色识别准确度影响搬运的成功率,而不同的颜色的HSV的阈值设定的不同会影响颜色识别的准确率,此外周围环境的亮度也会影响识别的准确率,因此在识别颜色的时候会加入LED光源照明。因此要找到最合适的阈值设定,本次测试地点选在夜间无自然光的实验室内,经过100次的不同光照强度下的颜色识别的检测成功率,测试不同的阈值设置对实验结果的影响,选出最合适的阈值。经测试,以90Lux光强为基准,逐步降低光照强度,带有LED光源照明达到80Lux以上的机器人,且以90Lux光照下设置的各个颜色的HSV的阈值为标准,此时红色对应阈值设置为((h_hsv<=15&&h_hsv>=0)||(h_hsv<=360&&h_hsv>=330)),蓝色对应的阈值设置为((h_hsv<=230&&h_hsv>=200))&&(v_hsv<0.38), 绿 色 对应的阈值设置为((h_hsv<=200&&h_hsv>=125))&&(v_hsv>0.2&&v_hsv<0.7),白色对应的阈值设置为((h_hsv<=240&&h_hsv>=175))&&(v_hsv>0.3),其余阈值均视为黑色时,对颜色识别准确率最高。当光照强度变弱时,红色和黑色的识别成功率影响较小,白色、蓝色和绿色的识别受到的影响最大。如图7所示。
图7 阈值和光源对颜色识别准确率的影响
经过学生团队多次测试,摄像头成功实时地采集到图像并在LCD显示屏上显示出来,机器人也能精准的寻迹和搬运,物料的颜色识别准确率较高,实验表明,智能分拣机器人总体表现稳定,系统的可靠性高。
经过学生的团队协作,在基于机器视觉的智能分拣搬运机器人中,设计实现了寻迹系统可自动寻导,颜色识别系统可以分类物料类别,经实战,荣获了2019年中国工程机器人大赛暨国际公开赛摄像头搬运工程一等奖。通过学科竞赛,以赛促学的方式激励更多学生主动参与到工程训练项目,增强了学生的创新能力和解决实际问题的能力,提升了团队协作的素养,达到了促进工程能力培养的目的。