莫喜玄,张 娟,高兴宇,蒋文彦,梁小欢,龚 平
(1.桂林星汉科技股份有限公司,广西 桂林 541000;2.桂林医学院附属医院健康体检中心,广西 桂林 541000;3.桂林电子科技大学,广西 桂林 541004)
标签打印在物流、医学等方面扮演着重要的作用。人们可以根据标签上面的信息追踪到其生产厂家及相关产品等人员的详细信息,极大提高了安全性、便捷性。但是在贴标签的过程由于其位置不准确,会造成标签错位,对厂家而言会极大提高生产的成本,造成极大浪费[1]。
为了解决在自动标签打印过程中标签定位不准确的问题,提出了一种基于粒子群算法来精确计算其位置的方法。由于粒子群算法会造成一定区域内的最优化问题和节点的位置会发生不可预测的变化[2,3],同时因为测量时会有误差的存在和网络中节点不合理导致测量精度不高[4]等问题。因此,利用粒子群算法结合其实际的坐标位置来进行实验分析,通过重复反馈、多方面影响粒子群算法因素从而对位置准确度会有影响进行分析,从而找到条形码的准确位置。
红外感应传感器是通过计算回馈的能量,基本原理:红外传感器在遇到不同检测物的时候会出现不同的能量损耗,根据这一特点进行位置信息的采集。红外测距传感器结构:两个二极管,一个是负责接收信号,另一个作为发射红外信号,用来判断接收与发射的频率是否频率一致从而判断有没有障碍物。因此本课题以红外感应传感器作为空间位置信息采集,利用优化算法对空间坐标进行最优化,来确定精确位置。如图1所示为红外感应的全自动标签打印装置的整体结构。
图1 红外感应的全自动标签打印装置
基于时间差算法原理的传感器对贴标机进行定位研究,其定位原理如图2所示。
图2 时间差算法定位原理
粒子群算法是一种解决最优化问题的特定算法,通过利用粒子群算法优化空间坐标确定标签装置的精确位置,实现全自动标签打印装置的精确定位。粒子群算法的基本原理:在一个待测的空间中会存在许多粒子,其中速度和位置会根据最优化的结果进行重新确定,位置的不断变化会使种群中的粒子趋向于最优化[5]。在粒子群算法中,种群中粒子的速度和位置都是随机确定的,当粒子在被测区域运动的时候,每个粒子会根据自身的特征从而改变自己在空间域的速度和位置,从而在每一次的反馈的时候找到最优解。每一次反馈时,粒子会根据个体的极值pbest和全局的极值gbest变化自己的速度和位置,对应的算法流程图如图3所示,其速度和位置更新公式见式(1)(2)。
图3 粒子群算法流程图
其中,学习因子是e,它们都为正常数,正常情况下c1=c2=2;r1,r2为0~1之间均匀分布的随机数惯性权重因子为ω,其作用为影响粒子的飞行速度从而对种群状态的影响。
个体极值更新公式:
对于整个种群而言,全局极值的更新公式:
使用MATLAB搭建无线传感器网络平台。对红外感应贴标装置应用粒子群优化算法确定其精确位置参数的设置见表1。特定的区域的作用会作为随机网络节点的位置,平面结构作为指定区域。
表1 参数设置
图4描述的是空间中网络节点的空间位置在红色点表示实际位置、蓝色点表示目标节点评估位置是需要重新进行优化的点,从图中可以看出实际位置与重新优化的位置基本重合,空间地理坐标[12.5-20]和[30-40]区间中空间点的位置最集中,因此可以确定传感器的坐标值来对试管进行贴标。
图4 网络节点定位
表2是对通信半径进行误差分析的结果,可以得知通信半径数值越大传感器定位误差越小,因此在利用算法对贴标机空间位置进行优化过程中,通信半径在装置空间允许的范围内应该尽量选择大。节点个数对误差值的影响和通信半径一致。
表2 通信半径误差分析
表3对优化算法中瞄点个数与定位误差之间的关系进行分析的结果,可知瞄点个数与定位误差成反比,通过对空间地理位置、通信半径以及瞄点个数定量化进行分析实现了节点的精确定位,只有极少数粒子出现误差,但它是由于每一次的反馈使结果进入局部最优解的陷阱成为“伪点”。
表3 锚点个数误差分析
本课题采用粒子群算法对全自动标签打印进行准确定位的研究,文中结合标签打印装置以选取基于时间到达差算法定位原理的红外感应传感器,为提高定位精度提供了基础。这样利用优化算法根据装置空间位置对参数进行设置,通过对影响定位误差的主要因素进行定量分析,确定最佳的优化区间;通过利用MATLAB对所确定的区间进行仿真验证,使定位精度进一步提高。