马海舒,马宗正
(河南工程学院,郑州 451191)
智慧工厂的核心理念就是信息系统和物理系统的深度融合。实现物料,人员和设备的实时定位识别对于提高车间管理质量和效率具有重要意义。射频识别技术作为物联网的关键技术以其非接触、非视距且抗干扰能力强等特点,成为了室内定位领域的一个主要研究方向[1]。RFID已经越来越多被用在仓储物流[2],工业自动化[3],AGV定位[4]等场景中。海南航空利用RFID技术进行行李分拣[5]。精确的追踪技术确保了分拣设备可以快速准确的找到目标设备行李。射频识别技术也被应用在机器人导航和对象操作并达到了很高的精度[6]。通过RFID实现AGV高精度定位同时降低定位成本是目前研究的热点。
基于RFID接收信号强度(RSS)来实现定位的研究很多。最经典的方法被称为Landmarc,该方法通过在已知位置参考点布置RFID标签,然后根据最近邻算法估计目标位置[7]。但是RSS在复杂室内环境下并不准确,尤其在目标移动情况下。针对室内多径效应,指纹法被普遍采用[8]。指纹法的应用包括两个阶段。在离线训练阶段,已知位置参考点的RSS值被采集并建立指纹库。在线阶段,当前接收信号强度和指纹库中数据比对以确定目标点位置[9]。
依赖相位的定位方法逐渐引起越来越多注意。这类方法大致可以分为到达角度法和合成孔径法。到达角度法利用不同天线上接收信号相位值差确定标签位置,但是这种方法对天线间隔距离有严格要求,必须小于半个波长[10]。区别于到达角度法,合成孔径法利用移动天线测量信号相位值。
本文提出了一种基于RFID的融合接收信号强度和相位值的自动导引车追踪方法。该方法首先根据RSS得到粗略的位置估计,然后通过卡尔曼滤波将目标点预估的粗略值和标签的瞬时速度结合得到精确的目标位置。
对于有n个参考点m个RFID天线覆盖的区域,首先采集参考点位置的接收信号强度值RSSI。RSSI指纹是指RFID标签在室内某一已知位置接收每一个信号接入点信号(AP)强度序列值,RSSI指纹库可以表示为:
射频信号强度和天线与标签之间的距离成正相关。根据对数距离衰减模型可以得到:
其中T是信号传递功率,dij是信号接入点APj与第i个参考点位置之间距离,Gr,Gt分别是RFID读写器和标签天线增益,λ是波长,α是信号衰减系数。是服从高斯分布的变量,被用来模拟由于多径效应造成的RSS值浮动。
假设rssiik是在第i个参考点位置采集到的最小值,可以计算得到:
式(2)中标签天线增益Gt可以被消掉。因此,通过将指纹库中RSSI值做标准化处理,能够消除标签多样性对指纹定位精度的影响,数据标准化处理过程如式(3)所示:
其中Ri是经过标准化处理的新指纹。
指纹库建立完成后,依据基于机器学习的指纹定位算法实时从指纹库中估计室内目标的粗略位置。本文采用的指纹匹配方式为基于极限学习机的指纹定位算法。极限学习机(Extreme Learning Machine,ELM)是含有单隐藏层的前馈机器学习算法并且具有极快的学习速度。对于隐藏层含有L个节点的极限学习机,输出可以表示为:
其中,αi,βi分别是权重和偏置项,ηi是输出权重,G是激活方程。相比于传统神经网络算法需要输入层和隐藏层的权重和偏置,极限学习机中的权重和偏置可以随机分配,只要满足激活函数可以无限求导,最常用的激活函数是sigmoid函数。
测得的相位值由波长和信号传播距离决定,可以根据式(5)计算:
式中θT,θR,θtag分别是由RFID阅读器信号发射端,接收端和标签引入的额外相位量。如图1所示,在阅读器连续读取标签时间间隔内,目标沿信号接入点APi和标签之间径向方向移动位移Δid:
其中φi(tn)是信号接入点APi在时刻tn测得的相位值。进而,标签径向速度可以计算为:
图1 动态标签瞬时速度计算
标签瞬时速度和径向速度的关系可以表达为:
其中θ为瞬时速度v(tn)和径向速度之间的夹角。瞬时速度和径向速度可以分别表达为因此可以将瞬时速度v(tn)和径向速度之间非线性关系转换为线性关系式:
对于n个信号接入点AP,可以构建n个类似于上式的方程,根据最小二乘法可以拟合目标的瞬时速度v(tn)。
通过指纹算法得到一个位置估计(观测位置),然后由上一时刻的目标位置和瞬时速度来预测出当前位置(预测位置)。把这个观测结果和预测结果通过卡尔曼滤波得出目标点精确位置轨迹。
卡尔曼滤波(Kalman filter,KF)可以用来迭代更新离散时间控制的线性动态系统,用以下状态模型表示:
以长方形车间为例对提出的AGV定位算法进行验证。在车间内3m的间隔布置一个RFID阅读器,以确保RFID信号对实验车间的覆盖。通过在目标AGV上粘贴标签,并选择离目标AGV最近的4个RFID阅读器建立信号传播数学模型。以选定的RFID阅读器读取的信号强度值和相位值来定位目标AGV的位置。
实测中移动目标围绕着半径1m的圆形轨迹以0.8m/s速度做匀速运动。如图2所示,经过拟合得到的目标瞬时速度方向如箭头方向所示,基本上沿着轨迹方向。经过计算得到的瞬时速度大小如图中箭头长度所示,速度估计值非常接近真实值。本方法计算的目标瞬时速度无论大小还是方向都与实际近似相等。
图2 任意时刻目标瞬时速度
本文提出的融合算法(Fusion)和极限学习机(ELM),极限学习机加卡尔曼滤波(ELM+KF)作比较。ELM是指单独通过指纹定位算法估计标签实时位置,ELM+KF是指经过极限学习机计算出粗略位置后,通过卡尔曼滤波直接细化位置信息。三种方法的位置推测误差如图3所示。由于RSSI测量值的波动,ELM的表现不稳定而且准确度不高,标准差达到0.1122m。最大位置估计误差为0.4898m,而最小估计误差为0.013m。经过卡尔曼滤波优化,ELM+KF提高了精度,最大位置估计误差减少到0.3121m,结果证明卡尔曼滤波可以纠正部分RSS测量误差。通过融合速度信息,标签位置误差可以进一步精确。融合算法可以减小最大位置估计误差到0.1975m,并且位置估计标准差达到0.0425m。
图3 点位置估计误差
图4给出了三种方法的轨迹预测结果。由图可知,ELM预测的位置点非常散乱,说明单独通过信号强度很难得到精准的轨迹信息。ELM+KF可以有效压制RSS测量误差,得到的轨迹基本上是围绕着圆形路径,其平均距离偏差为0.1583m。通过融合速度信息,融合算法得到的轨迹更加精确,平均位置偏差达到0.0876m。
图4 轨迹估计误差
本文提出了一种基于RFID的用于智慧车间的自动导引车定位算法。通过采集参考点的信号强度值建立指纹库,利用数据标准化处理可以有效抑制RFID标签多样性对指纹匹配方法的影响,提高了定位精度。利用卡尔曼滤波融合接收信号强度和相位值进行车间内移动目标追踪,该方法计算量小,可以确保实时性。本方法定位精度高,算法复杂度低,具有良好的应用前景。