基于多传感器数据融合的室内定位算法
2015-10-24罗汉文
夏 俊,俞 晖,罗汉文
(上海交通大学电子信息与电气工程学院,上海200240)
0 概述
近年来,移动互联网的快速发展,促进了LBS(Location Based Services)应用服务的兴起,诸如利用位置信息提供导航、跟踪、监测、推送消息、就近购物等应用,其中,LBS应用服务包含两个发展方向:基于室外位置信息应用服务和基于室内位置信息应用服务.针对室外环境,GPS系统、伽利略系统、北斗系统等卫星导航系统已能够方便快捷地提供人员、物品的位置信息;但是,在室内环境中,卫星导航系统的信号衰减非常严重,无法保证与室内的相关定位设备直接通信,因此,以GPS系统、伽利略系统以及北斗系统为代表的卫星导航系统并不适用于室内定位的应用.
室内定位系统主要分为两种类型,即基于基础辅助设施定位系统和全自主定位系统,其中,基于基础实施定位系统需要借助于外部基础设施辅助定位,而全自主定位系统无需借助于外部基础设施,完全依据自身定位设备即可实现自主定位的目的.文献[1]介绍了一种基于Wifi-Fingerprint的室内定位方法,这种方法不仅需要定位环境中有充足的AP,同时,还需要人工采集大量的训练数据,建立Fingerprint指纹数据库,这种方法人力成本比较高.文献[2]介绍了一种结合地标(Landmark)多点相关监测和概率RFID地图技术的室内定位方法,该方法是利用电子标签和读卡器之间的短距离通信,同时利用三边测量法计算出标签的位置信息.此外,还有些室内定位方法是基于红外线、超声波、Bluetooth、UWB、Zigbee技术[3-5].上述定位方法主要是借助于相关基础设施进行定位,使用这类定位算法的定位系统需要部署大量的基础设施,成本比较高,如果定位环境缺乏相关基础设施,则无法实现定位,但这类方法定位具有较高的定位精度.
全自主定位系统最常用的方法就是使用惯性测量单元进行自主导航定位,基于惯性测量单元的惯性导航技术是通过一个起始点,以及前进的方向、速度、时间或计步、步长等信息,推算出当前的位置信息[6].文献[7]中介绍了基于惯性测量单元的定位技术,并且比较了多种可以用于惯性测量单元的传感器节点.文献[8]中介绍了结合惯性测量定位和GPS定位技术的定位系统.基于惯性测量单元的定位方法在短距离内具有较高的定位精度,且不需要建设基础设施,提高了该定位技术的灵活性,但是这类定位方法具有漂移误差和累积误差的缺点.现在已经提出了很多定位算法的设计模式用于改进基于惯性测量单元的误差,文献[9]中提出了一种利用测距的子系统来修正惯性测量单元定位方法所带来的累积误差,定位系统的纠正精度取决于该子系统Landmark位置信息的精度.
在大数据的时代背景下,定位系统的原始数据来源纷繁复杂,因此,本文作者提出了一种基于多传感器数据融合的室内定位算法,该算法利用Multi-IMUs信息协同检测行人的行走姿态,并且利用模糊投票机制融合Multi-IMUs的位置信息;此外,该定位算法结合了室内IWSN,研究可穿戴式Multi-IMUs与IWSN的协同定位,通过卡尔曼滤波实现可穿戴式Multi-IMUs位置信息与IWSN解算的位置信息的融合.
1 定位系统模型
为提高室内定位的精度,本文作者阐述了一种基于Multi-IMUs-IWSN多传感器数据融合的定位算法,该定位系统模型包括:数据采集和数据处理两个部分,图1所示为该定位系统模型.
图1 定位系统模型
数据采集模块主要负责采集与定位相关的数据,其包括:佩戴于人体不同部位的Multi-IMUs模块和部署于室内的少量无线传感器节点组成的IWSN.每个IMU模块由三轴加速计、三轴陀螺仪、三轴磁力计和无线通信模块组成;IWSN中的无线传感器节点预先部署于定位区域且位置信息是已知的,根据IWSN定位原理,通过三角测量法、三边测量法或最小均方误差法解算处于多个传感器通信范围内的位置信息.
数据处理模块主要负责算法的集成与数据融合,Multi-IMUs与IWSN的采集数据通过网关将数据传送至公网并上传到云平台处理中心,云平台根据多传感器数据融合定位算法,对接收到的原始信息进行数据处理,获得处理后的位置信息,并通过外部模块接口,将位置信息显示到不同的显示模块.
2 定位算法
本节介绍了基于Multi-IMUs-IWSN多传感器数据融合的室内定位算法.Multi-IMUs佩戴于人体不同部位,则每个IMU的采集数据之间存在一定的差异性,利用这种差异性,不仅可以判断行走姿态,而且可以通过投票机制(Voting Scheme)融合多个IMU的位置信息,降低随机误差;另外,由于IMU存在漂移误差和累积误差,因此,结合IWSN辅助定位,并通过卡尔曼滤波算法融合Multi-IMUs的位置信息和IWSN解算出的位置信息以降低累积误差和漂移误差.
2.1 基于Multi-IMUs姿态判别
由于实际定位系统中,行人的行走姿态各异,诸如跌倒、拐弯、正常直线行走、原地踏步、原地旋转等行走姿态都会影响定位的结果.在正常行走的情况下,利用步伐数解算位置信息的方法比直接对加速度进行积分解算位置信息的方法的定位精度要高,但该方法具有混淆原地踏步与正常行走的位置信息的缺陷.
由于本系统的IMU模块具有如上所述的缺点,因此,本室内定位算法提出了一种判断原地踏步与正常行走的判别机制.该IMU模块可以获得3个方向上的加速度信息,通过实验表明,正常行走与原地踏步这两种不同的行走姿态的各个方向上的加速度的权重比是不一样的,例如,如果行人是正常行走,前向加速度占整个加速度的分量是最大的,而如果行人是原地踏步,则重力方向上的加速度占整个加速度的分量是最大的.基于这样的事实,根据实验,设定各个方向上的阈值,通过该阈值来区分原地踏步与正常行走这两种姿态;而人是否跌倒,则根据IMU模块提供的四元数解算出来的角度信息来判断.
2.2 Multi-IMUs数据融合
本小节介绍了利用模糊投票机制融合部署在人体不同部位的Multi-IMUs的数据,下面首先介绍模糊投票机制原理,然后再介绍Tri-IMUs的数据融合方法.
2.2.1 模糊投票机制
投票机制分为精确性投票机制和非精确性投票机制[10],由于噪声的存在,各个输入量之间存在差异,因此,无法使用精确性投票机制融合多传感器的数据;而非精确性投票机制则允许每个输入量之间存在一定的偏差,但输入量之间的偏差需满足一定的阈值,该阈值被称为一致性阈值门限.非精确性投票机制的阈值分为固定阈值与动态阈值,动态阈值允许用户设定一定的范围,在实现上,通过权重机制实现动态阈值的选取.
模糊投票机制是非精确性投票机制中的一种重要方法.模糊投票机制不仅充分利用动态阈值,同时,还考虑到输入量的不确定性.图2所示为一个三输入的模糊投票机制的系统架构.
图2 三出入模糊投票机制
模糊投票机制主要包含如下3个步骤:
步骤一:计算任意两个输入xi和xj之间的距离dij,依据图3所示的等级匹配模型,确定每个距离dij的等级(small,medium和large),同时,定义每个距离的模糊元函数μ如公式(1):
图3 距离等级划分模型
步骤二:根据模糊准则(表1),判断每个输入量的置信度,置信度集合为{Vhigh,High,Medium,Low,Vlow}.
步骤三:量化每个输入量xi的置信度,根据镜像准则,将置信度集合权重分别量化为:
然后,根据公式(2)确定每个输入量的权重值wi.
表1 模糊投票准则
步骤四:计算模糊投票系统的输出y:
2.2.2 Tri-IMUs基于投票机制数据融合
利用模糊投票机制融合Multi-IMUs模块的数据,首先需要计算输入量的距离矩阵,模糊投票机制系统输入量为3个方向上的多个加速度变量,根据模糊投票机制基本原理,首先,计算3个加速度变量之间的距离;其次,统计每个方向上加速度的最大值与最小值,根据对称原理,确定每个方向上的等级划分参数(p,q,r),根据等级划分模型以及模糊元函数计算公式,确定每个距离的等级以及模糊元函数的值;然后,根据模糊投票机制准则确定各个方向上每个加速度的置信度,并且根据置信度量化公式,计算出每个加速度的权重;最后,根据每个IMU的加速度权重对其输出的位置信息加权处理,获得输出坐标信息.
2.3 Multi-IMUs与IWSN数据融合
实验表明,基于Multi-IMUs定位的累积误差与行走距离成正比例关系,为了减累积误差,结合室内IWSN解算的位置信息,使用卡尔曼滤波算法进行数据融合.
2.3.1 卡尔曼滤波模型
卡尔曼滤波是一种贝叶斯估计技术.在提供初始估计的基础上,卡尔曼滤波通过递归运算,用先验值和最新观测数据中得到新值的加权平均来更新状态估计.相比之下,非递归的估计算法没有先验估计,估计结果由全部观测数据计算而来.在实时应用中,如导航系统,递归算法计算效率更高,因为在每次迭代中只需处理新的观测数据,而旧的观测数据可以丢弃.
图4给出了卡尔曼滤波的5个核心要素:状态向量及其协方差、系统模型、观测向量及其协方差、观测模型和滤波算法.图4中,实线表明数据流一直有,虚线表明数据流只在某些应用中有.
卡尔曼滤波算法主要包含以下步骤:
(1)计算状态转移矩阵Φk-1;(2)计算系统噪声协方差矩阵Qk-1;(3)状态向量估计值的传递,从;(4)误差协方差矩阵传递,从到Pk;(5)计算观测矩阵Hk;(6)计算观测噪声协方差矩阵Rk;(7)计算卡尔曼增益矩阵Kk;(8)构建观测向量zk;(9)状态向量估计值的更新,从;(10)误差协方差矩阵更新,从
图4 卡尔曼滤波要素
2.3.2 Tri-IMUs-IWSN基于卡尔曼滤波算法数据融合
根据卡尔曼滤波原理以及实际定位系统,可确定该系统的系统模型为:
另外,该系统的观测值与系统的状态量满足如下模型xk=xk+rk,其中,rk表示观测噪声,且 rk~N(0,σ2r),其协方差矩阵为:
卡尔曼滤波算法融合数据,需要知道初始值以及相关噪声的协方差矩阵,因此,通过预先的实验获得相关噪声的标准方差,其中,σa=0.1 m/s2,σv=0.1 m/s,σr=5 m.
该定位算法基于卡尔曼滤波算法的数据融合分为两步:1、状态预测;2、状态更新.
状态预测:根据卡尔曼滤波算法标准方程,得到系统的预测估计协方差以及预测状态估计方程分别为:
状态更新:计算后验状态估计值以及协方差矩阵,分别为:
其中,Kk为卡尔曼增益,其值为:Kk=Pk|k-1·(Hk)T·(HkPk|k-1(Hk)T+Rk)-1,Hk一般取单位矩阵.
3 仿真结果与分析
3.1 仿真实验
本文作者提出一种基于Multi-IMUs与IWSN数据融合的室内定位算法,为了评价该算法在检测人体姿态和改进累积误差上的有效性,采用Matlab进行仿真实验,分析算法的性能.本实验相关仿真参数设置如下:假设环境为20 m×20 m的室内环境,行走轨迹为凸四边形,其中正常行走步伐为85步,原地跺脚的步伐数为10步,使用可穿戴式IMU设备为3个,IWSN可以计算出10个点的位置信息.
实验的平均定位误差计算公式如下:
图5 参考路径及IWSN解算参考点
3.2 实验结果分析
基于4.1中所述的实验环境,本实验分别构建了不同传感器信息下的轨迹信息,其中,Single-IMU、Multi-IMUs以及Multi-IMUs-IWSN的轨迹如图6所示.由于该算法引入了IWSN进行误差纠正的机制,因此,在理论上,该算法的解算出的轨迹误差应该比没有引入IWSN误差纠正机制的算法的轨迹误差小,从图6可以看出,在实际的实验中,Multi-IMUs-IWSN的轨迹更加接近真实轨迹,而单纯使用IMU定位时,则会产生较大的漂移,从图6可以看出,最大漂移误差达到了9.47 m左右;此外,由于佩戴于不同部位的IMU会受到人体的动作的影响,因此,其根据各个IMU的观测数据测绘出的行走轨迹会产生比较大的误差波动,图6中的实验结果也证明了确实存在这样的现象;而如果综合考虑每个IMU的信息,利用模糊逻辑决策机制,统筹考虑不同部位的动作,从而可以降低误差的波动,使得轨迹更加平滑,图6的实验结果表明,基于Multi-IMUs算法得到的轨迹波动程度比基于Single-IMU得到的轨迹波动程度要小.
根据公式(11),统计出基于Single-IMU、Multi-IMUs和Multi-IMUs-IWSN 3种定位方法的误差,误差结果的盒状图如图7所示.根据图7可知,Single-IMU的平均误差集中在6.45 m左右,而Multi-IMUs的平均误差则集中在5.45 m左右,因此,通过多个可穿戴IMU的数据融合,不仅可以平滑轨迹,同时在一定程度上也减小定位误差,其降低的幅度能达到1 m左右;此外,结合室内IWSN解算的位置信息,可以将Multi-IMUs定位的平均误差降低到0.5 m左右.实验的结果表明,所提出的基于Multi-IMUs-IWSN多传感器数据融合的定位算法一方面可以平滑轨迹,另一方面,可以降低累积误差,有效地提高了整体的定位精度.
图6 不同算法的定位路径
图7 3种算法的定位误差
4 结束语
由于单个惯性传感器定位方法存在较大的漂移误差和累积误差,为了提高利用惯性传感器件进行室内定位的精度,研究了一种基于多传感器数据融合的室内定位算法,通过模糊投票机制融合多个可穿戴式的IMU设备的输出信息,并且利用卡尔曼滤波算法融合可穿戴式IMU和IWSN的数据,估算行人的位置信息.仿真实现结果表明,所提出的基于多传感器数据融合的室内定位算法改善了单个传感器定位的结果,并且,结合IWSN辅助Multi-IMUs定位,改善定位的漂移效应,提高整个定位系统的有效性.此外,本文作者研究的算法的数据类型主要是位置信息和加速度信息,而可穿戴式IMU还具有四元数等信息,因此,提取四元数的相关数据特征,实现多种数据和多传感器之间的信息融合是今后的研究重点.
[1]FARSHAD A,LI J,MARINA M K,et al.A microscopic look at WiFi fingerprinting for indoor mobile phone localization in diverse environments:International Conference on Indoor Positioning and Indoor Navigation[C].Montbeliard-Bd fort:IEEE,2013.
[2]BEKKALI A,SANSON H,MATSUMOTO M.RFID indoor positioning based on probabilistic RFID map and kalman filtering:Third IEEE International Conference on Wireless and Mobile Computing,Networking and Communications[C].White Plains:IEEE,2007.
[3]LIU H,DARABI H,BANERJEE P,et al.Survey of wireless indoor positioning techniques and systems[J].Systems,Man,and Cybernetics,Part C:Applications and Reviews,IEEE Transactions on,2007,37:1067-1080.
[4]GU Y,LO A,NIEMEGEERSI.A survey of indoor positioning systems for wireless personal networks[J].The IEEE Communications Surveys & Tutorials.2009,11(1):13-32.
[5]MAHTAB HOSSAIN A,VAN H N,JIN Y,et al.Indoor localization using multiple wireless technologies:IEEE Internatonal Conference on Mobile Adhoc and Sensor Systems(MASS)[C].Pisa:IEEE,2007.
[6]COLLIN J,MEZENTSEV O,LACHAPELLE G.Indoor positioning system using accelerometry and high accuracy heading sensors:Proc of ION GPS/GNSS2003 Conference[C].Portland:Navigation,2003.
[7]RANDELL C,DJIALLIS C,MULLER H.Personal position measurement using dead reckoning:2012 16th International Symposium on Wearable Computers IEEE Computer Society[C].White Plains:IEEE,2003.
[8]BEAUREGARD S,HAASH.Pedestrian dead reckoning:A basis for personal positioning:Proceedings of the3rd Workshop on Positioning Navigation and Communication[C].New York:IEEE,2006:27-35.
[9]JIN Y,MOTANI M,SOH W,et al.SparseTrack:Enhancing Indoor Pedestrian Tracking with Sparse Infrastructure Support:Proc.of IEEE INFOCOM′10[C].San Diego:IEEE,2010:1-9.
[10]LATIF SHABGAHI G,HIRST A J.A fuzzy voting scheme for hardware and software fault tolerant systems[J].Fuzzy Sets and Systems,2005,150(3):579-598.