基于神经网络辨识和PLC控制的邮件分拣系统
扫描二维码
随时随地手机看文章
摘要:采用了具有自适应学习速率和附加动量因子的神经网络,实现了邮政编码模式识别的方法;并将辨识后的结果送入到PLC控制器中,通过PLC实现对邮件的自动分拣。上机实验运行表明效果良好。
关键词:神经网络;模式辨识:PLC
早期的邮件分拣是完全的人工作业系统,随着科学技术的发展,分拣作业系统逐渐开始使用各式各样的自动化机械装备,计算机控制技术和现代信息技术成为信息传递和处理的重要手段。机械化、自动化、智能化成为现代分拣系统的主要特点与发展趋势。邮件分拣过程是邮件处理中的一个重要环节,依据邮件的地址,快速、准确地根据邮政编码将发往不同地点的邮件从众多邮件中分拣出来。
本文先将邮件都摆放到传送带上,通过摄像头拍摄,获取邮件的邮政编码,用神经网络辨识出邮政编码,根据邮政编码的编号来控制邮件的走向。邮件分拣系统工作原理框图如图1所示。该系统分为邮件软件识别系统和PLC控制分拣系统两个部分。
1 邮政编码的识别
1.1 输入样本的设计
将0—9这10个阿拉伯数字用一个5*3的布尔量网络进行数字化处理,例如,0用[1 1 1;1 0 1;1 0 1;1 0 1;1 1 1]表示;1用[0 1 0;0 1 0;0 1 0;0 1 0;0 1 0]表示;等等。转换成神经网络能够处理的输入和输出数据,从而构造输入样本。将这10个含15个布尔量网络元素的输入向量定义为15*10维的输入矩阵X,X中每一列的15个元素对应一个数字量按列展开的布尔量网络元素。例如:X中第一列的15
个元素[1;1;1;1;0;1;1;0;1;1;0;1;1;1;1]表示0。将10个阿拉伯数字输入变量X中,作为神经网络的输入样本矩阵:
X=[X0,X1,X2,X3,X4,X5,X6,X7,X8,X9]
1.2 输出样本的设计
输出样本被定义为一个4*10维的目标矩阵T,其每一列的4个元素对应一个数字量,这16个数字量用其所定义的十六进制表示。例如,用[0;0;0;0]表示0;用[0;0;0;1]表示1;等等。
1.3 网络结构的设计
为了识别这些以5*3布尔量网络表示的十六进制数,所设计的网络需要有10个输入,在输出层需要有4个神经元来识别它,隐含层设计了9个神经元。激活函数选择Log-Sigmoid型传输函数,因为它的输出范围(0-1)正好适合在学习后输出布尔值。
1.4 网络训练
使网络能处理由于不规范的输入所造成的噪声,需要训练一个本身具有抗干扰能力的网络。本文训练一个“理想加噪声”输入矢量的识别网络。采用具有自适应学习速率和附加动量因子的Bp神经网络算法训练神经网络。
首先利用不含噪声的理想输入数据训练网络,为了使网络对输入有一定的容错能力,再利用不含和含有噪声的输入数据训练网络。这使网络学习适当地对含有噪声的数字进行正确的辨识。这种以牺牲对正确数字辨识正确性为代价的采用含有噪声的输入数据训练的神经网络,可能出现对标准数字输入辨识错误的可能性。因此,再次用理想信号进行训练,从而保证网络对理想输入和输出的正确性。
2 PLC硬件部分
分拣机系统是将用神经网络辨识出的4位16进制数代表的邮政编码的编码信息,随传送带分拣入各个代表唯一地址的邮箱中,如编码信息代表北京的就捡入北京的邮箱。其工作过程如下:当绿灯L2亮,红灯L1灭,传送带开始工作,电机M5驱动带有推头的主链运行,通过摄像头拍摄,获取邮件的邮政编码,将得到的结果送入到计算机利用前面介绍的邮政编码的识别方法,得到邮政编码的4位16进制值表示。当编码信息正确的时候,红灯L1灭,绿灯L2闪烁,利用电机光码器S1折合成脉冲数,PLC控制器从S1中采集脉冲数,当邮件到达分捡箱时,推进器(M1~M4)将邮件推进相应的邮箱。随后红灯L1继续灭,绿灯L2常亮,继续分拣。若编码信息出错,则红灯L1闪烁,电机M5停止动作,待重新启动后,再运行。具体结构见图2。
图3为分拣机与PLC的硬件连接图。其中S1和S2为控制开关,M1~M4为推进器,将邮件推进相应的邮箱,M5为驱动主链的电机,L1为红色指示灯,L2为绿色指示灯。通过PLC的RS232串口连接上位机,对系统进行监控。
邮件入箱部分软件设计流程主要包括:邮件检测、编码信息检测、编码信息转化成脉冲信号、邮件入箱和出错控制。PLC控制部分程序流程如图4所示。
3 结束语
本文采用神经网络对阿拉伯数字进行识别,将辨识后的结果送入到PLC控制器中,通过PLC实现对邮件的自动分拣,使邮件分拣系统朝着自动化的方向进一步发展。