APP下载

自行小车悬挂输送系统无线定位算法

2022-03-31金政金宏平

湖北汽车工业学院学报 2022年1期
关键词:定位精度小车指纹

金政,金宏平

(湖北汽车工业学院,湖北 十堰 442002)

自行小车悬挂输送系统是按照预设轨道运行的空中悬挂输送系统[1]。传统自行小车悬挂输送系统大多采用行程开关、认址片、激光以及条码带等方式实现定位[2-3]。这些方式均能为自行小车提供较为准确的定位,但是需要增加相应的硬件设备,对信号的传输也提出了较高的要求。随着无线通信技术在输送系统中的应用,采用无线定位技术实现自行小车的定位具有较好的应用前景。Zig-Bee 技术在现代工厂智能化建设中因其组网方式灵活、响应快、成本低、稳定性强以及安全性好等优势,能够实现悬挂自行小车输送任务的同时利用4个固定位置的锚节点,无需附加其他设备即可进行自行小车的无线定位,为自行小车悬挂输送系统提供了新的技术方案。无线定位技术通过无线传感器网络(wireless sensor networks,WSN)收集相关信息,采用合适的定位算法来实现定位。1998 年微软公司为研究室内定位,提出的RADAR[4]定位系统,通过采集大量的测试信号,利用指纹识别技术实现了精确度为2~3 m 的定位。得益于其便捷性及较高的灵活性,基于指纹的无线定位技术在近些年得到了广泛的研究和发展。Angelos Chatzimichail[5]等针对接收信号强度指示(received signal strength indication,RSSI)数据采集过程中数量有限以及其他信号干扰的问题,引入滤波技术提高了狭小环境室内定位的精度,为文中数据的预处理提供了思路。Yu[6]等针对跳动量较大的数据采用卡尔曼滤波算法对RSSI 数值进行优化,采用加权质心定位算法实现了误差不超过20%的定位。吴彦波[7]针对K 近邻(k-nearst neighbor,KNN)算法在定位过程中位置信息丢失而造成定位精度降低的问题,在指纹库建立阶段引入模糊C 均值(fuzzy cmeans,FCM)模糊聚类,其后利用KNN位置指纹算法提高了5%的定位精度。何海平[8]针对加权K 近邻(weighted k-nearest neighbor,WKNN)算法定位精度不足的问题,引入模糊聚类算法通过阈值去除了跳变量较大的数据,实现了平均精度为1.47 m的定位。以上研究表明室内定位精度与实验数据的质量直接相关。在指纹库建立阶段引入FCM聚类算法与适当的滤波算法对实验数据进行预处理能够有效提高数据质量;由于自行小车悬挂输送系统覆盖面较广,随着参考节点数目以及待测区域的增加,上述定位算法测试过程中的累计误差与边缘效应也随之增大,因此并不适用于自行小车悬挂输送系统的定位。由于自行小车信号在传播过程中易受工厂环境的影响而产生反射、衍射等现象,且其他无线信号会对测试产生干扰,同时现有定位算法的灵活性以及精确性都有待提高。因此优化指纹数据库或定位算法成为了提高定位精度的主要研究方向。文中通过引入模糊聚类、隶属度分析等方法对WKNN 定位优化算法进行优化,为自行小车输送系统提供较高的无线定位精度。

1 基于位置指纹的定位算法

位置指纹定位算法根据测试节点在空间中的分布情况、信号强度以及到锚节点的距离等参数表征该节点的位置特征。位置指纹定位法通常分为离线建库和在线测试2个阶段。在离线阶段,采用相关设备采集目标区域中参考节点的信号以及位置信息,建立相应的指纹数据库。在线阶段根据实时采集到的测试节点的指纹信息,通过相应的定位算法实现未知节点的定位。

1.1 KNN定位算法

KNN 以未知节点附近K个距离最近的参考节点作为定位依据,通过计算K个参考节点的坐标平均值得到最终的定位结果[9]。定位公式为

式中:(x,y)为未知节点的定位坐标;K为距离未知节点最近的参考节点个数;(xi,yi)为第i个参考节点的坐标。KNN能够为分布均匀的未知节点提供较为准确的定位,但针对测试区域边缘的未知节点存在较大定位误差。同时该算法需要大量的指纹数据作为定位依据,对指纹库的建立具有较高要求。

1.2 WKNN定位算法

WKNN 算法是在KNN 算法的基础上加以改进,将未知节点与锚节点之间的欧式距离的倒数作为权重w来计算未知节点的坐标,权重公式为

式中:wi为第i个附近参考节点的权重;di为第i个附近参考节点与未知节点间的欧氏距离。WKNN算法引入权重有效的区分了参考节点的远近对未知节点的影响程度,使定位算法更加合理,提高了定位精度。然而WKNN算法在计算过程中需要事先确定邻近点个数K的值,在不同的应用场合中,K值的选取同样直接影响到未知节点的定位精度。因此,设计自适应变更K值的WKNN 算法能够为无线定位提供新的方案。

1.3 FCM聚类算法

FCM 算法是基于目标函数的聚类算法,该算法在数据划分过程中采用柔性的模糊划分,能够将参与聚类元素的相似程度通过FCM算法所得到的隶属度向量表示[10]。常用目标损失函数为

式中:k为聚类的类数;n为样本容量;b为平滑因子,取值为2;mj为每个类的聚类中心;xi为样本向量;μj(xi)为第i个指纹样本对应第j类的隶属度函数。FCM算法的mj和μij可由式(4)表示:

式中:c为最终聚类类别数。

指纹定位过程中的关键在于如何利用定位算法从指纹库中匹配到最为适合的定位结果。FCM算法将指纹库与未知节点的数据以类的方式进行区分,在未知节点的坐标解算过程中只针对相同类别的指纹数据进行计算,在保证定位精度的基础上大大减少了定位算法的计算量。

1.4 自行小车无线定位算法

采用FCM 聚类算法对WKNN 算法进行改进,利用FCM聚类产生的μij值对聚类结果进行二次校正,实现WKNN 算法中K值的自适应选取,定位过程如图1所示。无线定位的离线阶段,利用ZigBee模块进行室内测试区域的信号采集,将采集到的信号进行滤波后组成信号指纹库。在线阶段则将工作中采集到的未知节点的信号与指纹库中的指纹数据进行整合,并利用FCM算法进行类别判断,确定该未知节点的所属类别后,将该类别的所有指纹数据均记为未知节点的邻近点。通过设定的隶属度阈值R0对FCM算法求解所得的隶属度进行二次筛选,满足阈值条件的邻近点参与后续的WKNN算法定位计算。

图1 定位算法模型

2 实验验证与结果分析

选用CC2530 模块进行测试区域的信号采集,采集设备如图2a 所示。实验中,每个节点的采样时间均设置为3 min。测试区域为2 m的正方形区域,节点布置如图2b所示,在正方形4个角上布置4 个锚节点,其他均为参考节点,实际测试场地如图2c 所示。测试过程中,锚节点与参考节点进行广播通信,发送相关信息,介质访问控制层通信的数据包格式均由域名、帧控制域、序列号、目的PANID、目的地址、源PANID和源地址组成。

图2 实验布置

由于无线信号在传输过程中会受到物体表面的反射、衍射以及其他信号的干扰,因此RSSI值也随之呈现出波动的趋势,某个时间段采集的RSSI数据分布如图3所示,可见RSSI的分布基本满足高斯分布。因此对RSSI 数据进行高斯滤波处理后,再与参考节点的物理坐标组成指纹数据。

图3 单采集点信号图

为验证定位算法的精度,人为部署6个位置不同的未知节点并采集其RSSI信号。记录这些未知节点的实际坐标信息后,利用FCM 聚类算法对采集到的未知节点的数据与指纹数据库中的数据进行聚类。聚类时设置聚类类别为4,并通过设定隶属度阈值R0进行聚类结果的二次优化。该方式能够实现WKNN 算法邻近指纹点数量K的自适应选取,具备良好的适用性,在一定程度上可以提高定位精度,满足自行小车的定位要求。

采 用KNN 算 法、WKNN 算 法 以 及FCM 与WKNN混合算法进行定位性能比较,结果如图4所示。KNN算法采用邻近节点坐标的平均值作为其定位结果:如未知节点5,参与KNN 计算的4 个附近指纹点分别为指纹点5、6、11、12,在指纹点构成相对规则的分布时利用该算法能够获得较高的定位精度,其定位误差不高于0.2 m。但在通常情况下,所选参考节点分布不具备规则性,因此定位精度较差。而WKNN算法是在KNN的基础上对邻近节点的影响进行加权平均,能够反应参考节点的远近对定位精度的影响。该方法在一定程度上反应了未知节点附近指纹点的分布情况,提高了定位精度。但是在邻近指纹点的选择上局限性较大,不能够表现出未知节点的整体分布特征。当未知节点靠近测试区域的边缘时,如未知节点2、3、4 所示,选取得参考节点与未知节点相距较远,定位误差较大。采用FCM 与WKNN 混合算法进行定位时,未知节点1、3、5 的精度提高效果明显,而未知节点2在定位过程中,由于选用2个类别的所有参考节点作为邻近节点:指纹点2、3、7、8、10、20、21、23、26,在y方向上定位精度得到了明显的提高;在x方向上由于仅有左侧指纹点,导致定位的横坐标向左偏差较大。综合可知基于自适应邻近点K的WKNN算法在定位过程中能够有效提高定位精度。

图4 定位比对图

为了评价各算法得定位精度,文中采用距离误差来评价定位算法的性能,计算方法为

式中:(xi,y)i为定位算法测得的坐标;(x0,y0)为未知节点实际位置坐标。各定位算法的定位误差见图5,可以看出,KNN 算法的最大定位误差为0.63 m,平均定位误差为0.47 m。WKNN 算法的最大定位误差为0.66 m,平均定位误差为0.46 m。FCM 与WKNN 混合算法的最大误差、平均误差分别为0.52 m 和0.36 m,相对于KNN 算法和WKNN 算法,该定位算法依据FCM聚类隶属度向量实现了邻近指纹点个数的自适应取值,同时对边缘未知节点的定位具有一定的优化作用。坐标计算时更能够体现出整个实验过程中指纹点的分布状况,一定程度上使得WKNN所获得的局部最优解转换成为了范围更大的最优解,定位精度有所提高。

图5 定位误差图

3 结论

采用指纹定位方法对RSSI值进行高斯滤波处理,通过FCM聚类确定未知节点所属类别,对聚类结果进行了修正。根据FCM的聚类子样本数设定WKNN 算法的K 值,实现了WKNN 算法的自适应计算。实验结果表明,该方法的定位精度明显优于KNN算法和WKNN算法,其平均误差不超过0.36 m。该定位方案在自行小车悬挂输送系统上的应用可以优化其系统的结构以及稳定性,定位精度较传统定位算法有一定的提高,为自行小车悬挂输送系统的定位起到辅助定位的作用。

猜你喜欢

定位精度小车指纹
北方海区北斗地基增强系统基站自定位精度研究
Galileo中断服务前后SPP的精度对比分析
像侦探一样提取指纹
大车拉小车
为什么每个人的指纹都不一样
GPS定位精度研究
GPS定位精度研究
刘老师想开小车
两轮自平衡小车的设计与实现
去修理厂