随着移动互联网和位置服务的快速发展,人们对室内定位服务的需求越来越迫切。而室内定位与室外定位相比较,二者在定位基础服务架构[1]、环境变化程度[2]、定位精度需求这三方面的要求又各不相同,因此目前还没有成熟可靠的技术用于室内定位[3]。当前典型的室内定位位置服务应用有[4]:1)实时导航路线,其主要帮助用户从当前位置导航到目标位置;2)监测跟踪,在远程终端上监测用户的位置及轨迹;3)场景感知[5],当用户处于某具体位置时,定位系统会根据用户的位置给出场景信息。
2013年,美国苹果公司推出低功耗4.0蓝牙iBeacon技术,这种集微定位与广告推送的iBeacon大大的激发了室内定位的研究热潮。杜克大学利用生活中的路标思想开发了Unloc系统[6],该方法不需要人工勘探,也不需要室内电子地图,但缺点在于此方法极易受到环境变化的干扰。
在国内以Sensoro[7]带领的iBeacon制造商已经与微信摇一摇以及特斯拉相结合,通过iBeacon技术真正实现了物物相联的概念,这也给iBeacon近场通信带来前所未有的机会。文献[8]提出的是利用WIFI信息与行人航迹推算结合的方式进行室内定位,但它的WIFI定位只是辅助方式, 并没有实现一个智能化的结合。文献[9]提出利用超宽带进行高精度的室内定位,但由于它的成本造价高以及无法集成到普通的智能手机中,因此还只是一个特殊行业的一种定位方式。文献[10]利用用户行为的感知来辅助行人航迹推算室内定位,但它具有环境适应力差、定位精度不高的缺点。
总之在上述的研究中,它们对室内定位的研究存在着定位精度与经济性不能存在一个平衡的问题。文中致力于实现一个低成本、复杂度低、易推广的定位系统。因此文中设计实现了一套基于iBeacon、二维码以及手机多自由MEMS的室内融合定位系统,本系统主要是将基于硬件系统的局域定位系统方案和个人航迹推算(pedestrian dead reckoning,PDR)系统进行组合[11-18],该系统将主要应用于大型复杂建筑的导航定位。同时针对智能手机自带的手机传感器精度不高,航迹推算定位会随着时间和距离的增长累计误差越来越大的问题,文中将传统的PDR算法进行改进的同时,又设计了一种将iBeacon作为信标,单点纠正PDR算法的累计误差的方法,并在智能手机上实现了该系统。
1 行人航位推算 1.1 航位推算行人航迹推算的基本原理是在已知当前时刻位置的条件下,通过测得个人用户在二维坐标系下移动的长度距离和方位角,可以实现连续实时的计算下一时刻坐标的方法。将用户的室内活动看作是在二维平面上的运动,已知个人用户的初始位置和初始方位角,我们可以通过实时测得个人的行走步子距离和方向角度的变化,实现实时地推算出行人用户的位置信息。其原理如图 1所示,E、N分别表示方位正东、正北。
行人在t0时刻的位置P0(N0, E0), 那么下一时刻t1位置为P1(N1, E1),从P0到P1的这段时间内的航向角为θ0,则对应的关系可以表示为
$ \left\{ \begin{array}{l} {N_1} = {N_0} + {d_0}{\rm{cos}}\ {\theta _0}\\ {E_1} = {E_0} + {d_0}{\rm{sin}}\ {\theta _0} \end{array} \right. $ |
行人在t2时刻的位置P2(N2, E2)为
$ \left\{ \begin{array}{l} {N_2} = {N_1} + {d_1}{\rm{cos}}\ {\theta _1} = {N_0} + {d_0}{\rm{cos}}\ {\theta _0} + {d_1}{\rm{cos}}\ {\theta _1}\\ {E_2} = {E_1} + {d_1}{\rm{sin}}\ {\theta _1} + {E_0} + {d_0}{\rm{sin}}\ {\theta _0} + {d_1}{\rm{sin}}\ {\theta _1} \end{array} \right. $ |
以此推算下去,则有行人在tk时刻的位置Pk(Nk, Ek)为
$ \begin{array}{l} {N_k} = {N_0} + \sum\limits_{i = 0}^{k - 1} {{d_1}{\rm{cos}}\ {\theta _1}} \\ {E_k} = {E_0} + \sum\limits_{i = 0}^{k - 1} {{d_1}{\rm{sin}}\ {\theta _1}} \end{array} $ |
式中:P0(N0, E0)是t0时刻运动目标的起始位置;di是行走距离或ti-1~ti之间的位移;θi是位移的方向角。
从行人航迹推算原理可知,在已知初始位置和行走航向的情况下,结合行人步行行走的运动生理学特性,利用行人行走时加速度传感器输出波形的周期性特征计步,并利用行走速度相关的特点来估计行走步长,再根据加速度传感器与磁力计共同解算算出每一步的航向,从而实现行人在室内行走轨迹的重现。系统结构如图 2所示。
行人航迹重现在室内地图上需要得到用户行人每走一步估计的步长和每走一步的航向角度,从而计算出行人的位置坐标。定位解算步骤如下:
1) 通过采集智能手机中的加速度三轴传感器数据,经过一系列处理得到行人的步数检测;
2) 通过每走一步加速度传感器数据值变化以及用户身高与步长的关系得到每一步行人所走的步长;
3) 结合智能手机中加速度传感器数据和磁强传感器数据计算,能够得到行人行走时在世界坐标系下的航向角;
4) 在世界坐标系中得到的行人用户的行走方向角,实时计算用户行走的步子长度、检测用户所行走的步数最后并推算用户的位置。
1.2 步频检测算法用户的步频检测主要原理是依据人类行走时的运动力学来近似得出用户行走的频率。学者针对人类身体的不同部位加速度值不同的特征,研究了一些步频探测算法,其中主要包括滑动窗口法和零点交叉方法以及峰值探测法。本应用使用峰值探测法来进行步频检测,针对我们人体行走时上半身部分的加速度信号每步呈现单峰的特征,峰值探测方法是通过寻找固定时间窗口内加速度传感器输出的最大值来实现计步功能。图 3为本应用的步频检测流程。
一般来说行人航迹推算过程中行人的步长会与人的身高和性别以及人的行为习惯相关。比较简便点的估计步长方法是将人的步长与性别和身高联系起来。步长step_dist=height×SexFactor,其中height为人的身高,SexFactor为男女步长的权重值,男士取0.415,女士取0.413。这种步长估计方法实现起来简单,但当人的步行行人模式改变时每步步长固定不符合实际。已经有大量研究表明行人的步长会与传感器加速度的某些统计值存在一定的相关性。基于步行行为模式的步长估算算法如下:
$ {\rm{step}}\_{\rm{dist = }}\sqrt[4]{{{A_{\max }} - {A_{\min }}}} \times k $ |
式中:Amax表示加速度采样周期内的最大加速度;Amin表示加速度采样周期内的最小加速度值;k是一个常量。步长估计流程如图 4所示。
可以通过磁力计与加速度计来确定手机的行进方向。从这两个传感器获得的数据可以通过调用getRotationMatrix()来生成一个旋转矩阵。然后生成的旋转矩阵可以传给getOrientation()方法,此方法可以计算载体坐标系下X、Y、Z轴的旋转。给getOrientation()方法的返回值为包含了设备方位、俯仰和滚转的值列表。在图 5中,方位为Z轴,俯仰为X轴,滚转为Y轴。为了关注手机是面朝上还是面朝下,只需要关心俯仰值和翻滚值。Z轴方位给出的是手机顶部相对于正北的方向。使用重力传感器和磁力计来确定方向与使用加速度计和磁力计确定方向的方式相似。两种方式都需要从getRotationMatrix()来生成一个旋转矩阵,并且将生成的旋转矩阵可以传给getOrientation()方法。两者的唯一不同是传给getOrientation()方法的加速度值,一个是从重力加速度器得到,一个从重力加速度计得到。
此外文中增加一个滑动窗口均值滤波器,取行走一步时间内滑动窗口为16的方向传感器获得的航向值得平均值。方向估计流程如图 6所示。
Beacon是苹果公司在2013年的WWDC发布会上所提出的新一代近场通信技术。文中主要利用iBeacon进行室内定位研究,图 7是文中使用的iBeacon模块。
iBeacon的工作原理是基于BLE(bluetooth low energy)低功耗蓝牙传输技术,iBeacon基站模块不断地向四周发送蓝牙信号[19],当手机终端进入覆盖区域时,就能够收到信号,并且只要满足iBeacon技术标准的都可以使用,所以Android设备也可以支持iBeacon。iBeacon与原始的蓝牙最大的优点是降低了功耗,同时覆盖范围增大到了50~80 m。支持AES加密和CRC验证提高了安全性和稳定性。与此同时iBeacon拥有自己的一些特点,一方面,iBeacon基站与智能手机之间无需配对,一般的蓝牙设备需要配对;另一方面,支持手机应用程序后台唤醒,iBeacon的消息推送无需应用程序打开运行,只需手机蓝牙开启即可。iBeacon模块通过蓝牙广播信道不断向外传送信息。苹果公司定义了iBeacon模块的32位广播数据格式。这32位广播数据分为iBeacon prefix(9 bytes)、Proximity UUID(16 bytes)、Major(2 bytes)、Minor(2 bytes)、TX Power(2 bytes)。
其中UUID+Major+Minor就构成了一个iBeacon的识别号,TX Power用于测量手机距离iBeacon的距离。
2.2 基于iBeacon信号强度测距iBeacon信号在室内的传输中通常采用的传播模型[19]为
$ p\left( d \right) = p({d_0}) - 10n{\rm{lg}}(\mathit{d}/{\mathit{d}_0}) + {\mathit{X}_{{\rm{dBm}}}} $ |
式中:n表示iBeacon模块距离手机接收端的距离;p(d)表示距离iBeacon模块为d时手机接收到的信号强度,即RSSI值;p(d0)表示手机终端距离iBeacon模块为d0时的信号强度;d0为参考距离;其中n表示的是空间损耗因子,依据具体环境而定,n越小,代表信号路径损失越小,在自由空间传播模型中,该值为2,而在一般的有障碍物的复杂环境中,n值都要大于2。XdBm是一个随机的噪声的信号强度,代表对数正态阴影衰落,服从均值为0、方差为σ的高斯分布。实际中一般采用简化版的传播模型[20]:
$ p\left( d \right) = p({d_0}) - 10n{\rm{lg}}(\mathit{d}/{\mathit{d}_0}) $ |
文中iBeacon室内定位性能分析中,取d0为1 m。于是可得
$ {\rm{RSSI}} = A - 10n{\rm{lg}}\left( \mathit{d} \right) $ | (1) |
式中A为手机终端相距iBeacon模块1 m时手机接收到的iBeacon信号强度值。式(1)就是信号强度测距的经典模型,给出了iBeacon信号强度与距离d的函数关系,根据手机终端采集到的信号强度值就能够得出手机终端和iBeacon模块之间的距离。A和n都需要根据实际的室内环境来确定。
2.3 基于iBeacon的单点定位方法单点定位即基于位置告知的定位方式,当用户拿着智能手机进入到iBeacon信号的覆盖范围后,智能手机接收并解析iBeacon蓝牙基站信号,获得该iBeacon的位置及可能的定位范围,如果不能获得其他信息,那么用户位置则假设为该iBeacon基站的位置。基于位置告知的定位方法系统简单,用户可快速获得自身的位置信息;但是这种技术的准确性主要受限于iBeacon基站的覆盖范围,若没有额外的可用信息,定位误差可达单颗iBeacon的信号覆盖范围,定位精度不高。并且单个iBeacon模块的定位覆盖区域有限,需大量密集地布设iBeacon。
基于以上说明,考虑到现实情况的的复杂性和铺设成本的高低性,基于iBeacon信号强度的单点定位方法在单独定位时几乎无法满足室内定位需要,iBeacon单点定位模式图如图 8所示。
由前文可知,虽然可以利用智能终端的自包含传感器来获得PDR算法所需要的行人的步频信息、方向信息以及步长信息,在给定初始位置的条件下,可得到行人的连续定位。但是PDR算法会随着行走距离的变长,产生漂移误差,且漂移误差也会慢慢累积,最终将导致定位精度十分不准确,无法满足室内定位的需要。
通过对iBeacon在室内环境下的定位性能进行分析,虽然iBeacon信号传播距离远、覆盖范围广,但是在单独使用基于iBeacon信号强度测距的定位方法时,也不能满足室内定位的需要。为使以上2种定位方式在单独定位时存在的问题得到改善,需要将iBeacon定位与行人航迹推算定位进行融合。文中将采用iBeacon信标校正为主、二维码校正为辅的双模校正方式,纠正行人航迹推算算法的累计误差,并在Andoird智能终端上实现iBeacon校正行人航迹推算的定位系统。
3.1 二维码、iBeacon校正的实现对于任何行人航迹推算系统,起始位置的确定和行进导航过程中的位置纠正至关重要。在本定位系统中起始位置的确定和单点纠正有3种方法,一种是直接选择起始位置在地图上使用电容式触摸屏,但这种方法精度不高且有时用户也并不知道起始位置的位置点;另一种是使用智能手机相机扫描二维码图片以获取二维码包含的位置信息;最后一种是iBeacon模块单点定位实现,手机通过开启蓝牙扫描iBeacon以获取iBeacon的位置信息,这种方式不同于二维码扫描,是手机后台自动扫描。
二维码是当今信息社会以及移动互联网社会常用的保存简单信息工具,二维码的制作十分简单,互联网上有许许多多的免费制作工具,而且我们可以在二维码中加入我们所需要的位置信息。Zxing是谷歌的一个解析获取二维码中信息的开源库,本融合定位软件通过在工程中嵌入Zxing开源库来实现获取二维码中的位置信息。本应用主要通过扫描二维码的方式,获得二维码内所包含的位置信息,该位置信息可以是行人的起始位置,也可以是用来校正PDR累计误差的位置信息。本应用的二维码图片如图 9所示。
图 10是iBeacon的校正流程图。
图 11是本室内融合定位系统的总体框图。我们利用行人航迹推算算法对行人实现连续定位,用iBeacon与二维码模块来纠正PDR系统的累积误差,并将最终的行人路径显示在智能手机上。
此处需要说明的是,本定位系统将以iBeacon校正为主、二维码校正为辅的双模校正方式,在系统内部将iBeacon模块和二维码模块分别分配一个权重因子,由于iBeacon校正是自动校正,而二维码校正是手动校正,所以在可以搜索到iBeacon信号的情况下,我们的系统将把iBeacon的权重分配为1,相应的二维码校正的权重分配为0,此时系统将自动校正。如若行人需要校准此刻的位置信息,且周围没有可用的iBeacon信标的情况下,二维码校正的权重将被分配为1,系统将自适应地提示用户手动使用二维码校正方式。这样的智能化的双模校正方式,大大地提高了系统的通用性和鲁棒性,当周围环境十分恶劣时,iBeacon信号无法被手机接收的情况下,系统将智能的提醒用户使用二维码校正,以避免因累计误差过大导致定位不准确的问题。
4 系统实验及结果分析本章主要对基于iBeacon校正的行人航位推算系统进行了实验与分析,比较了单独PDR定位与加入iBeacon信标校正的PDR定位,分析了iBeacon信标对整个系统的影响。
4.1 实验环境及方法本应用的实测环境是中国电子科技集团第54研究所卫星导航专业部3楼,测试环境选择了场景是16 m×23 m的大房间。两个iBeacon模块分别布置在直角拐弯处。为验证文中提出系统的实效性与适普性,又在哈尔滨工程大学11号楼4楼进行了测试,测试区域选在11号楼4楼的一个72 m×74 m的长方形路径上,并将iBeacon模块布置在11号楼4楼平面图的拐角1处。
图 12、13分别是54所卫星导航专业部和哈工程11号楼4楼实测环境图。测试方法是先分别设置路径起点和路径终点,再规划行人真实行走路径,最后实验人员手持已经安装好的文中所开发的定位软件的三星note2智能手机,以正常步速从实验起点走到实验终点。此处需要额外说明的是,由于文中主要内容是基于iBeacon的定位,二维码定位只是作为一种辅助校正方式,在文中的实验环境下,我们是自主的布置iBeacon信标,所以不存在接收不到iBeacon信号的情况,因此本章节并没有体现二维码的校正,实际上只要将布置iBeacon的地方替换成二维码,通过手动扫码可以得到与iBeacon相同实验结果。
测试结果如图 14所示,软件截图中笔直实线是行人规划路径,实际测试就是按照这条路径行走,抖动实线是定位轨迹图。图 14是单独PDR轨迹图的软件截图,图 15是加入iBeacon校正之后的轨迹图的软件截图。
从图 14、15可以看出,单独PDR的航位轨迹会有一个明显的发散,而经过iBeacon模块纠正后的行人航迹推轨迹与真实行走的轨迹更为接近,特别是在转弯处,通过加入iBeacon纠正使得原本发散很严重的PDR轨迹立刻回到了真实轨迹上。从上述图中我们也可以看出,原始PDR轨迹的累计误差随着行走距离的变远变得越来越大,到最后已经完全偏离终点位置(截图下方为终点),通过在路径上间隔一定距离布置一个iBeacon来纠正行人航迹推算的累积误差时,此时整个定位系统的定位精度得到了明显的提高。并且还可以得知,行人航迹推算系统在沿直线行走时误差不大,只有当行走方向偏转较大时误差会显著增大,说明手机传感器的方向估计是整个系统的脆弱之处,所以我们只在拐角处布置iBeacon模块来校正系统误差,这就使得系统成本大大的降低了。为了定量地说明文中所提出方法的有效性,在实际行走路径上每隔5 m设置1个测试点,一共设置9个测试点,然后将得到的数据进行仿真,得到图 16所示的PDR定位误差与iBeacon修正PDR的定位误差对比图。
从图 16可以看出PDR的最大定位误差达到3 m。而iBeacon修正PDR的最大误差在1 m左右,其平均误差明显小于2 m。文中在哈尔滨工程大学11号楼环形路径测试结果如图 17(a)、17(b)所示。
如图 17所示,图 17(a)是哈尔滨工程大学11号楼单独的PDR轨迹图,图 17(b)是iBeacon纠正PDR的轨迹图。从两个轨迹图对比可以看出,其实验效果与在第54研究所所得实验效果类似,进一步说明了文中方法的有效性和本定位系统的适普性。虽然此次实验中只在拐角1处布置iBeacon模块,但也有效的消除了PDR的累积误差,这也进一步体现了本系统的经济适用性。
5 结论针对传统无线定位手段采用各种滤波方式融合PDR数据难以在智能手机上单独实现的问题和室内定位的研究存在着定位精度与经济性不能实现有效共存的问题,文中完成以下工作:
1) 提出了一种基于iBeacon和二维码的多模单点修正传统PDR累计误差的定位方式;
2) 在Android智能终端上实现了iBeacon和二维码融合定位的室内定位系统。
通过实验看出,融合的定位结果与单独的PDR定位结果相比较,定位精度有了显著的提高,平均误差小于2 m,满足项目指标,满足室内导航定位的需要。且文中的方法不需要大量铺设iBeacon信标,只需要极其少量的iBeacon信号源就可以达到项目的精度指标,这就使得该系统的成本十分的低廉。
在未来的工作中,我们将尝试加入某些滤波算法实现更高精度的融合定位。作为一套完整的室内定位导航系统,应该具备真正的导航功能,我们通过加入导航功能进而实现路径约束,进一步提高定位精度。在未来的工作中也将关注系统对楼层的自动识别。由于气压随高度的变化而变化,我们可以应用智能手机的气压计获取的本地气压数据,通过使用相应的高度与气压关系的模型,确定楼层信息,进而接近实现室内无缝定位与导航。
[1] | KULKARNI V Y, SINHA P K. Pruning of random forest classifiers:A survey and future directions[C]//Proceedings of 2012 International Conference on Data Science & Engineering (ICDSE). Cochin, Kerala, India, 2012:64-68. (0) |
[2] | 徐伟. 基于Android手机的室内定位技术研究与实现[D]. 武汉: 华中师范大学, 2014. http://cdmd.cnki.com.cn/article/cdmd-10511-1014235696.htm (0) |
[3] | ZDRUBA G V, HUBER M, KARNANGAR F A, et al. Monte Carlo sampling based in-home location tracking with minimal RF infrastructure requirements[C]//Proceedings of IEEE Global Telecommunications Conference.Dallas, TX, USA, 2004:3624-3629. (0) |
[4] | 刁石京. 消费电子领域的北斗产业化推广[C]//2014上海国际导航产业与科技发展论坛. 上海, 2014: 11. (0) |
[5] | WANG He, SEN S, ELGOHARY A, et al. No need to war-drive:unsupervised indoor localization[C]//Proceedings of the 10th International Conference on Mobile Systems, Applications, and Services. Low Wood Bay, Lake District, UK. 2012:197-210. (0) |
[6] | SUBBU K P, GOZICK B, DANTU R. LocateMe:Magnetic-fields-based indoor localization using smartphones[J]. ACM transactions on intelligent systems and technology, 2013, 4(4): 73. (0) |
[7] | 胡天琨. 基于Android的室内导航定位系统设计与实现[D]. 上海: 东华大学, 2013. http://cdmd.cnki.com.cn/Article/CDMD-10255-1013161665.htm (0) |
[8] | 杨洲, 汪云甲, 陈国良, 等. 超宽带室内高精度定位技术研究[J]. 导航定位学报, 2014(4): 31-35. (0) |
[9] | 周宝定, 李清泉, 毛庆洲, 等. 用户行为感知辅助的室内行人定位[J]. 武汉大学学报:信息科学版, 2014, 39(6): 719-723. (0) |
[10] | 邓中亮, 胡月舟, 袁壮, 等. 多模定位信号采集终端跨时钟域信号同步技术研究[C]//第五届中国卫星导航学术年会. 南京, 2014: 5. (0) |
[11] | 夏林元, 吴东金. 多基站模式下的实时与自适应室内定位方法研究[J]. 测绘通报, 2012(11): 1-6. (0) |
[12] | 田辉, 夏林元, 莫志明, 等. 基于无线局域网信号的城区室内外无缝定位技术[J]. 桂林理工大学学报, 2013, 33(2): 302-306. (0) |
[13] | AZIZYAN M, CONSTANDACHE L, CHOUDHURY R R. SurroundSense:mobile phone localization via ambience fingerprinting[C]//Proceedings of the 15th Annual International Conference on Mobile Computing and Networking. Beijing, China, 2009:261-272. (0) |
[14] | LI Fan, ZHAO Chunshui, DING Guanzhong, et al. A reliable and accurate indoor localization method using phone inertial sensors[C]//Proceedings of the 2012 ACM Conference on Ubiquitous Computing. Pittsburgh, Pennsylvania, 2012:421-430. (0) |
[15] | JIN Yunye, TOH H S, SOH W S, et al. A robust dead-reckoning pedestrian tracking system with low cost sensors[C]//Proceedings of 2011 IEEE International Conference on Pervasive Computing and Communications. Seattle, WA, USA, 2011:222-230. (0) |
[16] | GUO Zhongwen, GUO Ying, HONG Feng, et al. Perpendicular intersection:locating wireless sensors with mobile beacon[J]. IEEE transactions on vehicular technology, 2010, 59(7): 3501-3509. DOI:10.1109/TVT.2010.2049391 (0) |
[17] | JIMENEZ A R, SECO F, PRIETO C, et al. A comparison of pedestrian dead-reckoning algorithms using a low-cost MEMS IMU[C]//Proceedings of IEEE International Symposium on Intelligent Signal Processing. Budapest, Hungary, 2009:37-42. (0) |
[18] | 卞合善. 基于蓝牙4. 0低功耗室内定位研究[D]. 北京: 北京邮电大学, 2015. http://cdmd.cnki.com.cn/Article/CDMD-10013-1015584040.htm (0) |
[19] | 王琦. 基于RSSI测距的室内定位技术[J]. 电子科技, 2012, 25(6): 64-66, 78. (0) |
[20] | 钱伟捷. RSSI测距原理研究[J]. 知识窗:教师版, 2014(7): 47. (0) |