刘洲洲,张亚杰,全定可
(1.西安航空学院,陕西 西安 710077;2.西北工业大学 电子信息学院,陕西 西安 710072;3.西安元智系统技术有限责任公司,陕西 西安 710000)
基于超声波检测的传感器网络定位测距系统
刘洲洲1,2,张亚杰2,全定可3
(1.西安航空学院,陕西 西安 710077;2.西北工业大学 电子信息学院,陕西 西安 710072;3.西安元智系统技术有限责任公司,陕西 西安 710000)
为了实现无线传感器网络节点内部、节点与节点之间有效的通信,根据定位网络的应用需求以及数据命令的用途,制定了节点消息格式、消息类型和消息内容,明确了消息的具体走向,确定了节点的应用层框架结构。其中,Sink节点主要负责监控网络的建立、上位机命令的分析处理和操作、数据的收集等任务,是整个网络的数据存储和处理中心,在上位机和监控网络之间起到桥梁的作用;每个节点由无线数据传输模块和主控DSP模块组成,同一节点的两个模块之间通过UART总线进行通信,节点之间通过无线RF射频方式进行通信;Sink节点与上位机使用UART总线进行通信,通过超声波相关定位测距的算法来对网络节点的定位测距性能进行实验分析。定位测距实验结果表明,构建系统的节点可测得最远距离为19 m,平均定位测距误差为3.6 cm,最大定位测距误差为17.2 cm,相对定位测距误差范围为0%~0.91%。
无线传感器网络;超声波;定位测距;系统设计
无线传感器网络(Wireless Sensor Network,WSN)具有信息采集、传输、处理功能和动态的拓扑结构。微小型传感器节点具有计算能力、通信能力,将其部署在监控区域内,构成可以自主自组织完成特定任务的WSN智能网络信息系统[1]。无线传感器节点在监控区域内实现自定位是无线传感器网络技术研究的热点和难点,在军事领域占据着举足轻重的地位。无线传感器节点不仅要能够实现自身定位,还要能在监控区域出现入侵者时,有效地安排适当的节点来消灭入侵者,起到自主防御的作用。
当前,国内外的高校、科研机构以及其他组织已经开发出很多成熟的WSN定位系统。比如基于RSSI的定位[2]无需添加额外的硬件设备就能进行时间同步和RSSI值测量,但是需要提前对应用环境进行建模,且定位测距误差通常较大,不适合定位测距精度较高的应用。声定位[3]系统需要大量底层硬件的支持,在一定程度上增加了节点的成本和系统功耗。基于超声波的定位测距技术定位[4]测距误差小、精度高,在对定位精度要求较高的环境中,超声波定位测距技术是一种可靠的方法。当准确计算网络内节点位置坐标后,节点的坐标使用文本表示,并不能清晰直观地将其位置表示出来[5-7]。
针对上述问题,以节点高精度系统定位为目标,研究相关定位测距技术,设计并实现了基于超声波相关检测定位测距系统,可以为WSN提供更好的节点自身定位服务支持。
根据定位系统的实际要求,设计了WSN定位系统。该系统主要由两部分组成:定位网络和监控系统。定位网络中节点的位置随机部署,其位置不确定,节点通过超声波相关定位测距技术使用相关检测算法计算节点之间的距离,通过无线方式将距离信息转发至Sink节点。上位机监控系统又分为Sink节点信息处理和终端界面显示两个子部分,Sink节点根据收集到的节点距离信息来计算节点的坐标位置,终端界面显示网络拓扑结构及节点坐标。
1.1传感器节点架构
根据具体应用场景的不同,节点的总体框架主要由DSP、RAM、ATZB-900-B0无线传输模块、射频收发天线、温度测量模块、A/D采样模块、超声波收发电路以及电源模块组成。
1.2无线数据通信模块
无线数据通信模块选用Atmel公司的ATZB-900-B0模块,它是一个灵敏度高、功耗低、超紧凑型的IEEE 802.15.4/ZigBee模块。定位系统的网络组建以及节点间的消息传输都是通过ZigBee技术实现的。通信模块的实物图如图1所示。
1.3节点传感器模块
超声波定位测距传感器是一种以超声波为载体的微小型定位测距雷达,其具有结构简单、体积小、能耗低、信息处理简单可靠、价格低廉等特点,不受光照、电磁、粉尘以及烟雾等因素的干扰[8]。为了解决单一超声波传感器指向性唯一的问题,采用六元阵列[9-10]的方法,将六组超声波收发探头均匀分布在正六边形的边上,保证超声信号的二维平面全向收发。
图1 通信模块实物图
在传感器网络[10-11]中,采用ZigBee通信协议时,节点被分为Coordinator、Router以及End Device三种。Coordinator负责系统的初始化工作,选择网络的信道等参数,建立网络供其他节点加入;Router负责节点之间命令消息的路由转发实现;End Device负责消息的发送和接收,只能和父节点进行数据通信,不具有路由转发的功能。Sink节点主要负责监控网络的建立、上位机命令的分析处理和操作、数据的收集等任务,是整个网络的数据存储和处理中心,在上位机和监控网络之间起到桥梁的作用,是系统应用中的Coordinator。监控网络区域内的待定位节点要具备消息转发与路由其他节点的能力,需要给所有节点发送消息,也可以接收到所有节点的消息,是系统应用中的Router。每个节点由无线数据传输模块和主控DSP模块组成,同一节点的两个模块之间通过UART总线进行通信,节点之间通过无线RF射频方式进行通信。Sink节点与上位机使用UART总线进行通信,未知节点的通信方式中并不包含该通信方式。节点的通信方式如图2所示。
图2 节点通信方式
对系统中应用层所使用的消息格式进行统一规定,如表1所示。其中,消息头字段为固定字节0x7e 0x44 0x00,目的节点地址字段为信息接收节点的ID信息二进制高8位和低8位,消息类型字段表示消息内容的属性,消息长度字段表示消息体字段的字节数,CRC校验保存信息的校验结果,消息尾字段为固定字节0x7e。在所有节点被部署之前,需要对节点进行初始状态的配置,主要是对节点的16位短地址进行配置,保证部署后的节点有唯一确定的短地址号。其中Sink节点的16位短地址的默认配置为0x0000,其余节点短地址从0x0001开始递增。当定位网络内未知节点已经被随机部署,定位网络进入等待定位状态。在PC端,上位机软件直接下发命令,定位网络开始进行相应的定位操作。
表1 消息格式
2.1Sink节点任务设计
Sink节点(Coordinator)的任务主要包括节点的初始化,建立网络,以及应用层任务命令,这里将Sink节点的无线模块和DSP模块看作一个整体。应用层任务命令包括检测和分析上位机下发的命令以及根据上位机命令做出相应的处理操作。应用层命令主要是Sink节点分别和上位机、定位网络之间的交互,交互示意如图3所示。
图3 交互示意图
初始化:系统整体上电后,Sink节点需要对硬件电路和系统资源进行初始化,包括对无线模块、DSP的硬件电路以及系统资源等。无线模块在这个阶段完成网络所需的配置,如网络设备类型定义,无线发射功率等的设定,通用IO口、串口、中断、LED灯等的初始化。主控芯片DSP在该阶段完成类似的初始化工作,包括外设、通用接口、定时器、串口等的初始化。
建立网络:在初始化结束后,节点的无线模块进入网络请求阶段,发起网络组建请求,由网络协议栈自动完成网络的组建过程。Sink节点的网络设备类型为Coordinator,设备将启动一个建立网络的过程。未知节点自动扫描检测到网络后,向Sink节点发送加入请求网络的消息,Sink节点接收到请求后,允许节点加入网络。
消息处理:在完成初始化和网络建立工作之后,Sink节点处于等待任务状态。任务命令由PC通过上位机软件进行发送,任务命令包括三种类型的任务:定位网络未知节点状况确认、定位网络未知节点间定位测距和定位网络未知节点坐标信息获取。这里分别对其进行描述:
(1)定位网络中节点状态确认。
该类型的任务主要实现对网络内未知节点状况的查询,是进行定位测距之前的必要检测工作。Sink节点依据该命令查询网络内的节点ID、节点的总数量、节点当前所处的环境温度以及在该温度下超声波信号的传播速度。确认过程中,Sink节点按照对消息a的应答顺序对已经应答的节点ID进行存储。确认完毕以后,Sink节点将节点总数量、环境温度和超声波声速信息反馈至PC端上位机软件,并进行显示。
(2)定位网络中节点间定位测距。
该类型的任务主要是实现节点间的定位测距。当接收到该类型命令之后,Sink节点打开定时器,利用未知节点状况确认命令获取到的未知节点ID信息,按照存储顺序依次命令未知节点作为超声波信号源进行定位测距任务。当Sink节点接收到距离信息时,存储并将该信息发送至PC端上位机软件进行距离数据显示,同时检测所有未知节点是否都参与了该任务,如果存在未参与该任务的未知节点,重复上述过程,否则,该任务结束。
(3)定位网络中节点坐标信息获取。
该类型的任务主要实现从Sink节点处获取节点的坐标信息。收到该类型命令时,Sink节点开始根据已获取到的节点间距离信息计算所有节点的坐标值。计算结束后,依次将坐标信息发送至PC端上位机软件,最终将未知节点的数据信息和图形信息显示出来。
以上三种类型的命令是顺序执行的,下一类型任务的执行需要以上一类型任务获取到的数据为基础,执行顺序不可以颠倒。
2.2未知节点任务设计
未知节点(Router)是定位网络的主体部分,其主要任务是完成节点之间的距离测量,为定位工作做好准备。未知节点的任务包括节点初始化,加入网络和节点间定位测距。同样,这里也将未知节点的无线模块和DSP模块看作一个整体。
初始化:未知节点在系统整体上电之后,对节点的硬件电路和系统资源进行一系列的初始化工作。与Sink节点的初始化工作类似,包括对无线模块以及主控芯片DSP的硬件电路和系统资源初始化。无线模块在这个阶段完成网络所需的配置,如网络设备类型定义,节点地址、无线发射功率等的设定,串口、中断、LED灯等的初始化工作。主控芯片DSP在该阶段完成类似的初始化工作,包括外设、通用接口、中断、定时器、串口、EMIF接口的初始化以及超声波发射电路的控制电路和可编程增益设置配置。
加入网络:在初始化结束后,节点的无线模块进入网络加入阶段,采用信道扫描的方式寻找当前区域内可用的网络,发现并加入Sink节点建立的网络。
定位测距任务:当未知节点加入到当前网络后,节点处于等待状态,等待与定位测距有关的任务。定位测距任务执行过程中,网络中的节点会在不同情况下扮演两种不同的角色:一种是未知节点作为超声波信号源节点,另一种是未知节点作为超声波信号接收节点。这里分别对其进行描述:
(1)未知节点作为超声信号源节点。
当未知节点接收到Sink类型消息时,该节点发射RF同步信号,所有其他未知节点接收该同步信号,准备进入超声信号采集状态。此时,该未知节点开始发出超声信号。
(2)未知节点作为超声信号接收节点。
当未知节点接收到RF同步信号时,该未知节点开始进入信号采集状态。采样结束后,该节点根据采集到的信号数据获取节点间的距离值信息并将距离信息发送至Sink节点。
当超声信号采样节点计算并向Sink节点发送节点间的距离信息后,该轮定位测距任务结束,所有未知节点开始等待下一轮定位测距任务。直到所有未知节点都作为超声信号源节点完成定位测距任务,系统定位测距任务结束。
节点的定位测距性能主要通过节点的定位测距精度和定位测距量程来直观反映,而节点的定位测距性能又直接影响系统的定位性能[11-14]。对已经研究设计的定位节点进行一系列的定位测距实验。首先进行节点的定位测距性能实验,然后进行性能分析。
实验环境是实验室外走廊,温度为14 ℃~18 ℃,使用一个Sink节点和两个未知节点进行实验。通过多次测量,取测量结果的平均值作为最终结果来减小定位测距误差。实验过程中,Sink节点可以自由移动,以无线方式控制两个未知节点进行定位测距。Sink节点通过串口线与PC端连接,使用上位机软件进行命令的发送和距离测量数据的收集显示。将一个未知节点设置为超声信号接收节点,放置在一个固定的位置;另一个设置为超声信号源节点,等间距移动测量。超声信号源节点从距离接收节点1 m处开始测量,每隔1 m进行一组测量,每个测量点测50次,取这50次定位测距结果的平均值作为该测量点的定位测距结果。实验测量结果如图4所示。在该环境中,节点可以测得的最远距离为19 m,平均定位测距误差为3.6 cm,最大定位测距误差为17.2 cm(在实际距离为19 m处),相对定位测距误差范围为0%~0.91%,基本满足了系统对定位测距范围和定位测距精度的要求。
图4 节点定位测距实验结果
对于产生的定位测距误差,原因有三个方面[15-17]:
(1)环境因素。通常情况下,实验中并不考虑湿度对声速的影响。但是实际上,在20℃时,湿度对声速的影响为0.15%,这就导致了在10 m距离会有1 cm的标准误差,该误差虽然微小但确实存在。在进行定位测距时,走廊内会有人员走动,对RF信号和超声波信号的传输会产生一定的干扰,也会导致定位测距精度和稳定性的降低,误差增大。
(2)设备因素。根据定位测距原理可知,只有在超声信号源节点开始发射超声信号,超声信号接收节点也刚好开始进行接收信号采样时,信号采集才不会有时间误差。但这种情况几乎是很难实现的,这主要和软件系统的性能有关。软件系统的性能好坏与程序流程控制有关,需要通过修改程序进一步减小误差。
(3)人为因素。节点之间进行实际距离测量的方式为人工使用卷尺测量,测量时会引入一定的读数误差,影响系统定位测距精度。
分析实验结果可知,在定位测距实验中,节点除了受定位测距的各种因素的影响外,还受到硬件自身的差异性以及硬件节点摆放位置的影响。节点硬件元器件的差异性具有不确定性,很难控制。节点的收发探头中心频率相同,但是其谐振频率、接受灵敏度等都有所差别,这就造成了节点的接收效果不同。而节点的摆放位置、超声探头的朝向方向都会直接影响信号的接收,包括信号的强度衰减和偏差距离。
实现了无线传感器网络节点内部、节点与节点之间有效的通信;根据系统需求和节点类型的不同,设计并说明了不同节点的程序流程;通过对网络节点的定位测距性能进行实验分析,验证了系统基本满足对定位测距范围和定位测距精度的要求和节点定位的技术要求。下一步将在其他硬件平台实现定位功能并在不同噪声环境下提高定位精度。
[1] Want R,Hopper A,Falcao V,et al.The active badge location system[J].ACM Transactions on Information Systems,1992,10(1):91-102.
[2] Harter A,Hopper A.A distributed location system for the active office[J].Network,1994,8(1):62-70.
[3] Harter A,Hopper A,Steggles P,et al.The anatomy of a context-aware application[J].Wireless Networks,2002,8(2-3):187-197.
[4] Addlesee M,Curwen R,Hodges S,et al.Implementing a sentient computing system[J].IEEE Computer Magazine,2001,34(8):50-56.
[5] 李元实,王 智,鲍 明,等.基于无线声阵列传感器网络的实时多目标跟踪平台设计及实验[J].仪器仪表学报,2012,33(1):146-154.
[6] Luo J A,Feng D,Chen S,et al.Experiments for on-line bearing-only target localization in acoustic array sensor networks[J].World Congress on Intelligent Control & Automation,2010,20(1):1425-1428.
[7] 丰宁宁,王成华.一种基于分布式协作的WSN定位方法[J].计算机技术与发展,2012,22(5):60-63.
[8] 游晓鹏,鲍金凤,邱奉美,等.RSSI辅助的蒙特卡罗盒定位算法[J].计算机技术与发展,2013,23(12):11-15.
[9] Melodia T,Pompili D,Gungor V C,et al.A distributed coordination framework for wireless sensor and actor networks[C]//Proceedings of the 6th ACM international symposium on mobile ad hoc networking and computing.[s.l.]:ACM,2005:99-110.
[10] Akyildiz I F,Kasimoglu I H.Wireless sensor and actor networks:research challenges[J].Ad Hoc Networks,2004,2(4):351-367.
[11] 叶 菁,陈国龙,吴运兵,等.无线传感器网络任务分配的遗传优化算法[J].计算机工程与应用,2011,46(35):119-122.
[12] 田旺兰,李梦醒,谭 跃.无线传感器网络节点任务分配模型的建立[J].湖南城市学院学报:自然科学版,2013,22(1):57-61.
[13] 刘 梅,李海昊,沈 毅.无线传感器网络空中目标跟踪任务分配技术的研究[J].宇航学报,2007,28(4):960-965.
[14] 李 戈,孟祥杰,王晓华,等.国内超声波测距研究应用现状[J].测绘科学,2011,36(4):60-62.
[15] 张 健,李 钢.超声波测距系统的研究与设计[J].合肥工业大学学报:自然科学版,2004,27(6):640-643.
[16] Navarro-Serment L E,Paredis C J J,Khosla P K.A beacon system for the localization of distributed robotic teams[C]//Proceedings of the international conference on field and service robotics.[s.l.]:[s.n.],1999.
[17] 张和生,宋明耀.提高超声测距精度的设计[J].电子产品世界,2004,13:87-89.
DesignofWirelessSensorNetworkLocalizationSystemwithUltrasonicTesting
LIU Zhou-zhou1,2,ZHANG Ya-jie2,QUAN Ding-ke3
(1.Xi’an Aeronautical University,Xi’an 710077,China;2.School of Electronics and Information,Northwestern Polytechnical University,Xi’an 710072,China;3.Xi’an Micro Wise System Technology Co.,Ltd.,Xi’an 710000,China)
In order to realize the effective communication among nodes and between nodes in wireless sensor networks,according to the application requirements of the location network and the use of data commands,the node message format,message type and message content are developed,the specific direction of the message is clarified and the application layer framework of nodes is determined.The Sink node is responsible for monitoring the network establishment,analysis and operation of upper commands,data collection and other tasks,which is the center of data storing and processing in whole network,as the bridge between the upper computer and the monitoring networks.Each node is composed of wireless data transmission module and DSP control module.The two modules of the same node are in the communication through the UART bus,and the nodes by wireless RF radio frequency.The Sink node communicates with the upper computer by UART bus.The location and ranging performance of network nodes is analyzed by means of ultrasonic correlation location ranging in the experiment which shows that the maximum distance measured by the node of the constructed system is 19 m,the average positioning error is 3.6 cm,the maximum positioning error is 17.2 cm,and the range of relative positioning range is 0%~0.91%.
wireless sensor network;ultrasonic;localization ranging;system design
TP302.1
A
1673-629X(2017)10-0156-05
2016-11-02
2017-03-09 < class="emphasis_bold">网络出版时间
时间:2017-07-11
国家自然科学基金资助项目(61401499);陕西省自然科学基础研究计划面上项目(2017JM6096);陕西省教育厅科研计划项目(16JK1395)
刘洲洲(1981-),男,博士,副教授,研究方向为传感器网络与智能算法。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170711.1457.084.html
10.3969/j.issn.1673-629X.2017.10.033