基于移动智能终端的PDR/iBeacon融合室内定位

2023-04-06 10:10王宇浩王亚雪张腾飞张海平
北京测绘 2023年2期
关键词:罗盘陀螺仪航向

陈 钰 王宇浩 王亚雪 项 赉, 张腾飞 张海平 徐 莹

(1. 山东省国土测绘院, 山东 济南 250013;2. 山东科技大学 测绘与空间信息学院, 山东 青岛 266590)

0 引言

《2022中国卫星导航与位置服务产业发展白皮书》显示,2021年我国卫星导航与位置服务产业总体产值达到4 690亿元人民币,较2020年增长16.29%。随着智能手机、手环等移动智能终端的普及,基于移动终端的室内导航与位置服务需求剧增。调查显示,2021年我国约有1.9亿老年人患有慢性病,通过高精度室内技术构建智慧城市、智慧家庭、智慧医院等各种场景的泛终端互连、协作、安全体系可大大减轻社会的养老压力。另外,火车站、机场、大型地下停车场、会展中心、监狱、隔离病房、化工厂等场所都迫切地需要基于移动终端的室内定位服务[1]。

虽然基于全球卫星导航系统(global navigation satellite system,GNSS)的定位技术已趋于成熟,但GNSS具有天然的脆弱性,即信号弱、穿透力差、易受干扰等,在室内难以提供可靠的定位服务[2-3]。目前,无线通信技术、超宽带、低功耗蓝牙(bluetooth low energy, BLE)、微机电系统、行人航位推算(pedestrian dead reckoning, PDR)等室内定位技术被广泛研究[4]。然而,受成本、精度、可靠性、时效性等限制,目前仍未有一种占据主流地位的室内定位技术。PDR虽是相对定位技术且存在累积误差,但具有连续性好、短时精度高等优点[4]。BLE Beacon具有低成本、低功耗、无须互联网等优点,且能满足普通用户导航定位精度需求,但BLE Beacon定位存在连续性较差等问题[5]。PDR与BLE Beacon具有良好的互补性,故本文拟研究基于移动智能终端的融合PDR/iBeacon的室内定位算法,为基于移动终端的室内定位服务提供技术支持。

PDR技术通过分析行人行走时的运动特征,依据步数、步长、航向来递推相对运动位置,其算法的三个核心部分为步数检测、步长估计、航向估计[4]。其中,航向角是影响PDR误差累积的关键[6]。利用陀螺仪、磁力计和加速度计可以直接或间接地获取与航向相关的信息。陀螺仪精度较低,姿态解算结果易发散。由于室内电磁干扰,电子罗盘精度也难以满足航向角估计精度。有学者提出采用扩展卡尔曼滤波[7]、容积卡尔曼滤波[8]、互补滤波[9-10]等多源传感器融合策略可提高航向角估计精度。指纹定位于2000年在微软的RADAR定位系统[11]中首次提出,是目前较为主流的定位方法之一。BLE Beacon指纹定位一般分为离线阶段和在线阶段[5]。离线阶段是指纹定位的关键阶段,指纹数据采集、建立指纹与构建指纹库都是在离线阶段完成。在线定位阶段,主要是基于匹配或分类的思想实现定位。K近邻法(K nearest neighbor,KNN)[12]、支持向量机(support vector machines,SVM)[13]、随机森林[14]、朴素贝叶斯[15]等方法都可以实现在线定位。相比单一的定位技术,融合定位可能产生更准确的结果,有学者将iBeacon的数据融合在扩展卡尔曼滤波中以校准PDR结果[16-17],Jenny[18]等人指出在小区域内iBeacon和PDR融合定位结果达到米级的精度,但其测试路线较短,定位方法的鲁棒性还未知。

基于PDR和iBeacon指纹定位的互补性,本文研究了基于移动智能终端的融合PDR/iBeacon的室内定位算法,并采用电子罗盘和陀螺仪互补修正航向角,以降低PDR的累积误差。文中第一节方法论介绍了本文采用的PDR定位、iBeacon定位和融合定位方法,第二节通过实测实验评估了融合定位的性能,最后得出一些有效的结论。

1 PDR/iBeacon融合室内定位方法

1.1 行人航位推算

行人航迹推算是一种轻量级的独立定位方法,可提供连续的位置估计,主要分为航向估计、步长估算、步数检测三个部分。基于智能手机的PDR定位原理如图1所示,智能手机内含的加速度计获取各个轴向的加速度,陀螺仪获取三轴角速度,磁力计和陀螺仪输出值计算行人航向信息,最终根据公式(1)推算出移动目标的位移信息。

图1 PDR定位原理

(1)

式中,(N,E)表示点位坐标;Li表示步长;θhi表示航向角。

PDR的作用是确定行人的轨迹信息,而轨迹信息需要知道行人的距离和方向,距离信息通常采用步数来估计,因此对步数进行准确的检测对于室内定位具有非常重要的意义。在PDR算法中,航向估计和步长估计的准确度会直接影响PDR的导航定位精度。下面详细介绍本文采用的航向估计、步长估计和步数检测的算法。

1.1.1航向估计

智能手机内置的电子罗盘和陀螺仪皆可感知手机的姿态变化,都可用于航向角估计。使用陀螺仪确定航向角时,误差会随着时间累积,而电子罗盘感知航向角误差不随时间累积,但人体抖动会使航向角的抖动加大[19]。对此,本文采用卡尔曼滤波融合电子罗盘和陀螺仪来进行航向估计、纠正和优化。

图2给出了具体技术路线图,步骤如下:

图2 航向估计技术路线

步骤一:陀螺仪和电子罗盘数据预处理。

手机在移动时,由于人体的抖动使得陀螺仪存在很大的噪声问题,在进行航向判定时,先对陀螺仪数据进行平滑处理,剔除伪转向点,之后再结合电子罗盘的航向角信息实现互补修正航向。图3显示了平滑前后陀螺仪Z轴角度的变化。从图3可以看出,平滑后角度变小,去处了大部分57°左右的伪转向点。

图3 平滑前后陀螺仪Z轴角速度

步骤二:基于单轴陀螺仪的航向判定。

考虑到行人在室内步行时,特别是在室内走廊行走时,移动方向基本保持一致。即当行人不进行转弯动作时,其步行轨迹可被认为是一条直线,届时陀螺仪的相关数据只在较小的范围内波动,而只在转弯处陀螺仪Z轴会存在较大的角速率。因此,本文采用电子罗盘和陀螺仪互补修正的算法来获得当前时刻的航向[20],融合算法描述如下:

(2)

1)转弯和直线行走识别。本文采用式(3)来识别行人是否处于直线行走状态,设定一个阈值ωth,本文设置ωth=57.296°/s(1Rad/s),ωz低于ωth时,则认为该段时间内行人处于直线行走状态,即turn_flag=0,否则进行转弯行为,即turn_flag=1。

(3)

式中,ωz为陀螺仪的Z轴角度;ωth为陀螺仪的抖动误差。

2)当turn_flag=0,行人该段时间内直线行走,取该段时间内航向角的均值作为初始值,进而进入步骤三。

步骤三:基于卡尔曼滤波的航向优化。

轨迹分割后每一段的运动都是直线,本文采用卡尔曼滤波实时航向优化,削弱直线行走时行人抖动引起的高斯噪声。系统变化规律可以用以下线性状态方程描述:

xt=Ftxt-1+ωt

(4)

式中,Ft表示从系统t-1时刻演化到t时刻的状态转移矩阵;ωt为过程噪声,服从N(0,Q)分布,意义为前后航向角的变化。

将电子罗盘的航向角作为系统的观测值Zt,观测值与系统状态值之间的关系可以用于线性测量方程表示:

Zt=Htxt+Vt

(5)

式中,Ht为测量矩阵;Vt为观测噪声,服从N(0,Q)分布,且与过程噪声互不相关。

1.1.2步长估计

目前较成熟的步长估计法包括线性步长估算模型、非线性步长估算模型。线性模型认为步长和步频成正相关性,而非线性模型提出步长与加速度的最大最小幅值之差呈一定的相关性。综合考虑算法的复杂度、步长估计精度,本文选择最经典的非线性模型之一韦恩伯格步长模型[21],该模型以单步内Z轴加速度的最大值和最小值为特征进行步长估计

(6)

1.1.3步数检测

常用的步数检测算法有ZUPT[22-23]、自相关分析法[24]、峰值探测法[25-27]等。其中峰值探测法依据人行走时加速度周期性的规律,检测加速度连续的两个波峰或波谷进行检步,计算简单,算法复杂度低。为进行步数检测,本文首先对手机加速度计的数据进行预处理,去除重力对加速度计的影响,然后构建低通滤波器对高频噪声进行滤波,最后采用附加时间阈值和加速度阈值去除伪峰值,公式如下[28]:

(7)

1.2 BLE Beacon指纹定位

BLE Beacon指纹定位主要分为离线阶段和在线匹配阶段(图4)。在离线阶段,在已知参考点上采集周围Beacon数据,将采集得到的RSS信息、物理地址(media access control,MAC)以及已知参考点的位置信息构建为指纹点,将大量的指纹点形成离线指纹库。在线匹配阶段,利用智能手机等移动设备采集室内的Beacon信号强度和MAC地址,按照相应的匹配算法估计未知点的位置。本文采用加权K近邻法(weightedK-nearest neighbor,WKNN)算法[29],通过计算实时点与数据库参考点的欧氏距离最近的K个参考点,以距离的倒数作为权重估计待测点的坐标。

图4 iBeacon指纹定位算法流程

基于WKNN的待测点的估计坐标为

(8)

式中,(x,y)beacon表示未知点的坐标;dj表示待测点到匹配到的第j个指纹点的欧几里得距离;(xj,yj)表示第j个指纹点的坐标。

1.3 PDR/iBeacon融合定位

BLEBeacon指纹定位不存在累计误差,但是由于Beacon的最大发射功率仅有10 Hz,在进行连续定位时容易出现数据缺失的问题,且指纹定位方向判别能力较差,容易出现定位跳变的现象。PDR定位结果连续性较强,但存在累计误差,使得定位结果逐渐发散。目前来看,很难有单一的技术在定位精度、稳定性、系统成本方面取得平衡,多技术融合是当前室内定位技术发展的趋势,EKF广泛应用于融合定位领域,其本质是一种最优估计理论。因此,考虑PDR和iBeacon指纹定位的互补性,本文采用EKF实现BLE Beacon/PDR融合定位,技术路线图如图5所示。

图5 iBeacon和PDR融合定位技术路线图

根据EKF原理,基于EKF的BLE Beacon/PDR融合定位的过程如下:

(1)确定滤波器的状态量和量测量。

(2)构建状态方程和量测方程。

(3)状态一步预测。

(4)状态估计。

递推步骤(3)、步骤(4)可解算下一时刻的融合定位结果。

2 实验与分析

2.1 实验设计

为了评估本文采用的航向估计算法及基于EKF的BLE Beacon/PDR融合定位算法的性能,设计了两组实验,实验场所分别位于山东科技大学J6号楼5楼(实验一)和S2号楼2楼(实验二)。如图6和7所示,Beacon沿两侧墙壁对称部署了18个iBeacon设备,实验一采集302个参考点,实验二采集599个参考点,对每个参考点RSSI数据进行采样,采样频率为1Hz。两组实验采用的iBeacon设备如图8所示,为北京四月兄弟科技有限公司的April Beacon EEK-N,所有iBeacon的发射功率设置为0 dBm,广播频率为10 Hz,采用的手机型号为荣耀X10。实验人员水平手持设备沿走廊中间行走,以常速沿着走廊经过转角。实验一共行走100步,60 m,实验二共行走77步,39 m,采用以下4种方案估计室内定位结果。

图6 实验一场所及iBeacon设备布设位置简图

图7 实验二场所及iBeacon设备布设位置简图

图8 iBeacon设备和手机设备

方案1:BLE Beacon指纹定位。

方案2:PDR定位。

方案3:基于电子罗盘和陀螺仪互补修正的PDR定位:在方案2的基础上,采用本文1.1.1中算法对航向角进行纠正和优化。

方案4:基于EKF的BLE Beacon/PDR融合定位,其中航向估计采用基于电子罗盘和陀螺仪互补修正法。

2.2 结果与分析

实验一共行走100步,步数检测算法得到102步,正确率为98.04%,步长为0.581m,实验二共行走77步,步数检测算法得到76步,正确率为98.70%,步长为0.513 m。图9显示了实验一仅使用电子罗盘及电子罗盘与陀螺仪互补修正两种方法的航向估计值,可以看出电子罗盘获取的航向与真实航向相比有较大误差。经统计,误差最大值为11.92°,平均值为2.68°,修正后的航向误差减小,最大值为2.52°,平均值为0.38°。

图9 航向角互补修正前后对比图

图10和图11分别为实验一和实验二4种不同室内定位方案的轨迹。表1为4种室内定位方案误差统计,该误差为以标定的真实坐标为参考,计算的二维坐标误差。由图10可以看出:在实验一中,方案1的iBeacon定位单点的精度和指纹库中参考点的密集度相关,参考点越密集,定位精度越高。方案2出现明显的航向角误差,导致结果严重偏离了真实轨迹,表1显示了其定位误差值从初始的0.204 m不断累积到5.288 m。方案3的平均误差为2.457 m,最大误差为4.781 m,结果表明本文采用的电子罗盘和陀螺仪互补修正PDR定位算法能较好地解决航向角的误差问题,该方案最初的轨迹十分接近真实轨迹,但是随着步长估计误差的累积,逐渐偏离真实轨迹。方案4融合定位误差最小,相比前3个方案,平均误差分别降低了11.75%、36.64%、26.66%,最大误差降低了38.38%、11.64%、2.26%。相似的结论可从图11和表1的实验二的结果图表中获得。

图10 实验一4种室内定位方案的定位轨迹

表1 4种室内定位方案误差统计 单位:m

图11 实验二4种室内定位方案的定位轨迹

图12给出了iBeacon指纹定位、在电子罗盘和陀螺仪互补修正的基础上进行PDR室内定位和EKF融合定位的误差累计分布函数,单PDR定位误差过大未在该图中体现。结果表明,实验一中,本文提出的PDR定位和iBeacon融合定位的定位误差在1.5 m内的概率大于90%,实验二中融合定位的定位误差在0.4 m内的概率为100%,优于PDR和iBeacon单传感器定位精度。

图12 不同室内定位方案的误差累计分布函数

3 结论

为提高室内定位精度,本文顾及PDR和iBeacon指纹定位的互补性,研究了基于移动智能终端的融合PDR/iBeacon的室内定位算法,采用电子罗盘和陀螺仪互补修正航向角法降低了PDR的累积误差的效应。两组实测实验结果表明:采用电子罗盘和陀螺仪互补修正航向角比单采用电子罗盘获取的航向平均误差减小了2.3°,最大误差减小了9.4°。实验一(60 m轨迹)中,使用PDR/iBeacon融合定位算法的平面平均定位误差为1.802 m,相比改进的PDR定位算法和iBeacon定位算法,定位误差分别减小了26.66%、11.75%;实验二(39米轨迹)中,使用PDR/iBeacon融合定位算法的平面平均定位误差为0.560 m,相比改进的PDR定位算法和iBeacon定位算法,定位误差分别减小了11.81%、25.53%。融合PDR/iBeacon的室内定位能降低PDR的误差累积和iBeacon定位的波动性,延长有效定位的时间,满足用户室内定位的需求。

猜你喜欢
罗盘陀螺仪航向
风浪干扰条件下舰船航向保持非线性控制系统
基于EMD的MEMS陀螺仪随机漂移分析方法
知坐标,明航向
考虑几何限制的航向道模式设计
我国著名陀螺仪专家——林士谔
不宜上课
基于干扰观测器的船舶系统航向Backstepping 控制
微机械陀螺仪概述和发展
MEMS三轴陀螺仪中不匹配干扰抑制方法
印尼《罗盘报》之中国国家形象