基于超声波测距的高精度室内定位系统*

2019-09-26 03:06鲁照权丁浩峰尤海龙苏明明
传感器与微系统 2019年10期
关键词:测距定位精度基点

谢 地, 鲁照权, 丁浩峰, 尤海龙, 陈 龙, 苏明明

(合肥工业大学 电气与自动化工程学院,安徽 合肥 230009)

0 引 言

随着经济的高速发展以及人力资源成本的大幅度提高和智能制造技术的快速上升,基于位置的服务和位置感知的计算在实际应用中越来越重要[1]。室内导航在地下停车场、商场、医院等场所的应用十分必要,而现有的全球定位系统(global positioning system,GPS)导航在室内又无法应用。所以,高精度室内定位系统很有必要。室内定位与导航使人与物之间构建了空间关系,使人们的生活更加便捷。

目前主流的定位技术有WiFi、蓝牙、超宽带(ultra wide band,UWB)、超声波等。WiFi定位的抗干扰性一般,部署难度中等,成本较低,定位精度达到米(m)级;蓝牙定位的抗干扰性一般,部署难度较低,成本一般,定位精度达到分米(dm)级;超宽带定位的抗干扰性强,部署难度高,成本较高,定位精度达到厘米(cm)级;超声波定位的抗干扰性强,部署难度低,成本较低,定位精度达到cm级[2]。

从20世纪末开始,国内外的很多高校、研究机构及公司就针对不同的应用背景开发了种类繁多、实现原理多样的室内定位系统。2010年1月,美国俄亥俄州州立大学医疗中心安装了一套当时美国最大的医疗实时定位系统[3],即Ekahau系统。Ekahau是根据WiFi信号强度,采用位置指纹算法的定位系统。部署成本低,定位精度可达2~5 m。Active Badge系统是一种以红外线为传媒介质用近似算法的室内定位系统,定位精度一般以房间为单位。Active Bat系统是一种采用到达时间(time of arrival,TOA)法进行定位的超声波室内定位系统,能够在95 %的情况下将定位误差控制在9 cm以下[4]。但系统不易部署且定位成本过高。文献[5]设计的采用ZIGBEE组网技术的超声波室内定位系统定位精度可达7 cm。文献[6]设计的基于CC1101的超声波室内定位系统对Cricket系统进行了改进,使定位精度提高到5 cm。

结合实际情况,综合考虑各因素,本文基于超声波定位技术建立了室内定位系统,通过对超声波测距模块的线性拟合,提出一种数据处理方法使定位精度提高到3 cm,且动态响应良好。

1 实验系统结构

将4 m×6 m的房间划分为6个2 m×2 m的定位区域,每个定位区域安装4个坐标已知的带有无线射频通信和超声波测距功能的定位基点。超声波测距节点将测得的超声波在空气中的传播时间,乘以声速,进行偏差校正后得到距离。基于以上基本原理设计了高精度动态室内定位系统。

定位基点通常处于休眠状态。定位时,移动节点向定位基点发送唤醒指令,待接收到应答指令后,移动节点再发送测距超声波,同时发送RF射频计时同步指令。

定位基点在接收到移动节点发来的同步信号后,开始计时。接收到超声波信号后,结束计时。定位基点根据计数器的计数值计算得到定位基点与移动节点的距离,并进行偏差校正后,得到距离。测得距离后,定位基点将数据发送给上位机。发送/接收指令格式如表1所示。

表1 发送接收指令格式表

2 定位原理

设图1中Ri(i=1,2,3)是定位基点在地面的投影点与移动节点之间的距离。则以R1,R2,R3为半径作3个圆,可得出交点,即移动节点的位置坐标(xi,yi)

(1)

图1 三边测距原理

(2)

3 硬件设计

室内定位系统由移动节点、定位基点、上位机三部分组成 。定位基点、移动节点的核心硬件由CC1101射频收发器、HC-SR04超声波模块、STC89C52单片机、数码管、温度传感器18B20等组成。稳压电路7805与LM1117将12 V直流电压转换成+5 V和+3.3 V,分别给CC1101射频收发器和STC89C52单片机供电。上位机由STC89C52单片机、CC1101射频收发器构成的接收模块及PC组成。硬件连接图如图2所示。

图2 测距模块硬件连接

超声波测距模块使用+5 V的电压供电,发送频率为40 kHz的超声波,测量角度不大于15°,测距精度可达到3 mm,可提供2~600 cm的非接触式距离感测功能 。

STC89C52单片机的P3.6口对HC—SR04模块的TRIG引脚发出一个10 μs的脉冲触发信号后,HC—SR04模块立即发出超声波信号,同时ECHO引脚置为高电平,待HC—SR04模块检测到回波信号时,ECHO引脚置为低电平。通过检测ECHO引脚的高电平持续时间即可达到测量距离的目的。

4 偏差校正算法与数据处理

移动节点流程图如图3(a)所示,定位基点流程图如图3(b)所示。在实验中实际测量数据在2.5~3.5 m之间。测量3 m距离时按照s=v(声速)×t(时间)得到的距离为4.53 m,产生偏差达到1.53 m。由于硬件与软件系统的延时造成较大的误差,故对距离进行一元线性拟合,得到距离与计数值的关系如表2所示。

图3 移动节点和定位基点流程

表2 计数值与距离关系表

表2计数值是测量30次得到的平均值。单片机振荡频率为12 MHz,定时器的一个计数值为1 us。在小于20 cm时超声波测距模块存在测量盲区。在大于20 cm时,由以上数据进行线性拟合得到室温15 ℃时,测距方程为y=30x+4663。其中,y为计数值,x为实际距离。将拟合的直线与数据比较得到图4。

图4 线性拟合结果

对方程线性拟合后,在室温15 ℃时,测量3 m实际距离时定时器计数值为13 879,对应的测量距离为3.075 m,误差缩小到7.5 cm。

声速对温度变化敏感,当温度变化较大时,需要进行温度补偿,V=331.4+0.607t。其中,V为当前声速(m/s),t为室温(℃)。当温度相差10 ℃时,声速相差6 m/s,3m的测量距离误差会达到5 cm。因此,在实验中采用温度补偿进行校正,得

(3)

校正后,在室温25 ℃下,实际3 m的测量距离为3.005 m,误差为0.5 cm。图5为室温25 ℃下测量对比情况。

图5 测量值与实际值对比

校正后超声波测距的静态误差在0.5 cm以内,准确度大幅度提高。

上位机接收到数据后,首先对数据进行限幅滤波,可以有效地去除粗大误差。

将限幅滤波处理后的数据直接用三边算法,得到的坐标与实际移动节点的坐标比较,误差最大达到10 cm。为了降低偏差,在得到第一组数据后,若第二组数据在以第一组数据为圆心,半径为Ri的圆内,则保留,否则离圆心越远,乘以越小的权重得到新的数据,这样有效地避免了数据大的跳动带来的误差。经过试验,在设定半径R=5,权重μ为100减去数据到圆心的距离Ri的0.3倍再除以100时可以将误差从10 cm缩小到3 cm以内,将精度提高了70 %,即

(4)

若R>5,则x′2=μx2,μ=(100-0.3Ri)/100;

若R≤5,则x′2=x2。

上位机将数据经过限幅滤波和算法处理后,得到距离数据。缓冲单元在移入一个新数据前,将最陈旧的数据移去,一直保持缓冲单元中有8个最新数据,并对8个数据求一次均值。

由于三边算法只需要3个距离就可以算出坐标,上位机选取最小的3个距离进行定位计算,最后将定位指标显示在界面上。

5 实验结果

实验中,以40 cm/s运动的小车作为移动节点,在2 m×2 m的定位区域内沿事先规划的直径为120 cm的圆作匀速运动。运动中的小车每隔50 ms进行一次定位,定位基点测得距离后实时发送给上位机。

上位机界面上圆对应的实际圆的直径为120 cm。小车通过红外寻迹的方法沿圆作圆周运动。空心的小圆圈是小车的实时位置,R1~R4是4个定位基点的坐标。由误差分析可以看到最大误差为2.73 cm。与文献 [1]相比,误差减小了40 %,平均误差为1.11 cm。

以下4种情况是产生误差的主要原因。一组定位数据如表3所示。

表3 定位误差 cm

1)声速对温度变化敏感,当温度变化大时,需要进行温度补偿。当温度相差10 ℃时,声速相差6 m/s,3 m的测量距离误差达到5 cm,故在实验中采用温度补偿进行校正。

2)在测量各定位基点坐标时可能存在测量误差。

3)当测距误差为ε时,由式(1)得到定位误差达到ε2。

4)系统硬件与软件的延时造成单片机计时的误差,实验通过线性拟合方程进行校正。

图6 上位机界面

6 结束语

本文基于超声波测距原理,提出并实现了一种高精度室内定位方法,设计了实验系统结构、硬件与软件,完成了系统定位实验。通过对测距结果的线性拟合、温度补偿、偏差校正,使得定位精度由文献[1]中的5 cm提高到了3 cm。本系统结构简单,易于实现,抗干扰能力强。实验结果表明,本文的方法具有较高的应用价值。

猜你喜欢
测距定位精度基点
类星体的精准测距
GPS定位精度研究
GPS定位精度研究
立式车床数控回转工作台定位精度研究
浅谈超声波测距
高分三号SAR卫星系统级几何定位精度初探
基于PSOC超声测距系统设计
“高分一号”卫星PMS图像几何定位精度验证
相对差分单项测距△DOR