本发明属于钢材仓储领域,涉及到一种基于机器视觉和plc的钢材仓储控制系统。
背景技术:
我国是钢铁流通和消费大国,钢铁行业从2002年开始出现需求高速增长的行情,随着钢材销量和价格的增长,众多资本投入到钢材市场中,在钢材生产和销售量飞速增长时期,钢材仓储业务量自然显著增长。仓储是钢材贸易的必需环节,随着我国的钢材总体需求量放缓,市场对钢材仓储企业的仓储技术和管理手段提出更高要求。
在钢材仓储系统中实现智能化,货物出库入库自动化是仓储系统中的一个关键环节。目前国内货物出库入库自动化程度较低,货物入库的过程,均由人为输入货物牌号,难免会出现误输入,导致入库出库过程发生误取货;以及机械手提取货物过程中,传统的定位方法多采用伺服电机控制系统,而内部伺服系统每次取货都需要回原点消除累积误差,降低了取货效率,否则将降低定位精度,定位不精准会导致机械手卡住等现象。一旦出现上述情况,整个仓储系统的执行效率将会大幅下降,带来不必要的经济损失。
技术实现要素:
为了解决误取货以及定位不准及效率不高的问题,本发明提出了一种基于机器视觉和plc的钢材仓储控制系统,包含:可移动的机械执行装置,包括机械臂,所述机械臂用于抓放钢材货物;
plc控制装置,用于产生控制指令以控制所述机械执行装置的移动以及所述机械臂进行抓放钢材货物;
工控机,用于控制所述plc控制装置产生所述控制指令;
机器视觉模块,用于对钢材货物标志牌图像进行采集和识别,包括工业相机;
本发明还包含以下模块:
系统初始化模块,用于获取用户设置的工业相机参数对工业相机进行设置;
工控机主界面操作模块,用于显示工控机主操作界面,获取用户在所述工控机主操作界面上设置的串口信息,并获取用户在工控机主操作界面输入的钢材货物标志牌号信息、出库/入库指令;
钢材货物标志牌号仓库位置获取模块:用于根据预设的钢材货物标志牌牌号字符与仓库位置的一一对应关系,获取对应钢材货物标志牌号的仓库位置;
plc控制装置执行模块:用于当工控机接收到所述仓库位置信息后,将仓库位置信息发送给plc,plc接收工控机发出的仓库位置信息指令,通过plc控制装置将机械执行装置移动到钢材货物仓库位置;
ocr图像识别处理模块:用于当机械执行装置运动到位,触发工业相机采集图像,对实时拍摄的钢材货物标志牌图像进行ocr图像识别处理,提取相应的牌号字符,与所述对应关系所包含的目标牌号字符进行对比;
字符校验模块:用于判断提取的牌号字符是否与所述对应关系所包含的目标牌号字符一致,如果一致则调用钢材货物位置粗定位模块;
钢材货物位置粗定位模块:用于对实时拍摄的钢材货物标志牌图像使用摄像机标定,完成世界坐标系到图像像素坐标系的转换,再通过blob分析,进行钢材取货位置粗定位,得到钢材货物标志牌图像的大致位置参数,传输到plc控制装置,驱动步进电机运转到目标位置;
钢材货物位置精定位模块:用于在钢材货物位置进行粗定位后,触发工业相机拍摄钢材货物标志牌,对钢材货物标志牌使用逐步逼近亚像素图像定位,得到钢材货物标志牌图像的精确位置参数,得到钢材货物的精确位置信息;
钢材货物出库/入库执行模块:用于将钢材货物的精确位置信息传输到plc控制装置中,触发机械执行装置将钢材货物运转到目标精确位置,执行出库/入库操作。
在本发明的一种基于机器视觉和plc的钢材仓储控制系统中,ocr图像识别处理模块包含以下子模块:
rbg颜色空间图像分解模块:用于对工业相机实时拍摄的钢材货物标识牌图像进行rbg颜色空间图像分解;
hsv颜色空间转换模块:用于对rbg颜色空间图像分解模块中所获得的分解后的rgb图像进行空间转换至hsv颜色空间;
blob分析提取模块:用于对hsv颜色空间转换模块中获得的钢材货物标识牌图像使用blob分析提取标示牌的图像信息;
形状特征和位置特征筛选模块:用于对经过blob分析提取模块处理的标志牌的二值图像进行形状特征和位置特征筛选,获取标示牌中标识号的图像信息;
字符分割模块:用于对形状特征和位置特征筛选模块中所获取的标识号的图像信息进行字符分割,得到多个单字符的图像数组;
字符识别保存模块:用于读取ocr的训练文件生成多层神经网络分类器,对字符分割模块中获得的多个单字符的图像数组进行机器多层神经网络感知识别并保存在数组中。
在本发明的基于机器视觉和plc的钢材仓储控制系统中,blob分析提取模块包含以下子模块:
阈值分割模块:用于对hsv颜色空间转换模块中所获得的hsv图像,提取其中的s图像进行阈值分割,提取标志牌的二值图像信息;
矩形形态学开运算模块:用于对阈值分割模块所获得的标志牌的二值图像信息进行矩形形态学开运算;
矩形拟合模块:用于对矩形形态学开运算模块所获得的标志牌的二值图像进行拟合,形成一个矩形区域,给形状特征和位置特征筛选模块提供运算范围。
在本发明的一种基于机器视觉和plc的钢材仓储控制系统中,钢材货物位置粗定位模块中摄像机标定包含以下子模块来实现:
世界坐标系获取模块:用于获取实时拍摄的钢材货物标志牌图像的世界坐标系(xw,yw,zw);
摄像机坐标系转换模块:用于将世界坐标系获取模块中获得的世界坐标系(xw,yw,zw)通过矩阵运算
图像物理坐标系转换模块:用于将摄像机坐标系转换模块中获得的摄像机坐标系(xc,yc,zc),通过三角形近似原理
图像像素坐标系转换模块:用于将在图像物理坐标系转换模块中获得的图像物理坐标系(x,y)转换到图像像素坐标系(u,v),因每个像素在x轴与y轴方向上的物理尺寸为dx,dy,则在图像中任意一个像素在图像物理坐标系和图像像素坐标系的对应关系为:
在本发明的一种基于机器视觉和plc的钢材仓储控制系统中,钢材货物位置精定位模块中的逐步逼近亚像素图像定位通过以下子模块实现:
钢材货物标志牌图像信息模块:用于获取钢材货物标志牌图像信息;
blob分析提取模块:用于对钢材货物标志牌图像信息模块中获得的钢材货物标志牌图像信息使用blob分析提取标志牌图像边缘;
形态学边缘法提取边缘轮廓模块:用于将blob分析提取模块中获得的标志牌图像边缘使用形态学边缘法,提取到标志牌的二值图像的像素级边缘轮廓;
形态学膨胀提取边缘过渡带模块:用于对形态学边缘法提取边缘轮廓模块中获得的标志牌的二值标志牌图像的像素级边缘轮廓使用形态学膨胀法,提取出标志牌图像的边缘过渡带;
边缘剪切模块:用于对形态学膨胀提取边缘过渡带模块所获得的标识牌图像的过渡边缘带进行剪切,获取可识别的标示牌边缘的图像信息;
canny算法模块:用于对边缘剪切模块中获得的可识别的标示牌边缘的图像调用canny算法,设置平滑系数和双阈值,筛选出真实有效的标志牌图像边缘;
多边形逼近法模块:预设多边形逼近迭代次数的阈值,用于对canny算法模块中获得的真实有效的标志牌图像边缘使用多边形逼近法分割边缘,提取边缘直线;
共线联合算法模块:用于对多边形逼近法模块中获得的标志牌图像边缘直线使用共线联合算法,将提取的在同一条直线上的多段直线轮廓进行联合,形成整段图像边缘直线;
最小二乘法直线拟合模块:用于对共线联合算法模块中获得的标志牌图像边缘直线使用最小二乘法进行直线拟合,获取图像轮廓的四条边线;
图像轮廓交点获取模块:用于对最小二乘法直线拟合模块中获得的图像轮廓四条边线,求出四条边线所围成的封闭区域的四个交点;
图像轮廓中心点获取模块:用于对图像轮廓交点获取模块中获得的图像轮廓交点,求出图像轮廓中心点坐标并保存。
本发明的有益效果如下:
1.在取货校验中,字符识别算法的正确率非常高,有效降低了误取率。
2.在取货定位中,传统的定位方法多采用伺服电机控制系统,而内部伺服系统每次取货都需要回原点消除累积误差,降低了取货效率,否则将降低定位精度。而本发明提出的逐步逼近的亚像素图像定位法,提高了取货效率以及定位精度。
本发明的基于机器视觉和plc的钢材仓储控制系统在实验过程中,保持了长时间正常运行,实现了零误差取货以及高效率高精度定位。
附图说明
下面将结合附图和实施例对本发明作进一步的说明,附图中:
图1为本发明实施例基于机器视觉和plc的钢材仓储控制系统的各组成部分示意图;
图2为本发明实施例基于机器视觉和plc的钢材仓储控制系统总流程图;
图3为本发明实施例基于机器视觉和plc的钢材仓储控制系统ocr图像处理算法流程图;
图4为本发明实施例基于机器视觉和plc的钢材仓储控制系统blob分析提取流程图;
图5为本发明实施例基于机器视觉和plc的钢材仓储控制系统摄像机标定方法坐标系转换示意图;
图6为本发明实施例基于机器视觉和plc的钢材仓储控制系统逐步逼近的亚像素图像定位法流程图。
图1中标号说明:1-钢材货物,2-光源,3-工业相机,4-工业镜头,5-光照箱,6-机械臂,7-工控机,8-传送带,9-传动装置,10-电机,11-驱动器,12-plc。
具体实施方式
本发明实施例各组成部分示意图参考图1,提供了一种基于机器视觉和plc的钢材仓储控制系统,用来对钢材进行精确出库入库,所述基于机器视觉和plc的钢材仓储控制系统包含可移动的机械执行装置、plc控制装置、工控机及机器视觉模块。其中可移动的机械执行装置包含机械臂6和传动装置9。plc控制装置包含电机7、驱动器8及plc9。机器视觉模块包含光源2、工业相机3、光照箱4以及在工控机7内的数据库软件;plc控制装置通过电缆与工控机相连;传动装置9与机械臂6相连;光照箱4安装在传动装置9下方;工业相机3位于光照箱4内,通过电缆与工控机7相连;光照箱5安装在货物仓储位置上方;在工控机7内部的数据库软件对货物商标进行校验,并触发精准定位,控制机械臂6进行抓取货物。本系统还包含数据处理模块和通信模块。
在本实施例中plc运动控制模块包括西门子s7-200smartplc与步进驱动器、步进电机。s7-200smartplc通过pto方式实现位置开环控制,控制步进电机运动到目标位置。
数据处理模块包括工控机内的基于mysql的钢材数据库以及工控机软件。
本发明实施例中通信模块采用了西门子的自由口通信协议。西门子smart200系列plc的自由口通信的硬件接口为rs485的9针db口,端口操作的核心指令xmt和rcv,通信协议参数分别为9600bit/s,8位数据位,无奇偶校验位,1位停止位。自由口通信对于rs485口上通信,基于串口半双工通信原理,在一条通讯回路上,只能允许一种通讯方式正在工作。因此,首轮xmt发送指令,由定制器0中断触发,后续必须等待rcv指令接收到数据后,才可执行xmt发送指令。
本发明实施例中软件部分包括人机交互界面、机器视觉模块、数据库模块以及通信模块。其中,人机交互界面基于c#开发;机器视觉模块基于c#与halcon联合开发;数据库模块使用的是mysql数据库;通信模块基于c#开发的与西门子smart200自由口通信。
参见图2,一种基于机器视觉和plc的钢材仓储控制系统,其工作流程步骤包括:
搭建硬件实验平台,确认电源线以及信号线连接可靠;
根据对外部环境以及定位的精度要求,设置拍摄清晰图像的工业相机参数;
打开计算机和软件,首先点击注册,注册完成后输入相应的用户名和密码,点击登录进入主操作界面,在主操作界面连接相机,设置串口信息即可连接plc;若需要入库,在货物标识牌号处填写对应牌号以及货架的行与列位置参数,点击入库按钮;
触发plc运动控制系统驱动电机带动取货装置运转到目标位置,执行到位后,将触发工业相机拍摄钢材货物标识牌,对实时拍摄的钢材货物标识牌图像进行ocr识别图像算法处理,提取对应的牌号字符。
将提取的牌号字符与数据库中的目标牌号字符进行对比校验,校验成功后,取货装置将执行动作;并在软件访问钢材仓储数据库,数据库记录入库货物信息,软件记录放货装置的位置信息;
入库校验成功后,将再次触发工业相机拍摄钢材货物标识牌,对实时拍摄的钢材货物标识牌图像进行摄像机标定,并使用blob分析获取图像相应的位置参数;
实时拍摄的钢材货物标识牌图像所提取的位置参数通过串口通信传入plc运动控制系统中,并触发plc运动控制系统驱动电机运转到目标位置,完成粗定位;
粗定位执行到位后,将再次触发工业相机拍摄钢材货物标识牌,对实时拍摄的钢材货物标识牌图像进行逐步逼近亚像素图像法进行边缘轮廓提取,获取进一步更加精准图像位置参数;
将上一步中实时拍摄的钢材货物标识牌图像所提取的位置参数通过串口通信传入plc运动控制系统中,并触发plc运动控制系统驱动电机运转到目标位置,完成精定位;
若需要出库,在货物标识牌号处填写对应牌号,点击出库按钮,软件将访问钢材仓储数据库,读取数据库中货物位置信息,并与上次放货或取货位置信息计算出目标位置,其他步骤与入库相同。
所述ocr识别图像处理算法是基于hsv颜色控件转换与blob分析的图像处理方法,流程图见图3,具体ocr识别算法步骤为:
1.对工业相机实时拍摄的钢材货物标识牌图像进行rbg颜色空间图像分解;
2.对rbg颜色空间图像分解后的rgb图像进行空间转换至hsv颜色空间;
3.对hsv颜色空间转换后的钢材货物标识牌图像使用blob分析提取可识别的标示牌中标识号的图像信息;
4.对经过blob分析提取处理的标志牌的二值图像进行形状特征和位置特征筛选,获取标示牌中标识号的图像信息;
4.对形状特征和位置特征筛选后的标识号的图像信息进行字符分割,得到多个单字符的图像数组;
5.读取ocr的训练文件生成多层神经网络分类器,对字符分割后得到的多个单字符的图像数组进行机器多层神经网络感知识别并保存在数组中。
其中blob分析提取方法流程见图4,包含以下步骤:
1.对hsv颜色空间转换后获得的hsv图像,提取其中的s图像进行阈值分割,提取标志牌的二值图像信息;
2.对阈值分割后的标志牌的二值图像信息进行矩形形态学开运算;
3.对经过矩形形态学开运算处理的标志牌的二值图像进行矩形拟合模拟,给形状特征和位置特征筛选提供运算范围;
其中,所述粗定位工作流程中的摄像机标定方法,示意图见图5,将世界坐标系转换到图像像素坐标系,中间经历了相机坐标系与图像物理像素坐标的过渡,实现物理毫米到图像像素的转换,具体步骤为:
在图像像素坐标系中,坐标为(u0,v0),每个像素在x轴与y轴方向上的物理尺寸为dx,dy,则在图像中任意一个像素在两个坐标系的对应关系如下:
将上式代入齐次坐标系中,矩阵运算形式如下:
在摄像机坐标系:o-xcyczc,图像坐标系:o1-xy
根据三角形相似原理,有
公式1.3中,f代表摄像机焦距,由于摄像机坐标系为三维坐标系,而图像物理坐标系为二维坐标系,因此,将空间三维空间信息转换到二维空间信息时,将会有z轴方向信息的损失,在齐次坐标系中,引入一个3×4投影变换矩阵,矩阵运算形式如下:
摄像机坐标系与世界坐标系都属于现实三维空间坐标系,两者的转换是通过旋转矩阵r和平移矩阵t完成的,在齐次坐标系中,矩阵运算如下:
由上可知,图像像素坐标系与图像物理坐标系的转换,图像物理坐标系与摄像机坐标系的转换以及摄像机与世界坐标系的转换公式,联立所有公式,可得出图像像素坐标系与世界坐标系的转换关系,矩阵运算形式如下:
上述公式完成了从世界坐标系到图像像素坐标系的转换,中间经历了相机坐标系与图像物理像素坐标的过渡,xw中的w表示世界物理坐标系,单位为毫米,而u,v的单位为像素,即完成了从毫米到像素的转变。通过使用halcon的标定助手,获取相机的内外参数即可获取到图像单位像素对应的实际尺度。完成摄像机标定后,通过blob分析获取粗定位坐标,触发plc运动控制系统完成粗定位。
其中,工作流程精定位是基于本发明提出的一种逐步逼近的亚像素图像定位法,流程图见图6,具体步骤如下:
完成摄像机标定后,通过blob分析获取粗定位坐标,触发plc运动控制系统完成粗定位,并再次触发摄像机实时拍摄;
对实时拍摄的钢材货物标识牌图像使用blob分析提取法提取图像边缘;
对获得的标识牌图像边缘使用形态学边缘提取,获得提取到标志牌的二值图像的像素级边缘轮廓;
对所获得的标识牌图像边缘使用形态学膨胀,提取出图像的边缘过渡带;
对标识牌图像的过渡边缘带进行剪切,获取可识别的标示牌边缘的图像信息;
对所获得的标识牌图像使用halcon的edges_sub_pix算子,调用canny算法,使用平滑系数设置在1-3之间,平滑系数偏小时,容易出现假边缘,而平滑系数设置过大时,会出现边缘偏差;双阈值分别设置10,60,60为最大阈值,筛选出绝对真实的边缘,10为最小阈值,用于连接真实边缘的细小边缘;
其中canny算法步骤为:
1.用二维高斯模板对标志牌边缘过渡带图像进行卷积以消除杂点,去除噪声,降低伪边缘的识别;2.用一阶偏导数的有限差来计算图像的梯度的幅值和方向;3.对梯度幅值进行非极大值抑制,保留局部最大梯度而抑制所有其他梯度值;
4.使用双阈值算法检测和连接边缘。
对所获得的标识牌图像使用halcon的segment_contours_xld算子,使用多边形逼近法分割边缘,提取直线,迭代阈值分别设置为5,2,第一个阈值设置粗分割,第二个阈值设置细分割;
对所获得的标识牌图像使用halcon的union_collnear_contours_xld算子,通过共线联合法,将在同一条直线上的多段直线轮廓进行联合;
对所获得的标识牌图像使用halcon的fit_line_contour_xld算子,使用最小二乘法拟合直线;
对所获得的标识牌图像使用halcon的intersection_lines算子,获取边缘轮廓直线的交点,通过轮廓边线交点用对角线法获取轮廓中心点坐标,从而得到钢材货物的精确位置信息;
将钢材货物的精确位置信息传输到plc控制装置中,触发plc机械执行装置将钢材货物运转到目标精确位置,执行出库/入库操作。
在不冲突的情况下,本文中上述实施例及实施例中的特征可以相互结合。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。