APP下载

基于蓝牙技术的物联网室内定位系统

2021-11-22葛敏婕赵子涵

物联网技术 2021年11期
关键词:定位点网关蓝牙

葛敏婕,赵子涵

(中科芯集成电路有限公司,江苏 无锡 214072)

0 引 言

物联网是互联网世界的愿景,随着物联网技术和硬件配置能力的快速发展,基于位置的服务(LBS)作为移动互联网的基础服务之一[1-2],已经逐渐成为人们日常生活中的必要需求。目前应用最广泛的位置服务技术是全球定位系统(GPS),它在室外环境下的定位精度很高;但在复杂的室内环境下,建筑物对卫星信号的遮挡会导致信号衰减甚至被屏蔽,这会使定位难度加大并且无法获得准确的位置信息[3]。

目前国内外室内定位技术较多,常见的有无线局域网(Wireless Fidelity, WiFi)、 射 频 识 别(Radio Frequency Identification, RFID)、蓝牙低功耗(Bluetooth Low Energy,BLE)、超宽带(Ultra Wide Band, UWB)技术等。近几年智能设备的迅速发展和蓝牙设备的生产制造成本越来越低,使得基于蓝牙技术的室内定位系统成为当下的研究热点。蓝牙定位系统建设成本较为低廉、使用较为方便,因此有许多厂商采用这一技术实现室内定位。但是,大部分厂商更关注于平台端的展示效果,而忽略了对定位精度的优化。

本文提出的蓝牙室内定位系统,包括本地端和平台端两大模块。该系统由蓝牙网关采集待定位点标签(iBeacon)的蓝牙信号数据,数据通过LoRa基站传输至平台服务器,采用高斯滤波和多点定位的方法进行定位坐标初步计算;然后通过定位修正策略得到最终标签位置信息,最终待定位点的位置信息将展示在平台端Web页面。

蓝牙定位标签具有体积较小、便于携带的特点,因此该系统应用场景较为广泛,比如在化工园区、大型工厂、智造车间、隧道施工等需要对人员或物品进行实时定位的典型场景,同时在一些需要室内导航的场景也具有广泛的应用,如博物馆、景区、商场等。

1 系统方案

1.1 系统总体设计方案

本文设计的系统使用蓝牙信标的方式进行定位,蓝牙信标广播当前的信号强度,经过滤波处理后进行距离转换,通过在具体场景下布设的多网关进行数据的LoRa上报;由基站进行数据汇总并传输给服务器,服务器通过定位引擎中的多点定位算法获取定位终端的位置数据,并将位置信息实时展示在Web页面。图1为系统总体设计框架结构。

图1 系统总体设计框架

系统涉及到以下几个部分,包括定位终端、蓝牙LoRa网关、LoRa基站和室内位置信息服务云平台。

(1)定位终端(待定位点):具备蓝牙4.0以上功能的标签、手环、工卡等均可作为能够持续向网关发送信号强度值和自身的mac地址信息的定位终端。本系统采用自主研发的定位终端设备和BlueNRG-2蓝牙低功耗片上系统,使用Beacon方式定时广播信号(定时时间可调),通过加速度传感器(G-Sensor)进行运动状态检测。当终端设备处于静止状态下,可设置每隔一段时间(时间可调)发送一次心跳数据。对于不同的部署场景,可对定位终端进行相关配置以满足定位实时性和功耗等需求。例如,在固定资产的定位场景中,定位终端(通常为标签)需固定在资产物体上,对于功耗的要求较高且其位置并不经常移动的,只有当物体移动时,才对其实时定位;物体保持静止状态时,每隔固定时间发出信号,若接收不到,后台根据判断机制触发报警。对于特殊区域的人员定位场景,人员随身携带定位终端(通常为工卡、手环),对定位的实时性要求较高,但对功耗要求不高。因此,定位终端有必要设计运动状态检测、心跳上报等功能以满足不同定位场景的需求。

(2)蓝牙LoRa网关(定位锚节点):蓝牙网关部署在定位终端所在的室内环境中,部署方式根据实际环境验证后决定。本系统采用自主研发的蓝牙LoRa网关,该网关采用BlueNRG-1低功耗蓝牙系统级芯片接收蓝牙信号,以Cortex-M4内核的STM32f407为主控芯片,将接收到的蓝牙信号数据采用SX1276芯片进行LoRa扩频调制发送,实现远距离信号传输。

(3)LoRa基站:系统的LoRa基站采用SX1302芯片进行8路数据接收,首先将多信道的LoRa信号接收到基站中,接收的数据经过整合后通过MQTT协议发送至服务器。

(4)室内位置信息服务云平台:具有云平台集成数据库、定位算法引擎和Web展示等功能。云平台接收从基站发来的各类数据并保存至数据库中,调用定位算法引擎进行计算,得到定位终端的坐标信息并保存,定位数据可发送给Web端进行地图显示等。

室内定位系统的工作原理为:将多个网关设备部署在待定位点所在的室内环境,网关中的蓝牙接收器接收定位终端(iBeacon)定时广播的信号并进行汇总打包;通过网关的SX1276芯片进行LoRa发送,LoRa基站接收到网关的数据包信息后将这些数据入网,并通过4G/WiFi/有线等方式远距离传输至室内位置信息服务云平台,高精度的定位引擎实时计算定位终端位置,最终在Web端展示。

1.2 RSSI测距模型的确立

无线信号通过发送端发射,一般信号所带的能量在发射过程中会存在衰减[4],即无线信号强度会随着距离的增大而衰减。通常无线设备常利用接收信号强度指示值(Receive Signal Strength Indicator, RSSI)表示信号到达接收端的信号强度值。基于RSSI的测距方法利用信号衰减程度与距离有一定数学关系,一般归纳为自由空间传播模型[5]。但近几年的研究和实际应用表明,对数路径损耗模型的准确度更高[6],表达式为:

式中:d为信号发送端和接收端的距离,一般取参考距离d0=1 m;n表示路径损耗因子,取值依赖于环境和建筑物情况;一般环境下ε表示均值为零的高斯分布随机变量。通常室内定位系统采用的简化模型为:

其中A=PL(d0),表示距离为1 m时的RSSI值。根据公式(2)可得发送端和接收端的距离为:

A和n值需要根据真实定位环境数值测量后进行拟合,才能更准确地反映当前室内环境中的信号传播特性。因此在系统部署前,有必要事先根据应用场景对A和n进行测量计算并优化。

在实际定位环境中,存在人员的走动和物品位置的移动,导致接收端接收的RSSI值存在抖动。如果直接通过接收信号的RSSI值和公式(3)换算得到接收端与发送端的距离,会造成测距与真实距离误差过大,最终的定位点大幅度漂移。因此,对于采集到的定位点RSSI值要经过一系列滤波处理后再进行距离的换算。

1.3 信号滤波方式

大量研究和实验表明,待定位点位于信号发送端固定距离的位置时,采集到的RSSI值近似呈现为高斯分布[7]。因此,本文采用基于高斯滤波的方法对采集到的RSSI值进行滤波处理,该处理方式的特点在于能够过滤掉因环境突变而出现的短时RSSI过大或过小的抖动值。对于出现概率较大的值进行均值处理,从而得到对应距离的RSSI特征值。具体滤波方法如下:

(1)首先存储每个采样时间段内的RSSI值,作为RSSI样本数据。

(2)RSSI服从(μ, σ2)的高斯分布,其概率密度函数为:

(3)对于高斯分布来说,区间 [μ-σ, μ+σ]上取值的概率为 0.682 6,区间 [μ-3σ, μ+3σ]上取值的概率为 0.997 3。结合实际需求,选用3σ区间能够有效过滤RSSI样本中的异常值,即对于某一采样时间段的RSSI经过高斯滤波并取均值后,作为样本数据的特征RSSI,即:

1.4 定位算法

基于RSSI测距是一种简单并容易实现的室内定位方法。具体做法是利用RSSI值与距离的关系,得到待定位点(定位终端)与定位锚节点(网关)的距离,接着应用三边(三角)定位算法[8]或多点定位算法[9]将待定位点的位置估算出来,由此实现了对定位终端的位置测算。

传统三边定位算法是基于圆形相交的原理,以三个定位锚节点为圆心,以锚节点到待定位点的距离为半径做圆。由于信号的损耗,三个圆一般不会相交于一点,连接两个圆的圆心以及两个圆的交点、两条直线的交点即为策略点,则三个圆会得到三个策略点,策略点连线为一个三角形的区域,该区域的质心即为要求得的待定位点的坐标位置[10]。

多点定位算法的基本原理是利用最小二乘法的思想,即定位环境中有多个已知位置的定位锚节点,坐标分别为(x1,y1), (x2, y2), ..., (xn, yn),待定位点 P 的坐标为 (x0, y0);定位锚节点接收到待定位点广播的信息,得到相应的RSSI值为(RSSI1,RSSI2, ..., RSSIn);经过测距模型(式3)计算得到待定位点到各定位锚节点的距离为(d1, d2, ..., dn),可建立如下方程组:

用前面n-1个方程分别减去第n个方程,得到结果为:

其中:

采用最小二乘法求得方程组的解为:

求得的P即为待定位点位置坐标,从而实现对定位终端的室内定位。

2 数据通信与定位系统软件设计

一般蓝牙室内定位系统实现方式有以下两种:

(1)利用手机作为定位终端,通过手机实时扫描布设在定位环境中的蓝牙信标,通常利用手机应用程序(APP)实现对手机的定位,由此完成对室内人员定位与导航等功能[11]。

(2)在定位环境中部署多个定位蓝牙基站,待定位的人或物体携带或安装定位信标,信标收集附近基站的通用唯一识别码以及对应的RSSI后,通过蓝牙传输至蓝牙基站,基站再将数据发送至云平台并对物体或人物进行位置测算[12-13]。

对相对复杂的室内环境中(如:化工园区、大型工厂、隧道施工等)的人员和物品定位,往往无法携带手机等智能设备,也无法部署过多的iBeacon基站。与上述两种方式不同,为了适应复杂的室内环境,本系统设计尺寸较小的蓝牙标签作为定位终端,便于人员佩戴或安装在物品上。如图2(a)所示标签可安装在物品上,尺寸为(50×40×20)mm,安装方式为3M背胶粘贴,带有防拆开关;如图2(b)所示标签设计为人员工卡,尺寸为(90×60×8)mm,侧边带有TypeC充电接口。

图2 防拆型电子标签和人员工卡

标签不断广播数据包,蓝牙LoRa网关将数据包接收后通过LoRa扩频调制发送到基站,基站通过无线/有线等方式将数据汇总后发送至云平台,云平台嵌入定位算法引擎和地图展示等功能,实现对定位终端的定位和展示。

2.1 蓝牙数据传输

本系统采用自主研发的蓝牙LoRa网关,通过双蓝牙模组同时接收标签广播的信号,网关以Cortex-M4内核的STM32f407为主控芯片,将接收到的蓝牙数据包利用SX1276芯片进行LoRa扩频调制发送给基站。系统使用私有LoRa协议,以确保定位数据的安全性,网关连接结构如图3所示。

图3 网关连接结构图

蓝牙LoRa网关的软件部分包含以下六个模块:网络管理、电源管理、蓝牙数据接收、数据发送、数据存储、LoRa通信模块。软件结构如图4所示。

图4 网关软件结构图

LoRa基站采用SX1302芯片进行8路数据接收,具有较高的接收灵敏度,视距覆盖范围可达5 km以上。该基站包括两个接收通道及两个发射通道。这四个通道可同时进行数据收发,具有低功耗和高灵敏度的特点,同时满足网关对基站上行数据的即时接收及基站对网关下行数据的即时响应,基站结构如图5所示。

图5 基站结构示意图

2.2 定位策略

区别于普遍的做法,本系统新增设备端 本地边缘计算算法,即利用网关剩余算力,将对信号RSSI值的高斯滤波过程通过网关进行处理,以此释放信道传输压力,提高运算效率。

基于RSSI测距的室内定位系统,RSSI值的质量直接影响到定位的准确性;由于室内环境复杂,虽然大部分情况可以通过高斯滤波滤除掉异常值,但当定位终端处于移动状态时,高斯滤波的滤波效果并不理想。因此有必要根据定位终端的情况设计相应的定位策略。

定位终端带有加速度传感器(G-Sensor),可以进行运动状态的检测。当系统判定定位终端静止时,每间隔10 min发送一次心跳数据;当系统判定定位终端处于运动状态时,每间隔500 ms发送一次数据包,数据包包含自身的运动状态和mac地址等信息。上述定位策略按照如下思路进行设计:

(1)当定位终端为运动状态时,云平台每隔2 s对定位终端进行定位并在地图展示。

(2)当定位终端为静止状态时,云平台不对定位终端进行定位,地图界面保持上一次的定位位置。系统始终监听定位终端的心跳,确认定位终端在线,但不会对其反复定位。

对于处于运动状态的定位终端,如果每次更新定位点的坐标仅是依靠多点定位算法,定位位置会出现明显的离散性,这种现象是不合理的,应当考虑到运动轨迹的平滑性,即当前时刻位置应当与之前的时刻具有线性相关性。由此,引入卡尔曼(Kalman)滤波器,Kalman滤波理论是针对线性离散系统状态方程,通过系统输入输出观测数据,对系统状态进行线性最小方差估计的最优估计方法。其特点是利用系统离散状态的时间转移关系,得出时域上的递推计算公式。它的计算过程简单、直接,迭代算法便于计算机编程实现,并能够对现场采集的数据进行实时的更新和处理。

如果已知上一时刻定位目标的位置和速度信息,则当前时刻的位置可以根据上一时刻的位置数据预测出来,这便是该动态系统的预测值;而通过多点定位算法计算得到的位置恰好对应系统的观测值。卡尔曼滤波的预测和更新过程如下:

Step 1:时间更新,完成如下两步:

(1)状态先验估计值:

(2)状态先验误差协方差矩阵:

其中:A为状态转移矩阵;B为控制矩阵;Q为预测噪声协方差矩阵;u(k)表示k时刻外界对系统的作用。更新过程中,已知 k-1时刻最优估计值 x(k-1|k-1),由式(9)、式(10)得状态先验估计值x(k|k-1)和误差协方差矩阵P(k|k-1)。

Step 2 :观 测更新

(1)估算Kalman增益:

(2)状态后验估计:

(3)更新误差协方差矩阵:

其中:K(k)表示k时刻的卡尔曼增益矩阵;R为测量噪声协方差矩阵;z(k)表示k时刻的观测值;H为观测矩阵。观测更新过程中,根据求取观测器误差最小方差这一性能指标寻求Kalman增益,利用该增益对先验估计进行修正,获得状态更新和协方差矩阵更新。

对于室内定位环境来说,如果要利用卡尔曼滤波进行位置估计,应当先建立数学模型。因此,假设当定位终端在移动时其基本处于匀速运动状态,则系统模型可以建立为:

则 k 时刻的状态向量为 xk=(akbkΔakΔbk)T,观测向量为zk=(akbk)T。wk和vk分别是环境噪音和观测噪音且相互独立,方差矩阵为Q和R。

对系统建模后,卡尔曼滤波器确定了各状态矩阵和观测矩阵的值,还需确定P、K、Q、R的值。对于增益矩阵K,其值无须设定,可以通过计算得出;P是状态误差协方差矩阵,在经过几轮运算后会自适应调整,可设为零矩阵。Q和R分别是预测和观测状态协方差矩阵,可设置为对角阵。若Q远大于R,则状态预测的噪声大,观测值更为可信;反之,则预测值更为可信。对于状态向量xk,可以使用零时刻的测量值z0来初始化x0。通过卡尔曼滤波方法,当定位终端移动时,滤波后的动态轨迹更为平滑,在滤除噪声后,定位也更为准确。

3 实验分析与结论

3.1 定位终端功耗分析

对于安装在固定资产上的定位标签(如图2(a)所示),电池标配为2.4 Ah,电池容量与放电电流关系曲线如图6所示。

图6 容量与电流关系曲线

定位标签在运动状态下,利用功耗分析仪(如图7(a)和图7(b)所示)进行分析;数据发送期间平均电流为4.67 mA,在500 ms的发包间隔下,设备平均电流为0.07 mA。在静止状态下,每隔10 min发送一次心跳数据,心跳数据发送持续3 ms,其余时间为休眠状态,仅有运动传感器采样监听,其电流约为1.7 μA,整机耗电流约为3 μA。

图7 功耗分析

配备的电池按照90%的可用量计算,定位标签在全运动状态下,使用时间约为3.6年。在实际使用中,对于资产和重要物品的定位,大多情况下处于静止状态,一般使用寿命能达到5年以上,并不需要频繁更换电池;而对于用于人员定位的工卡,自身配有充电接口,一次充电可持续使用7天,满足基本的使用场景要求。

3.2 定位实验分析

本文系统部署在真实办公环境中,试验区平面图如图8所示,定位区域包含:左上角的实验室区域(含有大量电气设备)、左下角的会议室区域以及其余的正常办公区域。网关(图8中无字母标记的圆圈标记点)每隔7~10 m布设一个,共14个定位网关。

图8 室内定位环境2D图以及网关、终端位置

(1)固定点定位实验:在上述三类定位区域都设有定位终端,其真实位置如图8中标有大写字母的点位所示,定位终端在晃动后静止放置,其定位坐标(图8中标有小写字母的点位)能够实时在地图中显示。

测试多个定位终端的位置,平面图左下角为定位原点坐标,定位坐标与真实位置坐标之间的误差由式(16)计算,结果见表1所列。由表1可知,所设计的室内定位系统的固定点定位误差都在4 m以内,有60%的测试点定位误差在2.5 m以内。对于实验室区域的定位,虽有许多电气设备的干扰,但仍能正常定位,精度满足要求。

表1 固定点定位实验结果

式中:(xn, yn)为定位终端真实坐标;(xest, yest)为定位坐标。

(2)移动点定位实验:选取某一定位终端放在办公区域,测试人员手持设备,顺时针绕该区域行走一周,其定位轨迹能够在平面图中进行查看。图9是采用本文的定位策略和对定位点使用卡尔曼滤波算法后得到的定位轨迹,灰色为真实移动轨迹,黑色为移动定位轨迹。可以发现,有60%的测试点定位误差在2 m以内,最大定位误差控制在3 m以内。相较于固定点定位,移动点定位有更高的准确率,一是因为定位终端在移动时,定位引擎会不断对其定位;二是由于对定位点使用Kalman滤波,从而移动过程更为准确和平滑。

图9 室内移动定位点测试

实验还对60个定位终端同时进行移动定位测试。测试发现,随着节点数量的增加,网关上报数据时信道存在压力,计算和显示会有1~3 s左右的延迟;若定位终端之间距离较紧密,蓝牙信号会存在相互干扰,造成定位过程节点出现漂移,使定位精度降低至4~6 m。实验还发现,对于室内环境,蓝牙网关仅能扫描到15 m以内的区域信号,一旦超过边界网关布设范围10 m以外,定位终端会受到边界约束。

4 结 语

与目前的蓝牙室内定位系统相比,本文设计的系统着重考虑了定位终端移动时的定位精度,且兼顾了定位速度和定位准确性,具有更高的应用价值[14-15]。实验表明,本文设计的室内定位系统能够有效降低室内定位的误差,满足大多数目标场景的定位精度要求;所设计的前端界面能够提供精准的定位显示和轨迹查询等位置服务。该系统使用低功耗的蓝牙iBeacon方案,每个定位终端的使用时间均超过三年,无须频繁更换硬件。与传统的人员物资监管方式相比较,该系统很大程度地节约了人力成本,具有较高的实际应用价值。

猜你喜欢

定位点网关蓝牙
时速160公里刚性接触网定位点导高偏差研究
数独小游戏
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
地铁刚性接触网定位点脱落状态分析
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
我的结网秘籍
紧急:蓝牙指尖陀螺自燃!安全隐患频出
应对气候变化需要打通“网关”
一种实时高效的伺服控制网关设计
基于Zigbee与TCP的物联网网关设计