随着技术的发展,许多行业生产中所涉及的物料逐渐趋于小型化,尤其是在医药、电子、化工等行业中,因此对于中小型物料的分拣显得尤为重要[1,2,3]。对于中小型物料的分拣,我国多数企业采用传统的人工分拣,少数采用了机械分拣和人工分拣相结合的半自动分拣方式。人工分拣方式分拣过程繁琐、成本高、效率低而且分拣质量难以保证,而半自动分拣也存在操作复杂、动作迟缓、稳定性差等缺陷[4,5]。因此,研究一种高效率的自动分拣系统势在必行。
本文以单片机为控制核心,设计了一套应用于中小型物料的自动分拣系统。当物料通过主输送线上的检测光电门时,物料识别装置能够自动对物料类型进行识别,同时通过串口通信,将物料信息发送给机械臂控制系统,引导机械臂准确抓取物料,并将物料放置在指定的分拣道口,完成分拣任务[6]。系统利用分拣机械臂和图像处理相结合的方法,对于中小型物料的分拣具有成本低、准确性高、操作简单直观等优点,市场价值和应用前景良好。
分拣系统总体结构如图1所示,主要由物料识别装置和物料分拣机械臂两大部分构成。物料识别装置主要由数字摄像头、单片机、检测光电门、物料传送带、57型2相混合式步进电机组成,用来获取准确的物料信息;物料分拣机械臂主要由机械臂控制系统、机械臂、抓取手爪、驱动步进电机、数字舵机组成,实现物料的抓取并放置到指定的分拣道口,便于后续的运输。
图1 分拣系统结构图 下载原图
1.机械臂控制板;2.机械臂运动步进电机;3.数字摄像头;4.检测光电门;5.单片机控制板;6.物料;7.传送带步进电机;8.分拣机械臂;9.抓取手抓;10.主传送带;11.分拣道口传送带
分拣控制系统主要由物料识别系统和机械臂控制系统构成。由于物料图像处理数据量较大,所以识别系统和机械臂系统各采用1片单片机进行控制,其工作原理如图2所示。
从图2可以看出,物料识别系统由单片机(1)进行控制,且同时控制主传送带的传输。物料在主传送带上进行输送,当物料进入检测区域时,触发中断信号,单片机(1)得到中断信号后驱动光电门上方的图像传感器,传感器对物料进行图像提取;然后由单片机(1)计算得出物料的位置信息及物料类型,并经串口通信发送给机械臂控制系统单片机(2),由单片机(2)控制机械臂完成抓取物料的动作,并根据物料类型放到指定的分拣道口传送带上,完成物料的分拣任务。
首先需要对物料图片进行处理和判别[7]。图像传感器选用OV7620数字摄像头,是一款认可度较高的1/3 in数字式CMOS图像传感器,总有效像素单元为664×492像素;内置10位双通道A/D转换器,输出8位图像数据;具有自动增益和自动白平衡控制等多种调节功能,传输速率可以达到30帧。单片机采用MK60DN512ZVLQ10单片机,完全满足系统的需求。摄像头安装在物料经过检测光电门时的正上方,当物料通过光电门时,同时驱动该摄像头对物料进行拍图,并将物料图片发送给单片机进行处理。光电门的一对红外对射装置安装在主传送带的两侧,用来判断物料是否进入检测区域。
传送带用于物料的输送,其主要框架由欧标2020铝型材构建,配合1个主动传送带滚筒和5个从动传送带滚筒构成,传送动力由1台57BYG250-76步进电机提供。传送带运行速度根据步进电机驱动输入脉冲的数目调节,从而可以精确计算出物料在传送带上的水平移动距离,实现物料的精确定位[8]。另外,主传送带的一侧安装有3条小型传送带,作为分拣后的分支输送线。机械臂抓取物料后根据分拣要求的指示将不同物料放入指定的分支传送带上,用于后续的运输。
机械臂控制电路由电源稳压电路、单片机最小系统、步进电机驱动电路、机械臂限位开关接口、舵机电源电路、通信接口以及外围辅助电路组成[9]。下面主要介绍电源稳压电路、单片机最小系统和步进电机驱动电路。
机械臂控制系统使用开关电源先将AC220 V转换至DC24 V,开关电路能够提供稳定的24 V直流电,后续通过电源稳压电路(见图3),将电压稳定至5 V和3.3 V为各传感器及单片机供电。图3中U2为LM2596-5型DC-DC开关稳压芯片,输出电压为固定5 V,最大能提供3 A输出电流;为了减小电压波动、滤除噪声,分别在芯片输入与输出引脚接入滤波电容,其中输入滤波电容大小为220μF、输出滤波电容大小为680μF;紧接着,U3为MS1117-3.3线性稳压芯片,可以将LM2596输出的5 V电压稳定到3.3 V为K60单片机提供电源。
单片机最小系统由单片机、时钟电路和复位电路等组成[10]。其中:单片机选用NXP公司推出的MK60DN512ZVLQ10单片机,是一款32位微控制器,其主频可达180 MHz,引脚数高达144P,足以满足各种控制需求,内部具有SPI、I2C、UART等硬件接口方便连接外部设备,支持快速访问,具备高可靠性,提供4级安全保护64~128 k B的SRAM,2个具有可配置分辨率的高速16位A/D转换器,工作电压为1.71~3.6 V。单片机时钟电路分为有源时钟部分和无源时钟部分,分别为单片机提供高速时钟信号与低速时钟信号。复位电路采用RC上电复位电路与按键复位电路结合的方式。
机械臂运动控制采用的步进电机驱动,使用3个DRV8825步进驱动模块,单个电机驱动的电路图如图4所示。该模块仅需单片机对其提供脉冲、方向、使能3路信号,便可以很方便地控制步进电机运动。其最大可提供2.5 A驱动电流,步进驱动细分可通过跳线帽进行设定,使机械臂运动更加平滑。
软件部分的设计是物料分拣系统的核心,决定了机械臂能否准确地抓取物料[11],它包括图像处理及物料类型识别的软件设计和机械臂控制系统的软件设计。图5为图像处理及物料类型识别的流程图,图6为机械臂单次抓取物料的流程图。
从图像处理流程图可以看出,当物料经传送带传送经过检测光电门时,通过中断触发OV7620数字摄像头采集一帧图像,然后由单片机对图像进行处理,计算得到物料的位置坐标、姿态角度以及物料类型,最终由串口通信将由图像信息发送给机械臂控制系统。
为了得到更有效的可识别物料信息,须先对物料图片进行预处理。由于图像传感器获取图片最大输出为640×480像素,须先将图像压缩至320×240像素,以减小单片机运算处理量,而后利用图像计算全局阈值对图像进行二值化处理。二值化处理完成后,为了提高图像质量、去除多余噪点,对图像进行滤波,使用先腐蚀后膨胀的方法对图像进行开运算后便可得到质量较好的图像,便于后续处理。
为了确定物料位置坐标,先假定图像左下角为坐标原点、待识别的物料形为长方体类型,所以可以通过读取图像中像素点的数据来确定物料的位置及角度。位置由以下方法获取:将预处理的二值化图像逐行自上向下、自下向上、自左向右以及自右向左寻找像素跳变点,排除特殊情况便可找到物料4个边角位置,利用下列公式可计算出物料的位置坐标(x,y):
式中:xmax为图像x最大行,xmin为图像x最小行,ymax为图像y最大列,ymin为图像y最小列。
姿态角度获取采用预先设定的图像模板进行匹配,计算数个模板与实际图像的重合率,认为重合率最大的模板即为物料实际角度。为了节省模版匹配时间,仅取18个模板,其角度分辨精度为10°。在实际试验中,由于机械臂手爪有一定程度的容错率,故10°分辨精度可以满足使用要求。
物料类型的判别需要在物料位置及角度判别完成后进行,通过对物料位置图像截取与旋转校正后,得到物料顶面视图[12]。本系统采用图像模版匹配法[13],比对模板图像与实际物料图像的重合度来判断物料类型。以3种不同物料为例,首先在3种物料顶面用罗马数字I、II、III进行标注,作为3种物料区分的模板;当物料经过光电门时,摄像头对物料拍图,将物料顶面视图与3种物料模板匹配后判断出来物料类型;同时通过串口通信将物料信息发送给机械臂控制系统,引导机械手臂抓取该物料放置到相应的分拣道口传送带上。这种方法适用于物料类型不多的判别。若物料类型较多,也可以通过使用二维扫码模块来实现物料类型的判别。
机械臂的运动由3个步进电机的合运动组成,实现三轴运动。可通过极坐标和笛卡尔坐标的转化关系得到机械臂夹爪的笛卡尔坐标系位置和机械臂大臂小臂及转盘的极坐标位置关系,由机械臂控制系统解算出3个步进电机所对应的旋转方向及角度,发送给步进电机驱动器控制步进电机实现相应的运动。
机械臂采用串联平行四杆结构(见图7),故需要求其解逆运动,经由末端坐标转换得到各旋转臂转角。由引入的图像位置坐标(Xi,Yi,Zi)求解大臂水平角θ1、小臂水平角θ2、转盘角θ3。其使用几何方法求解过程如下:可先由目标坐标(Xi,Yi),利用反三角函数求解得到转盘角θ3;此时定义大臂与小臂运动平面为U-V平面,由(Xi,Yi)通过勾股定理求出斜边长U,即为大臂与小臂竖直平面伸长距离;Zi赋值给V即为末端执行器高度。分别以关节原点(0,0)与末端(U,V)点为两圆心、大臂与小臂为两半径,获得两圆方程,联立两圆方程求解交点即为此时大臂末端坐标位置(X1,Y1);由大臂末端(X1,Y1)相对关节原点(0,0)通过反三角函数求解可得到大臂水平角θ1,由(U,V)相对大臂末端(X1,Y1)通过反三角函数求解可得到小臂水平角θ2。根据求解出的大臂水平角θ1、小臂水平角θ2、转盘角θ3,通过计算相应转角脉冲数量与方向,即可控制大臂、小臂、转盘步进电机运动。
为了更方便地进行实验研究,采用顶面为白色背景,并标有罗马数字I、II、III的塑料块模拟中小型物料,物料长宽分别为12 cm和6 cm。
首先以光电门中心位置为原点,在水平面内建立坐标系,以传动带运动方向为x正方向,通过物料识别系统对物料图像进行目标定位,获取物料中心坐标点,进而推算出机械手爪抓取的位置坐标。本文截取实验中机械手抓取位置的6组数据,如表1所示。
实验结果表明,机械臂能较好地定位到物料中心;且当x较大,即较远端位置时的实际夹持精度比近端的高,例如数据2,当x为600 mm时,误差仅为5 mm。另外,机械臂的控制系统的解算速度和执行机构的执行速度,在较远端或低频率分拣下有更多解算和执行时间,系统运行状态会更加稳定;因此,在低频率下分拣的精度比高频率的高。这一问题可以通过更加精密的结构尺寸和更加高速的控制器运算速度来解决。
对于物料的姿态角度的判断,首先对预先设定好的11种物料角度,根据已知的18种物料角度模板,通过单片机结合图像处理对物料放置的姿态角度进行计算,得到物料姿态角度的测量值。表2为11种物料姿态角度的实际值与测量值的对照表。
从实验结果可以看出,在已知的11种物料姿态角度下,计算出物料的实际角度和测量角度的最小误差为1°、最大误差为8°,测量值和实际值的整体误差较小,可以有效判断出物料在水平面内的姿态角度,从而引导机械臂手爪执行相同的角度去抓取物料。
由于图像模板分辨精度为10°,所以存在个别角度分辨率不高的情况,如数据2(判断方盒的姿态为50°,而实际方盒的姿态为42°),导致在抓取过程中物料存在较大的转动,形成较大的夹紧力,可能会对物料造成损害。这个问题解决可以通过一定程度上增加匹配模板数量从而提高匹配精度的方法来实现。
经过以上的实验分析可以看出,物料识别装置可以准确地判断出物料的位置坐标和姿态角度,并通过串口通信引导机械臂的完成抓取、分拣物料的工作。
针对于智能仓库中小型物料,设计了一种自动物料分拣系统,包括物料识别装置的设计和机械臂控制系统的设计。实验验证结果表明,系统分拣准确性高、操作简单直观,具有良好市场价值和应用前景。
标签:
上一篇: 物联网技术在智能仓库管理系统中的应用
下一篇: 基于排队论的智能仓库机器人数量需求分析