一种位置指纹-最小二乘融合的蓝牙室内定位方法及实现
2022-03-16张伟
张 伟
(1.北京奇虎科技有限公司360未来安全研究院,北京 100015;2.扬州大学 信息工程学院,江苏 扬州 225001)
0 引 言
随着便携式智能设备的广泛普及,人们可以通过便携式设备获取个人定位及目标物体(车辆、商品、包裹等)的位置信息。然而,相较室外定位技术发展的成熟,室内定位技术一直处于欠发展的阶段。从目前来看,室内定位技术的多样性不能与定位算法的优点有效结合起来,还存在较多问题,例如功耗低但实现过于复杂等。
本文采用基于BLE接收信号强度指示的位置指纹定位法与最小二乘法相融合的方式来实现室内定位(本文命名为“F-LS方法”),并通过构建的定位系统验证了该融合算法,能够提高定位精度,也较容易实现。
1 定位方法
根据实际定位场景下的具体环境,目前的定位方法一般包括位置估计和位置跟踪两大类,并且都包含物理测量、数据预处理、算法选择三个环节,如图1所示。本文所提出的测距定位方法中,物理测量采用基于BLE接收信号强度的测量及数值优化方法实现,数据预处理和算法选择是本文的核心。
图1 定位实现流程
1.1 最小二乘定位
最小二乘定位通过最小化误差的平方和来寻找数据的最佳匹配,从而达到优化结果的目的。以信标节点数=4为例(如图2所示),采用最小二乘方法,得到被测定位点的最终位置计算式为:
图2 最小二乘定位(4个Beacon参考点)
其中[,], [,], ..., [x,y]为个Beacon对应的位置坐标。根据信号强度的对数衰减模型得到相应距离为:(,, ...,d)。
1.2 位置指纹定位
信号在空间中的多径传播依赖于环境本身的特性,因此每个位置的多径结构都是唯一确定的,进而形成特殊的位置“指纹”。由此产生了位置指纹(Location Fingerprint, LF)定位法,它的实现过程分为离线训练和在线定位两个阶段,如图3所示。
图3 位置指纹定位法原理
在定位区域内完成对Beacon信标节点的合理布局后,采集区域内样本点的指纹信息得到指纹库:
式中:(,)为一维空间位置指纹库;(,)为二维空间位置指纹库;为定位区域内布设的Beacon信标节点个数;为采样点的个数;(,;,)为坐标(,)位置的信号强度。
最终目标定位点的位置表达式为:
式中,(,)为某坐标位置下的信号强度,与该点信号强度的多径相角分量(,)对应。
1.3 位置指纹-最小二乘融合定位(F-LS)
图4 建立的位置指纹
在定位区域内布设×个Beacon信标网格节点,由式(2)可得,被测定位点的位置坐标为:
最终,位置指纹-最小二乘融合定位法F-LS测定位置坐标为:
误差累积概率(;,)为 :
式中:为所测结果的标准差;为总体标准差;为期望值。
2 定位实现
2.1 位置指纹数据库建立
建立设备无关指纹数据库时,在空旷的室内环境内的同一平面均匀设计采样点,采样间隔为边长0.5 m的方形地砖;然后定位被测目标位置,对每个采样点采集一次数据并记录;最后使用位置指纹-最小二乘融合(F-LS)建立位置指纹数据库。
2.2 Android程序实现
根据蓝牙信号强弱测距、位置估计优化的设计思路,在实际的实验机房完成Android程序的设计,实现Beacon参考点的测距。Android程序实现如图5所示。
图5 蓝牙测距定位Android程序结构示意图
2.3 二维图像显示
通过Android Studio创建二维图形Android应用程序,将图片bluetooth.png复制到AS的“res/drawable”目录;修改前面的定位程序,将定位结果以二维图形方式显示,如图6所示。
图6 Android二维显示界面
手机或开发板屏幕对应整个室内定位空间,布局文件activity_main.xml包括2D图形和控件,MainActivity访问MyView以传送定位点坐标。在activity_main的MyView中增加属性android:id="@+id/myview",在MainActivity中使用findViewById(R.id.myview)访问MyView。
3 系统测试结果
实验环境为机房室内(6.51 m×10.12 m),将4个Beacon布置在机房的四个角落,如图7所示。本文从测试区域中选取中轴线上的11个点,使用最小二乘法、位置指纹法和本文提出的F-LS方法统计各个采样点的测定结果,并以Android界面像素值的0.001记入,见表1所列。从测试结果可以看出,最小二乘定位和位置指纹法的平均误差相差不大,定位精度不稳定,误差波动较大;而通过位置指纹-最小二乘融合(F-LS)方法能够有效地规避定位误差的波动,提高结果的稳定性和定位精度。
表1 三种定位方法测试结果对比
图7 测试环境示意图
从图8中定位结果的误差累积分布可以看出,F-LS方法的定位误差均小于位置指纹定位法,定位精度的稳定性优于最小二乘法,说明了该方法的有效性。
图8 误差累积分布
4 结 语
本文提出的室内测距定位方法,主要通过位置估计、模型优化,在Android上实现了室内准确定位,并将结果以二维图像形式显示出来。经实际测定,该方法在6.51 m×10.12 m的室内环境下,定位精度优于75 cm,完全可以满足日常的目标定位功能。该方法已经在Android上实现,可参考程序地址为:https://github.com/Charmve/Bluetooth-Location_2D。