时间:2024-07-28
颜兵兵,郑大帅,张连军,王跃辉
(佳木斯大学 机械工程学院,黑龙江 佳木斯154007)
IT产业的高速发展、网络的普及、家电的智能化和单片机强有力的功能拓展,使得数字家庭、无线定位、无线组网等新概念已不同程度地融入人们的生活环境中。无线通信技术的成熟与发展促进了新兴无线业务的出现,越来越多的应用都需要定位服务。为解决自动定位的问题,基于卫星通信的全球定位系统(GPS)应运而生,其良好的定位精度解决了很多诸如军事和民用等方面的实际问题;但当需要定位的物体位于建筑物内部时,其定位精度会明显下降。因此,必须研究新的定位技术以弥补GPS的不足。迄今为止,常见的室内定位技术有红外技术、无线局域网技术、超声波技术和RFID技术。典型的系统有Active badge、Crickets、LANDMARC、RADAR、E-911 等[1-4],这些系统在定位精度、网络构建成本以及工作原理上各有不同。但就其针对移动物体的室内定位技术而言,可分为基于移动设备的方法和基于网络的方法。前者主要由移动设备根据当前和以前与其通信的参考基站信息,计算出自身的位置,其最典型的应用是GPS;而后者则是网络根据其参考基站和移动设备通信的信息(时间和信号强度等),结合网络的拓扑结构计算出移动设备的位置实现定位。
无线网络是利用无线电射频RF(Radio Frequency)或红外线IR(Infrared)等无线传输媒体与技术构成的通信网络系统。由于取消了有线介质(双绞线、同轴电缆、光纤等),从而可以满足网络用户信息随身化的理想需求。目前短距离无线网络技术包括ZigBee、无线局域网(Wi-Fi)、蓝牙(Bluetooth)、超宽带(UWB)和近距离无线传输(NFC),已成为业界谈论的热点[5]。与其他技术相比,ZigBee技术填补了低成本、低功耗和低速率无线通信市场的空缺,其成功的关键在于丰富而便捷的应用,而不是技术本身。因此,本文基于ZigBee技术和嵌入式技术,以构建简单、定位精度高为目的,构建室内定位试验平台。
室内定位试验平台主要由ZigBee无线网络与控制单元两部分组成,如图1所示。其中,控制单元用于收集定位数据及网络中各节点的交互。典型的控制单元是PC机或ARM控制器,但通常两者均不具备嵌入式射频收发器,因此实际应用中尚需外部搭接射频模块。ZigBee无线网络是基于IEEE802.15.4技术标准和ZigBee网络协议而设计的无线数据传输网络,包括1个网关(作用相当于ZigBee的协调器,负责整个定位无线网络服务、协调,以及网络状态检查等)、3个以上的参考节点(为已知位置的节点,并且其物理位置固定不变)和1个定位节点(其位置随时变化,由CC2431硬件定位引擎通过接收参考节点的RSSI值经过固有定位算法计算而得)。
网关和参考节点均采用TI公司的射频芯片CC2430,定位节点采用支持2.4 GHz IEEE802.15.4/ZigBee协议的带有硬件定位引擎的射频芯片CC2431,移动小车采用履带式两轮驱动方式,控制器采用Samsung公司的S3C2410处理器。数据传输方面,网络节点(参考节点、定位节点和网关)之间采用无线传输方式,网关与控制器之间采用串口通信方式。装备有网关和定位节点的移动小车如图2所示。
接收到参考节点的信号强度后,定位节点独自计算所得信号的传播损耗,基于理论与经验模型将其转化为有效距离,最后利用已有算法得到定位节点的具体位置。接收信号强度理论值为:
式中,d为到发射器之间的距离;n为信号传播常量;A为在1 m处接收到信号的强度。可以看出,信号强度与到发射器之间的距离成对数衰减的关系,定位节点与发射器之间的距离越近,由信号强度偏差产生的绝对距离误差就越小。当该距离达到某一数值后,由RSSI波动所造成的绝对距离误差将会很大。在实际应用中,定位节点会采用RSSI值较大的前几个参考节点进行定位计算,以避免定位误差的扩大。该技术硬件要求较低,算法相对简单,但由于环境因素变化的影响,在实际应用中往往需要改进。与常见的软件定位方法相比,CC2431硬件定位引擎具有速度快、精度高且不占用处理器时间等优点,采用分布式计算方法以避免集中计算方法造成的网络传输与通信延迟的问题。
基于Ubuntu系统(内核为Linux2.6版本),在跨平台应用程序集成开发环境Qt Creator中编写无线网络定位图形化监控软件,并移植到ARM系统中[6]。串口通信程序设计过程中,必须创建串口数据接收与发送线程,并在主函数体中采用信号/槽机制实现串口数据的实时传递,具体操作流程如图3所示。此方法可以实现移动小车在实验环境中初始位置的随意设定,且不影响定位精度。
图3 串口数据处理与运动控制流程
将ZigBee无线网络中的8个参考节点(CC2430)按照一定规则分布于12 m×12 m的室内空间,网关及定位节点安装在移动小车上。移动小车采用履带式两轮驱动底盘,控制器为S3C2410处理器,通过串口方式与ZigBee无线网络中的网关相连接。将移动小车放置于8个参考节点所包含的范围内,方向任意,结果如图4所示。
在保证网关成功启动后,分别启动各个参考节点以及定位节点,在车载液晶屏上人工设定目标点。目标点设置完成后,启动自动定位功能程序,移动小车将根据事先设计好的定位算法行走,直至目标点停止运动。根据上述实验方法进行了8组试验,结果如表1所示。以欧几米德距离来衡量定位误差,经数据分析可以看出,小车能实现在未知车头前进方向的情况下寻找自己前进的方向向量,并且能够在行走误差范围内到达目标点,定位误差约1.25 m,基本实现了基于ZigBee的室内定位并寻找目标点的试验目标。
表1 移动小车寻找目的坐标的试验数据
鉴于CC2431硬件定位引擎只能在64 m×64 m范围进行定位计算,对于实际应用而言,需要增设一个前处理软件算法,最大范围可达16 384 m。基本思路是:首先定位最大RSSI值的参考节点并计算其到64 m×64 m正方形中心的偏移量d,然后定位其他参考节点并全部偏移d,再将所有数据送入硬件定位引擎计算结果,最后累加偏移量d,从而得到定位节点的坐标值。而对于三维空间定位而言,可以用一个字节表示Z方向,最多可达256层。可以推断出,来自于不同层面的节点的信号强度要比同一层中的信号强度要低,这就意味着需要更密集的参考节点布置于实际环境中。
ZigBee技术是新兴的无线通信技术,网络功能强大,使用方便、成本低、功耗低,应用领域将越来越广。本文根据实际应用的需要,完成了室内无线定位系统的设计与ARM嵌入式系统的结合和具体实现。该定位系统采用ZigBee无线通信技术和ARM嵌入式技术,将这种低功耗、低成本的无线通信技术和嵌入式技术结合并应用到了室内定位系统中,拓宽了ZigBee技术的应用领域。
在实际的测试场所对该系统进行了测试,测试结果表明所设计的系统达到了预期的要求,系统的定位精度可以满足室内人员等移动目标的定位应用要求,系统具有较高的定位速度、较低的功耗和低廉的系统成本,具有较高的实用价值。
[1]WANT R,HOPPER A,FALCAO V,et al.The active badge location system[J].ACM Transactions on Information systems,January 1992,40(1):91-102.
[2]LIONEL M N,Liu Yunhao,LAU Y C,et al.LANDMARC:indoor locaion sensing using active RFID[C].IEEE International Conference on Pervasive Computing and Communications,2003.
[3]PARAMVIR B,VENKATA N P.RADAR:an In-building RF-based user location and tracking system[C].IEEE INFOCOM,2000,2:775-784.
[4]PRIYANTHA B.The cricket indoor location system[D].Boston:Massachusetts Institute of Technology,2005.
[5]李文仲,段朝玉.ZigBee2006无线网络与无线定位实战[M].北京:北京航空航天大学出版社,2008.
[6]韦东山.嵌入式 Linux应用开发完全手册[M].北京:人民邮电出版社,2008.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!