基于TOF的海潮高度在线测量系统设计*
2015-08-17黄战华王吉虎
黄战华,王吉虎
(天津大学精密仪器与光电子工程学院,光电信息技术科学教育部重点实验室,天津300072)
基于TOF的海潮高度在线测量系统设计*
黄战华*,王吉虎
(天津大学精密仪器与光电子工程学院,光电信息技术科学教育部重点实验室,天津300072)
为提高现有的潮汐及水位仪器(如浮子式、超声波式、雷达式水位计)在线测量的实时性和稳定性,减小仪器的体积、成本和功耗,设计了一种基于TOF(Time of Flight,即飞行时间法)三维成像测距并结合XBEE MESH技术的无线网络测量系统。传感节点使用准直的850 nm红外LED发射光源,采用ARM+CPLD控制和提取EPC610 TOF成像芯片的有效测量数据并进行实时校正和计算,单个测量节点能实现1 m~7 m范围内误差±1.25 cm,测量速率为500次/秒的高速测量,其尺寸只有2.5 cm×2.5 cm大小。无线网络部分采用Peer-to-Peer MESH自组织网络结构,采用无线模块主动唤醒传感器,同步和异步休眠相结合的控制形式大大降低了功耗。
在线测量;TOF三维成像;Peer-to-Peer MESH自组网;体积小;低功耗设计
EEACC:7320Zdoi:10.3969/j.issn.1004-1699.2015.09.011
潮位测量往往需要在海岸边建立验潮井,而验潮井的底端通过输水管道与海水相连,所以井内水面相对海面要平稳,故验潮仪器要安置于井口,通过接触或非接触的方式测量仪器与水面间的距离,从而间接测出水面至测站基面的距离,即潮高。常用的潮位测量方式有水尺[1]、浮子式水位计、压力式水位计、超声波、雷达以及激光水位计。水尺测量精度低,浮子式测量需接触水面,体积笨重,压力式需将压力计置于水底,超声波和雷达易受雷电和环境影响,激光器能耗大,驱动繁琐,长时间工作不稳定[2]。
针对这一情况,本文采用准直过的850 nm红外LED做发射光源以提高信号源的稳定性,接收探测器采用基于TOF技术[3~6]的高速三维成像芯片EPC610,使用ARM+CPLD结构控制EPC610的数据采集过程和数据的后期校正计算,最终得到被测面的三维点云图。结合XEBB MESH结构的无线传感网络,将各个验潮站的潮汐信息传输至协调器网关并由协调器通过其他类型网络如蜂窝网络传递至中心管理室。
1 系统测量原理
测量节点采用TOF测距技术,测量原理如图1所示。
图1 飞行时间法测距的原理
TOF测距中光源一般采用LED,并且光源一般被调制到几兆甚至几十兆赫兹,假设被调制之后的发射光信号为理想的正弦波,描述为:
S(t)=A+cos(wt)(1)
信号经被测物返回之后可描述为:
R(t)=B+kAcos(wt+Δφ)(2)
其中B为外部叠加的干扰噪声造成的返回信号整体偏移量,A为发射信号振幅,而kA则为返回测量信号振幅,信号衰减系数为k。那么光脉冲飞行的时间Δt计算公式如下:
Δt=Δφ×Tm/(2π)=Δφ/(2πfm)(3)
其中,Tm是指调制光的周期,fm是指调制光的频率。所以距离d计算公式[7~8]如下:
d=c×Δt/2(4)
光电传感器一旦接收到返回测量信号就同步进行解调,进而可通过计算得到测量信号的各种参数,实际在TOF深度成像的信号处理过程中,一般采用四点测量法进行解算[9~10]。选取每个测量周期0、π/2、π、3π/2四点处对返回测量信号进行采样,每个采样点之间的间隔为四分之一的测量周期,即正交采样。那么发射信号与返回信号之间的相位差Δφ,偏移量B和测量返回信号振幅kA就可以计算得知:
其中,Ci为每个采样点对应的互相关系数。
2 测量节点系统设计
2.1测量节点系统结构
如图2所示,测量节点控制板采用ARM+CPLD结构,CPLD负责发生与EPC610通信的10 MHz SPI总线,ARM端负责启停CPLD与EPC610的数据传输,ARM同时控制电源管理芯片来启动和停止EPC610。EPC610使用恒电流电路驱动实现对外部两个850 nm红外LED的高频调制。
图2 测量节点结构
在一个测量周期内由微处理器读取EPC610的四次原始采样值,每个采样有8×8=64个测量数据、一个行饱和像素数目和两个温度值,四次采样值经过计算筛选出有效测量数据,然后对其进行非均匀性校正得到最终探测目标的点云数据。一次完整的测量周期如图3所示。
图3 EPC610一次完整的测量周期
2.2EPC610的初始化过程
初始化过程包括两部分,首先是启动EPC610 的bootloader,将ROM中的默认配置表加载到EPC610的RAM中,然后修改EPC610对两个红外LED的时钟分频数,LED的调制频率同时影响距离测量的分辨率和测距范围,本系统配置将LED调制为20 MHz,此时距离测量分辨率为2.5 mm,最大测量范围是7.5 m。
2.3有效数据的筛选
在一个测量周期内,EPC610采集并缓存了4次原始数据,每次采样数据量为64×12 bit=96 bytes,然后进入筛选算法判断本次测量数据是否有效,若数据无效则调整积分时间进入下一个测量周期。
①读取每一行的饱和像元的数目和有效像元的数目,即MIN_VALID_PIX和MAX_SAT_PIX,在每次测量数据中,取作为阈值,进入下一步的筛选。
②每个像素接收到的信号幅度即像素动态范围的筛选,针对每个像素,由四点测量法的原理可知,其信号幅度信号幅度越大,测量精度越高,像素越接近饱和。小于100说明接收信号太弱或信号与背景噪声相差不大,需增大积分时间,大于1 000表明探测器接近饱和,要降低积分时间。所以选取100~1 000作为动态范围筛选区间。
③像素信噪比筛选,对于每个像素,AMR=20log10(Edc/Eac),AMR<60 dB,信噪比较高,可作为理想的输出,否则,需放弃本测量周期的4组数据并适当调整积分时间,进入下一个测量周期。
经过三步筛选的数据可认定为本测量周期的4组数据有效,可进行下一步的数据校正。
2.4积分时间的调整
EPC610提供了从1.60 μs到52.6 ms的16档积分时间可供调整,在有效数据的筛选流程中使用二分查找而非步进查找方式调整积分时间。
2.5EPC610的非均匀性校正
在同一测量距离下,由四点测量法公式计算EPC610提取的有效数据得到的点云数据参差不齐,因此需要进行非均匀性校正,由于输入距离与输出点云数据之间存在近似线性关系,所以本文使用实时性良好的两点线性校正法。分别取距离d1=2.9 m 和d2=0.5 m下的点云数据做基准,假定d1下64个点云数据为Xij(d1),d2下64个点云数据为Xij(d2),d1下64个点云数据的平均值为V1,d2下64个点云数据的平均值为V2,那么有:
校正因子和增量因子矩阵
Gij=(V2-V1)/[Xij(d2)-Xij(d1)](10)
Oij=(V2×Xij(d1)-V1×Xij(d2)/[Xij(d2)-Xij(d1)](11)
那么校正后的点云输出。
Yij=Gij×Xij+Oij(12)
得到校正因子矩阵后,重复新一轮的测量,以距离2.6 m下的点云数据为例验证校正效果,如图4所示,左图是有效点云数据但未校正过,右图是校正过后的。
图4 非均匀性校正结果
3 无线传感网络系统
传统的无线传感网络比如ZigBee网络,每个节点需配置设备类型为协调器、路由器或者终端,终端节点可以异步周期性的休眠,而协调器和路由器应处于一直上电状态,协调器作为整个网络的中心管理节点,其发送的消息和命令会缓存在终端节点的父节点上,终端节点在唤醒时刻会轮询父节点是否有消息到来,若没有则进入下一周期的休眠[11]。另外,层次性的网络拓扑使得协调器的工作量大,且整个网络的功耗较大,环境致使拓扑条件变化时适应能力较差。
本系统使用DIGI公司支持Peer-to-Peer Mesh自组织技术的XBEE模块,其工作在免费的2.4 GHz,如图5所示,采用完全对等的Mesh拓扑[12~14]结构,网络中所有的节点包括协调器都可以休眠,整个网络可以工作在同步休眠方式或者功耗更低的异步休眠方式。相对于层次网络拓扑,测量节点同时兼具路由和中继的功能,这种自组织的拓扑结构使得协调器工作量大大减轻,适合在海岸严酷的作业环境下进行自动化的测量,在其他领域也有相应的应用[15~16]。
图5 XBEE MESH拓扑
3.1节点工作过程
传统的测量节点由微控制器来统筹传感器和无线模块的工作,然而在本系统中微控制器和EPC610的功耗较无线模块要大许多,所以该系统中测量节点使用XBEE主动唤醒微控制器的模式,要使用到XBEE模块的Sleep-REQ睡眠请求标志引脚。XBEE模块被唤醒之后,Sleep-REQ被拉高,通知ARM端XEBB被唤醒,此时ARM由休眠转入正常工作模式并通过USART与XEBB通信,ARM端打开EPC610的电源开始数据采集,并将一帧数据发送至XBEE,发送完成,ARM端切断传感器的电源并将ARM本身置为低功耗休眠模式,随后Sleep-REQ 被XBEE模块置低,模块进入休眠或者等待同步休眠帧的到来。这种方法相比传统的微控制器做主机模式来控制传感器和无线模块的测量节点,微控制器和EPC610在不工作时处于完全休眠状态从而降低系统功耗。
协调器结构与测量节点类似,只是不具有传感测量功能,主要作用是作为网关将各节点的采集数据集中发送至蜂窝或其他网络,同时接受中心控制室传送的启动采集命令并唤醒整个网络。
3.2无线模块的操作模式
Xbee模块提供AT指令或API帧结构两种操作模式,AT指令方式简单但不灵活,而API帧结构方式允许用户自定义帧的封装内容,使用灵活,本文使用第二种方式,来自测量节点的帧大小被封装为17个字节,帧的数据域自定义为测量节点的编号+传输数据,通过节点编号标识该数据帧来自哪一验潮站。
3.3休眠设置
无线传感网络一般采用电池做供电,因此必须采用节点和协调器休眠的方式来节省功耗,XBEE模块可以配置同步和异步休眠模式。处于异步休眠模式时,节点周期性的监听是否有唤醒帧来到,没有则进入下一周期的休眠,如果有则唤醒该测量节点并进行数据传输,异步模式下各节点大部分时间处在休眠状态,因此系统功耗较低。而同步模式无需模块唤醒过程,节点数据传输完成之后,等待协调器广播的同步休眠命令,收到则转入休眠模式,否则一直等待直到超时自动转入休眠。为防止出现此种情况,本文使用同步和异步休眠结合的方式配置节点和协调器。
所有节点包括协调器在不工作时均处于低功耗的异步休眠模式,中心控制室发送采集命令到协调器后,协调器被唤醒并全网广播异步唤醒帧,各测量节点被唤醒后进入同步工作模式,协调器开始周期性的收到各测量节点的潮汐数据,直到采集停止,协调器停止广播同步休眠帧并进入低功耗的异步休眠模式,同时各测量节点因接收同步休眠帧超时同样也进入低功耗的异步休眠模式。整个过程如图6所示,上面是协调器的流程,下面是各个测量节点的工作流程。
本系统设置异步休眠下的休眠时间和监听时间比值为450,监听时间为2 000 μs,那么异步休眠周期为2×(1+450)=902 ms,同步休眠间隔为600 s,即10 min采集一次。系统中有6个测量节点,1个协调器。无线射频速率为250 kbit/s。
4 实验与分析
4.1节点测距实验
单个测量节点的实物图如图7所示,只有2.5 cm×2.5 cm,中间的EPC610仅有4 mm×4 mm大小。在实际测量时,对每个测量周期的点云数据取平均作为该次测量的距离值。从23 cm到603 cm,每间隔10 cm作为一测量点,每个测量点处进行30个测量周期取平均得到该处的测距值,测量结果如图8所示。
图7 测量节点实物图
图8 距离测量结果
可见,从1 m~7 m的测量范围内,绝对误差均在±1.25 cm以内。
4.2测距实时性分析
EPC610使用SPI总线与微控制器通信,频率为10 MHz。假定EPC610使用的积分时间是51.2 μs,一个SPI帧即SPI Command需要(16 SPI bits+1 NSS pulse bit)·0.1 μs=1.7 μs,那么在系统流程的各个阶段使用的时间如下:①EPC610初始化:8 rows×18 SPI Commands×1.7 μs=244.8 μs;②启动测量:2 SPI Commands×1.7 μs=3.4 μs;③读取1次DCS采样值的时间包括EPC610采集、响应和通信时间:51.2 μs+ 175 μs+8 rows×18 SPI Commands×1.7 μs=471 μs,一个测量周期需要4次DCS,即4 μs×471 μs=1 884 μs。所以一个完整的数据提取周期需要2 132.2 μs,微处理器在与EPC610进行数据通信的同时在并行的进行筛选校正等计算,故一次完整的测量周期需消耗接近2 132.2 μs,即1 s可以测量接近500次,可以做到实时测量。但是如此高速的测量会带来无线网络的拥塞,故调整ARM端的延时,使得测量数据输出响应时间,即测量初始化时间为1.5 s,以限制每个测量节点输入网络的流量。
4.3测量误差分析
TOF采用的是解调相位的方式来计算往返时间,所以测量的精准度不仅取决于CPU定时器的稳定度,还取决于相移测量的精准度。比如,LED调制脉冲与探测器之间同步信号发生10 ps的偏移,就相当于增加1.5 mm的距离测量误差。
被测对象对红外LED光的反射率影响,为保证探测器接收到足够的反射信号,本文采用了纯白色的反射板浮于水面上。探测物体反射率越小,返回的信号幅度也越小,有效数据量越少,精准度越低。
LED准直带来的误差,LED发散角比较大,导致光斑能量不集中,反射回探测器的光信号能量弱,致使测距精度低。另外,LED驱动电路设计以及这部分在电路板上布线时的不合理将会导致LED被调制后的信号不完全是理想的正弦信号而导致测量误差。
EPC610属于半导体探测器,使用时温度会对其产生温度漂移误差,系统使用时的温度误差来源有环境变化产生的温度误差以及大功率LED散热性不好产生的误差。对于环境误差可以使用逐段进行补偿的方法去掉,对于仪器自身的散热性带来的误差可以在LED上加散热片解决。EPC610在对其64个像素进行阈值筛选时,选取的阈值区间也会影响测量精度,信号幅度区间太小会使信噪比太小直接产生测量误差,在100~1 000的范围内可以很好的使用测量的距离,而50~100之间的范围也可以被使用,但距离噪声会非常明显。EPC610在选取积分时间时,积分时间过长,回波信号太大致使像素饱和,太小又会导致信噪比太小,因此选取适当的积分时间也会影响系统的稳定性和准确性。
4.4功耗估算
无线模块的接收电流Ir=55 mA,发送电流It= 250 mA,休眠电流Is<50 μA。由图6的工作流程可知,系统功耗主要有以下4部分:①异步唤醒过程,时间为0.5~1个异步休眠周期,这里取一个异步休眠周期为902 ms,平均消耗电流为(Ir+It)/2=152.5 mA。②测量数据响应过程1 500 ms,能耗包括两部分,ARM和EPC610在此时间内需要100 mA。由于XBEE被唤醒后仍然没有有效数据到来,所以XBEE 在1 000 ms-902 ms=98 ms的时间内,XBEE仍处于接收状态,电流为Ir=55 mA。故在此1 500 ms消耗的平均电流为(1 500 ms×100 mA+98 ms×55 mA)/ 1 500 ms=103.59 mA。③无线传输部分,经测试,一次有效地数据传输需要平均时间为T≈6.108ms,那么最坏的总的传输时间为:节点个数×T/(协调器个数×传输效率)=6×6.108 ms/0.5=73.296 ms,消耗的平均电流为(Ir+It)/2=152.5 mA。④同步休眠帧等待超时时间500 ms,消耗的平均电流为Ir=55 mA。
可以看出,一次完整的测量总共需要近3 s,消耗的平均电流为113 mA。如果采用5 000 mAh的移动电源供电,采集的时间间隔为10 min,那么总共可以使用5 000 mAh/113 mA*3 600/3 s/24/6=368.7。
5 结论
本文分析了传统潮汐测量装置的缺陷,针对海岸作业特点,设计了一种基于红外LED做发光光源的TOF测距装置,包括LED光源的准直和接收镜头的选型,红外LED的驱动电路设计以及控制系统的设计,使用三层的筛选算法提取了有效地测量数据并进行非均匀性校正,测距实时性和精度满足项目需求。较传统的中心状网络拓扑结构,本文使用自组织且对等的MESH网络拓扑结构,有效地解决了因外部因素引起的拓扑结构变化或传统中心节点失效导致网络崩溃的问题,低功耗方面,本文使用无线模块主动唤醒微控制器和传感器的方式并结合同步和异步休眠方式减少了无谓的能耗,最后估计了系统的功耗和使用时长。
[1] 黄战华,熊浩伦,朱猛,等.嵌入式水尺图像检测系统与判读算法研究[J].光电工程,2013(4):1-7.
[2] 高占科,于惠莉,索利利,等.水位计(验潮仪)的检定和校准[J].计量技术,2007(7):53-56.
[3] 王焕钦.新型光电测距与三维成像技术研究[D].中国科学技术大学,2009.
[4] 董利军.高分辨率激光三维成像雷达技术研究[D].中国科学院研究生院(西安光学精密机械研究所),2012.
[5] 何荣芳,孙长库,王鹏,等.SMT封装电路板三维在线检测技术[J].传感技术学报,2015,(2):290-296.
[6] 孙力,蔡健荣,李永平,等.基于TOF成像技术的柑橘实时识别与定位[J].江苏大学学报:自然科学版,2013,34(3):293-297.
[7] 汪涛.相位激光测距技术的研究[J].激光与红外,2007,37 (1):29-31.
[8] 吴斌,庄洵,刘常杰,等.铁路机车车辆静态限界测量系统校准方法研究[J].传感技术学报,2013,26(1):58-62.
[9] 丁津津.TOF三维摄像机的误差分析及补偿方法研究[D].合肥:合肥工业大学,2011.
[10]潘华东,王其聪,谢斌,等.飞行时间法三维成像摄像机数据处理方法研究[J].浙江大学学报:工学版,2010,(6):1049-1056.
[11]Faludi R.Building Wireless Sensor Networks:with ZigBee,XBee,Arduino and Processing[M].O'Reilly Media,Inc.,2010.
[12]朱德权.走近无线Mesh网络[J].数据通信,2007(2):14-18.
[13]Güner H E,Ambarkütük M.Building Wireless Mesh Sensor Networks Using Xbee an Darduino[M].2013.
[14]范涛,张燕.无线Mesh网络的组网及其相关标准[J].数据通信,2005(4):40-42.
[15]陈博,徐建政,刘霄.新型微功率无线抄表系统[J].电力自动化设备,2011,31(5):134-136.
[16]王玮,郭成城,李松.无线Mesh网络在矿井通信中的应用[J].计算机工程,2008,34(19):130-132.
黄战华(1965-),男,湖北省孝感人,博士,教授,1986年于华中科技大学获得学士学位,1989年、1992年于天津大学分别获得硕士和博士学位,主要从事光电图像处理与模式识别、光电子信息技术及多媒体计算机应用与控制的研究,zhanhua@tju.cdu.cn;
王吉虎(1988-),男,山东省泰安人,硕士研究生,2011年于长春理工大学获得学士学位,主要从事光电信息处理、嵌入式系统设计和无线传感网络的研究,datang7878@126.com。
The Design of Tidal Level Measurement System Based on TOF*
HUANG Zhanhua*,WANG Jihu
(Key Laboratory of Opto-electronics Information Technology,Ministry of Education,College of Precision Instrument and Opto-Electronic Engineering,Tianjin University,Tianjin 300072,China)
In order to improve the real-time performance and stabilityof the existing tide and water level measuring instrument,such as float type,ultrasonic,radar level gauge,reduce the size,the cost and power consumption of the instrument,this paper describes the design of a wireless sensor network system based on TOF(Time of Flight)three-dimensional imaging and XBEE MESH Technology.The sensor nodeuses 850 nm focused infrared LED as emission source,the ARM+CPLD architecture to control and extract the effective measurement data of EPC610 TOF imaging chip for real-time correction and calculation.A single measurement node can achieve an error of±1.25 cm at the range of 1 m~7 m,high-speed measurement rate at 500 times/sec and its size is only 2.5 cm× 2.5 cm.The wireless network uses Peer-to-Peer MESH self-organizing technology,using the wireless module to awaken the sensoractively and the combination of synchronous and asynchronous sleep mode,thus greatly reduced the power consumption.
online measurement;TOF 3D imaging;Peer-to-Peer MESH network;small in size;low power consumption design
TP277
A
1004-1699(2015)09-1328-07
项目来源:国家863项目(2008AA04Z134)
2015-04-18修改日期:2015-06-24