控制工程师论坛

传感器

传感器网络节点的测距和定位

jijun
jijun

2011-09-11

传感器网络节点的测距和定位
  1.处理器、存储和无线通信技术的不断进步为网络化传感器开辟了新的发展空间,网络化传感器不仅仅是一个简单的传感器,它由处理器、存储器、无线收发机、电池和一组传感器构成,具有传感、计算和通信等多种功能。而且伴随着制造工艺的不断革新,网络化传感器的体积变得越来越小,因此人们形象的称它为“智能尘埃”。由这种“智能尘埃”组成的无线传感网络被广泛的应用到各方面,例如环境监测、军事侦察等。定位问题是传感器网络设计与应用中的一个重要问题。传感器节点的位置信息在传感器网络的协议设计、网络管理、节点间协作、目标跟踪等方面都具有重要的理论和实际意义。
  2. 基于测距的定位
  2.1 软硬件环境及可行性分析
  我们使用的节点是CrossBow公司的MPR400CB,节点上所使用的处理器是ATmega128L。ATmega128L处理器的约为主频 7.4MHz,CPU时钟周期是136ns,另外ATmega128L处理器使用的是精简指令集和流水线技术,大部分指令的执行周期都只占用一个CPU时钟周期,中断的响应周期占4个CPU时钟周期。如果测10cm的距离,声速假设是340m/s,那么则ΔT应该大约为0.294ms;假设每条指令的执行时间都是136ns,那么在ΔT这段时间内节点可以大约执行2161条指令,所以说处理器在处理速度上是足够了。另外处理器中计数器晶振的频率最快可以达到每毫秒7373次,所以计时器也具有足够的精确度用来计时。所以,声波法测距中,计时的环节上不存在问题。
  我们所用的传感器板是CrossBow公司的MTS310CA。MTS310CA传感器板上同时集成了蜂鸣器和麦克风。蜂鸣器是一个简单的4KHz压电共鸣器。它的驱动和频率控制电路是内部集成的。对它的操作只需控制开关就行了。MTS310CA传感器板提供了麦克风,有两个主要用途,一个用途是用来做声音的测距,另一个用途是用来录音和测量声音。其中麦克风自带了滤波器和声音解码器,可以用来对MTS310CA传感器板上蜂鸣器发出的4kHz的声音进行监听。
  节点上运行的操作系统为TinyOS。TinyOS是一种源代码开放的操作系统,是美国加州大学伯克利分校为低功率的嵌入式网络传感器而设计的基于事件驱动的嵌入式操作系统,它以最少的硬件配置支持网络化传感器所需的并发密集操作,是一种微线程、事件触发的操作系统。它保持了网络化传感器所特有的诸多特性,高效的管理硬件系统,同时支持并发密集操作,从某种意义上达到高效的模块化和运行的健壮性。
  2.2 算法实现
  为了用声波测距且将距离的最小分辨率提高到至少10厘米,我们必须对TinyOS提供的定时器TimerC进行改造。考虑到TinyOS本身的一些其他重要组件,如节点间无线通信模块GenericComm.nc、模数转换器ADCC等都用到了系统提供的TimerC组件。所以我们如果要改造 TimerC,那么在改造的同时还要保证原来的功能不变。另外一种方法是利用处理的另外一个硬件资源,也就是Timer/Counter1,自己编写一个专用的Timer。比较两种方法,前一种在原来的基础上稍加改进节省硬件资源;后一种方法的话比较简单,但专门用了处理器的一个定时计数器只实现一个 Timer,从硬件角度看浪费较大,不过它可以达到很高的计时速度,可以用来进行高频率的采样。
  这种方法的基本思想为:Beacon节点以固定的时间间隔先通过无线发射装置向Listener节点发射一条准备测距的消息,其中包含一个时间戳,没法一次准备测距的消息时Beacon节点将时间戳加1。这里Beacon节点是用两个定时器,第一个定时器用来控制向Listener发送准备测距的消息的时间间隔,第二个定时器用来控制蜂鸣器的发声时间。这里两节点通过Beacon使用的SendMsg接口的 SendMsg.sendDone(TOS_MsgPtr sent, result_t success)事件和Listener使用的 ReceiveMsg接口的event TOS_MsgPtr ReceiveMsg.receive(TOS_MsgPtr m)事件达到两节点间的同步。也就是说,对于Beacon来说,当SendMsg的发送完成时即产生SendMsg.sendDone事件,Beacon将蜂鸣器打开一段时间;对 Listener来说当ReceiveMsg产生ReceiveMsg.receive事件时,Listener节点开始计时。
回帖

评论1

总共 , 当前 /
首页 | 登录 | 注册 | 返回顶部↑
手机版 | 电脑版
版权所有 Copyright(C) 2016 CE China