时间:2024-07-28
徐柳坡,韩英哲,马 放
(1.华北医疗健康产业集团有限公司,河北 石家庄 050001; 2.中国电子科技集团公司第十三研究所,河北 石家庄 050001)
无线传感器网络(wireless sensor networks,WSN)是一种分布式传感网络,具备分布式、自组织、富网络节点的特点。它的末梢带有各种类型传感器,包括压力传感器、温度传感器、震动传感器等。此外,它还具有节能、低成本、布局方便灵活等特点。然而,在无线传感器网络中没有位置信息的检测数据。所以,基于ZigBee的节点定位是无线传感器网络的关键支撑技术之一。与GPS定位相比,ZigBee定位有其场所优势。由于GPS定位需借助太空卫星信号,故其适用于无遮挡的室外环境,一旦进入室内或地下等遮挡环境,将无法接收信号或无法实现精准定位。基于ZigBee技术定位可以为医院、矿井、隧道等遮挡空间提供人员的实时位置信息[1]。
在无线传感器网络中,定位方法不计其数。将其按照位置估算的机制划分,有基于距离的定位机制、与距离无关的定位机制[2]。其中,基于距离的定位机制,主要包括:基于到达时间的定位机制、基于接收信号强度指示(received signal strength indication,RSSI)的定位机制等。与距离无关的定位机制主要包括:DV-Hop算法、APIT算法等。综合考虑以上几种测距技术的不同特点和应用特性,基于RSSI的测距技术有很明显的自身特性。将接收到的信号强度结合传播过程中的损耗,利用信号传播模型将传播损耗转换为距离[3]。与其他测距技术相比,RSSI测距具有很强定位优势,它具有成本低、计算快、易实现等优点;同时,硬件投入少,无需额外的硬件。但它也具有诸如多路衰减、背景噪声干扰的缺点[4]。
本文设计了一种基于RSSI的优化定位算法,在RSSI测距基础上使用最小二乘法修正距离,并辅以质心算法,以提高复杂室内环境下的定位精度。三边定位算法的定位原理决定了其只适用于二维平面,在复杂室内环境的情况下,对信号干扰较大,得到的位置无法保证精度。本文试验中,将参考节点放置在室内高处,以减少地面物品的干扰。此时,参考节点与移动节点处于不同水平面,会造成较大的定位误差[5]。基于以上分析,本文提出了一种空间映射模型,较好地解决了这个问题。
系统硬件组成原理如图1所示。
图1 系统硬件组成原理图
本系统硬件主要使用了以S3C6410芯片为核心、以飞凌ARM11开发板作为移动平台的iRobot Create移动扫地机器人,以及提供定位的CC2430/CC2431 ZigBee无线传感器开发套件。此外,硬件还包括提供系统网络支撑的USB无线网卡、计算机等。
本文将ARM开发板和CC2431传感器节点固定在iRobot Create移动扫地机器人上,实现自由组网,并通过引入ARM11,大大增强了系统的计算速度。经过定位算法处理,将定位坐标以WiFi形式发送至上位机Linux系统,在计算机的Qt界面中实时显示移动节点/机器人当前位置。
RSSI是利用无线电信号传播的衰减规律,根据已知收发信号强度,测得两个节点间的距离,进而根据距离进行定位的一种定位技术。其中,RSSI随着信号传播距离的增加而减小,两者的关系可以用式(1)表示。
RSSI=-(10×n×lgd+A)
(1)
式中:n为信号传播因子;d为收发节点之间的距离。
式(1)中,RSSI和d跟常数A和n的值有直接关系[6-8]。射频参数A的单位为dBm,表示在发射器1 m距离的位置,RSSI平均值的绝对值;参数n表示距离每增加1 m接收能量强度的衰减值,衰减值与传播介质有关。在测量n值时,使用不同的n_index值,通过查找n与n_index对应表找到最接近具体环境的n值。
三边测量法如图2所示。
图2 三边测量法示意图
本文试验使用了4个参考节点,并且将其放置到高于地面的同一水平面上,以减少地面障碍物对信号的影响。采用信号最优原则,规避由于障碍物遮挡或其他偶然误差的因素,选取4个参考节点中信号强度最优的3个参考节点,再借助三边测量法进行定位。三边测量法的原理就是根据不在同一条直线的3个已知位置及其相互距离,计算得到未知节点的坐标位置[9]。
首先,测量移动节点(X,Y)到各参考节点(Xi,Yi)的距离xi,i=1,2,3,4。于是有:
第二,根据式(1)计算出移动节点到各参考节点的距离yi,i=1,2,3,4。
(2)
于是根据式(2),可以求出变量a和b:
(3)
结合式(1),得到修正距离y修与估计距离的关系为:
(4)
最后,连接整个硬件定位系统,利用式(1)计算出移动节点与参考节点的距离x,并通过最小二乘法原理修正估计距离x,得到y修[10]。
根据图2所示,由两点之间的距离公式可以得到式(5):
(5)
由式(5)可以得到移动节点D的坐标,为:
(6)
由于环境复杂,使用三边测量法在实际应用中会导致3个圆未形成共同交点,而是3个交点成为一个区域[11]。本文引入质心定位算法,以进一步弥补三边测量法受障碍物遮挡导致的定位缺陷,较大地提高了定位精度。
系统测量时,协调节点每收到一次来自移动节点的信息,都会首先进行一次处理,然后交由上位机软件进行二次处理。因为每次测量都是独立的,定位本身由于位置环境的变化会造成一定的误差,使界面坐标值偶尔产生瞬间大波动。为了解决上述定位问题,本文采用数据平均值作为移动节点的坐标:
(7)
CC2431内嵌的定位引擎支持3到16个参考节点定位运算,具有快速、高精度且不占用处理器的时间的优点。综合定位算法、定位精度以及成本三方面因素,本文采用了4个参考节点。由于节点距离越远,室内环境变化及信号衰减的不确定性越大,计算得到的RSSI值比真实值差距更大。所以本文采用距离移动节点最近的4个参与计算。试验表明,剔除信号最弱的一个参考节点坐标,能够有效提高定位精度。
最后,通过计算得到RSSI值。为了减少偶然误差造成的影响,本文创新性地采用切尾平均数法,以提高定位精度。具体方法为,读取10个RSSI值,去除其中的最大值和最小值,再求平均。
通过以上四步改进,使定位精度得到了明显的提高。
人机交互界面是本系统的重要组成部分,用于展示系统的定位信息。考虑到扩展性和移植性,本文采用跨平台的Qt软件对人机交互界面进行设计。它可以收发信息,实现人机交互,实时接收、实时显示机器人的位置坐标。本文设计了人机交互界面,结合自行定制的地图显示功能,实时显示移动机器人的位置。更重要的是,该系统保留了接口,为后续开发提供了便利。
ZigBee定位标签页可以设置参考节点的位置和高度,并根据实际情况调节参考节点水平坐标,以及参考节点和移动节点的高度差。随着移动机器人移动,坐标数据会实时进行显示并形象到在地图中对应的移动。
本试验采用了移动节点和协调节点固定在移动机器人的方案。该方案的优点是组网更加灵活,后续无需更换网络就能扩展其他室内区域。参考节点放在室内屋顶处,可减少室内障碍物的影响。
4个参考节点分别布置在室内(0.00,0.00)、(6.00,0.00)、(0.00,6.00)、(6.00,6.00)的等边区域。在距离参考节点1 m处,每隔22.5°测量一次RSSI值,对得到的16个数值求平均得到A值;多次重复试验验证,得到n值。接着,由式(2)和式(3)得到a=1.058,b=0.193。由式(4)可得y修与估计距离的关系为:
(8)
最后进行组网试验测试,得到改进前与改进后的定位结果。测试结果如表1所示。
表1 测试结果
从表1可以看出,改进后的算法在室内环境复杂的环境下,比较明显地提高了定位的精度。本文设计的基于ZigBee的移动机器人定位系统,创新性地采用了基于RSSI原理的优化定位算法。经过大量数据仿真试验验证,采用该算法在复杂室内环境下的定位误差大多在1 m以内,符合机器人定位的要求。经过系统扩展,将参考节点布满整个楼宇,可实现现有的单房间到整个楼宇内的不切换网络定位。
本文研究了一种基于RSSI的室内移动机器人定位优化算法。采用跨平台的Qt集成开发环境,设计了人机交互界面,简单、直观地显示了移动机器人在室内环境下的实时坐标位置。该研究具备易移植和方便扩展的特性,保留了系统接口,为后续开发带来了方便。协调节点把信息传送到ARM中,进行处理后通过无线网卡以WiFi的形式传送到到上位机中。该研究把协调节点放置在移动机器人上。其优点在于移动机器人在移动过程中自由灵活组网,避免了空间过大需要更换网络的不便。经过验证,借助将参考节点提高水平的位置,并结合改进后的定位算法测距精度更高,对移动机器人的定位更加精确,符合复杂实验室内的定位要求,在对低功耗、低成本和高精度需求的遮挡空间中有着广阔的应用前景。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!