APP下载

基于手机多传感器数据融合的测步长算法

2018-11-28陆文英胡海荣

电子科技 2018年12期
关键词:加速度计步长滤波器

陆文英,胡海荣

(杭州电子科技大学 计算机应用研究所,浙江 杭州 310018)

在室内环境中,全球定位系统(Global Position System,GPS)难以提供高精准的位置信息,因此室内定位技术具有重要的研究意义[1]。测量步长是室内定位研究中的一个基本环节,越来越多的学者开始研究测步长方法。文献[2~4]用统计方法分析出步幅和身高、步频的关系,估算出步长。文献[5]通过图像处理的方法,分析出位置关系,从而得出步长。文献[6]通过预先设置步长,然后根据无线网络得到的位置信息在线调整步长。上述方法存在成本高、计算复杂、难操作的问题。文献[7~8]将传感器固定在脚上,通过阈值判断脚的静止和摇摆阶段,对摇摆阶段水平方向上的加速度数据直接二次积分求得步长。文献[9]将传感器固定在腰上,通过建立人体行走模型,对加速度传感器获得的垂直方向上的数据进行积分得到位移。然而,上述研究成果主要针对的是高精度的传感器,需要额外的硬件设备。

目前,智能手机集成了多种传感器,测量成本低、易操作,且不需要额外的硬件设备,因此越来越多的学者开始将手机传感器运用于惯性测量领域。当前很多研究都是采用手机传感器数据进行计步,而对其进行步长测量的研究还比较少,为此本文基于手机传感器设计了一种多传感器数据融合的测步长算法,该算法通过建立人体行走模型,采取几何运算得到步长。为了提高测量结果的准确性,本文把对初始数据进行了误差修正,将其从手机坐标转换成惯性坐标,然后利用互补滤波器融合加速度计和陀螺仪两种传感器数据,对因手机抖动产生的轨迹偏移角进行了角补偿操作,最后进行步长计算。实验结果表明,该算法可以有效地提高步长数据的测量准确度,为进一步研究室内定位提供了低成本、高可靠性的方法。

1 人体行走模型

人体行走过程主要包括骨盆、躯干、手臂三部分运动组成,腿部躯干向前推进,促使盆骨产生向前的位移,即迈出一步[3]。行走的过程中,骨盆会产生上下重心位置偏移。以人体行走单步为例,通过建立人体行走的模型,可以分析出步长和腿部躯干长度、骨盆重心下降位移之间的几何运算关系。具体的数学运动模型如图1所示。

图1 人体行走数学模型

图1中的L代表腿长,空心圆代表骨盆的位置,H代表下降的的高度,D代表步长。可以清晰地看到,在完成一步时,骨盆有明显的重心偏移。以腰部为骨盆的基准位置计算,根据腰部的重心位移变化,就可以估测单步行进的步长。通过几何运算可得,如式(1)所示

(1)

2 测步长算法的原理

根据上述行走模型可知,只要准确计算出重心下降的位移就可通过式(1)得出步长D。在行走过程中,可以通过手机加速度传感器得到重心下降过程中的加速度,然后对加速度进行二次积分便可得重心下降的高度,但是存在很大的误差。造成误差的原因有3个方面[10-11]:第一,手机传感器计算的数值是相对手机坐标系而言,不处于真实的世界坐标系中;第二,手机传感器自身会有一些固有的线性漂移误差;第三,在行走过程中,放在兜里的手机会进行抖动,会对传感器计算的数据产生干扰。为了最大限度地消除这些误差,本文提出了一种基于手机多传感器融合的测步长算法。涉及的主要内容包括以下几方面。

2.1 步态周期划分

在走路过程中,落脚的瞬间在垂直方向会产生一个加速度极小值,之后地面产生的反作用力会使得垂直加速度不断增大,而当全脚掌着地(站立)的时候会达到最大值,随着继续往前迈步,脚后跟离开地面(抬脚),身体重心下降,垂直加速度逐渐减小,当脚尖蹬地的时候由于地面反作用力会产生一个小波峰,如图2所示。

图2 手机传感器y轴加速度

通过观察发现,手机传感器在垂直方向上的加速度会呈现明显的周期变化, 这与走路时人体的运动状态是一致的。走路时,会有落脚、站立、抬脚3个比较明显的动作,这和图2中标注的3个特殊点一一对应。在测量步长之前,首先要计算得到每一步的抬脚点和站立点,为后续计算重心位移提供积分区间。此外可以将身体重心的位置变化抽象为简谐运动,落脚点和站立点的实际速度为零,可用于后续的速度误差纠正。

2.2 惯性坐标系转换

手机传感器读出的数据是相对于手机坐标系而言的[12],如图3(a)所示。以屏幕正中心为原点,窄侧一边为x轴的正方向,长边为y轴,垂直于手机内侧向外的方向是z轴。图3(b)为可描述客观世界物体运动的惯性坐标系,可以看出两者之间存在很大的差异。为得到准确的重心下降加速度,需要将传感器加速度数据转换成惯性坐标系下的数值。

图3 坐标系示意图

(2)

(3)

2.3 多传感器数据融合角补偿计算

在步行过程中,放在兜里的手机会反复进行抖动,使得传感器数据偏离真实数据,产生一定的累积误差,造成测量数据不准确。为了消除手机抖动产生的数据偏差,需要计算手机抖动时偏离正常轨迹的偏移角。陀螺仪存在低频漂移现象,在短时间内可以提供较为准确的值,但积分后受低频运动干扰会产生较大误差;加速度计主要受高频运动干扰,测量值累积误差小,但初始值不准确[13]。可以利用陀螺仪和加速度计的优点,把两者结合在一起,设计出互补型滤波器实现这两种传感器数据的融合,从而计算出较为准确的瞬时偏移角。这种互补滤波器[14]可以同时滤去高频和低频的干扰,具体实现模型如图4所示。

图4 互补滤波器模型

从频域上分析,假设θ是轨迹偏移的真实角,加速度计受到低频信号k1的干扰,测量角变为θ1=θ+k1,为了消除低频噪声信号k1的干扰,系统经低通滤波器G1除噪;陀螺仪测量时引入了高频噪声信号k2,测量角为θ2,经过高通滤波器G2可除去高频噪声k2的影响。低通滤波器和高通滤波器的传递函数分别设计如式(4)和式(5)所示

(4)

(5)

互补滤波器的传递函数需要满G1(s)+G2(s)=1,加速度计和陀螺仪经过系统滤波后,数据融合可算出真实偏移角的估计值。从系统传递函数可知,适当调整权重因子K,可控制系统滤波器的截止频率,从而得出比较准确的偏移角θ′。

(6)

由θ2(n)=θ′(n-1)+ω(n)dt,可得系统时域表达式如式(7)所示。在测量步长时,对应手机传感器测量的数据来看,在选定系统采样频率的时候,只要调整确定时间常数ξ,就可实现加速度计和陀螺仪两者的数据融合,从而得计算出较为准确的偏移角θ′。

(7)

2.4 步长位移计算

根据牛顿第二定律,对传感器的加速度数值进行二次积分可得位移值[15]。基于上述的准备工作,对于手机放在兜里的场景,将手机传感器采集的y轴加速度数据经过惯性坐标转换后,进行角补偿操作,最后对得到的加速度数据二次积分就可得到每一步较为准确的重心下降高度H。重心下降速度计算如式(8)所示。

(8)

其中,n代表这一步有n个采样点,a(i)是第i个采样点在垂直方向上的加速度,Δt是采样点的时间间隔,v(0)表示每一步初始的速度,v(n)是每一步结束时的速度。由此可得,重心下降高度H。传感器在计算重心下降位移时,人体步行呈上下反复运动,重心最低和最高位置的速度为零,因此采用用零速率更新算法[16]来避免加速度积分带来的累计误差。重心下降位移的具体计算如式(9)所示,把计算的重心下降高度代入式(1),就可以计算出步长位移D。

(9)

2.5 误差校正

误差校正分为两个方面:水平校正和消除重力影响。水平校正是为了消除传感器零点漂移产生的影响,通常的做法是用传感器测量数值减去静止时相应的测量值[17]。消除重力影响是用测量值减去重力加速度所产生的加速度分量。

3 算法实现和实验结果分析

3.1 算法实现

为了整合算法上述实现步骤,基于上述算法原理,本文在手机小米4上设计了测试原型系统。算法的实现架构如图5所示。

3.2 实验数据分析

为了测试本文提出的测步长算法,采样频率取50 Hz,时间常数取0.7,真实距离的参考值为30 m。分别做6组测步长实验,实验结果如表1所示。

表1 实验结果数据表

利用本文算法分别计算出行进中的每一步距离,通过步长累加就可以得出行进的总位移。从表1实验结果数据来看,该算法计算的实测距离数据误差基本上控制在5%之内,每一步的步长数据呈现平稳变化。

为了测试传感器数据融合进行角补偿对测量步长数据的有效性,接下来的实验中,将传感器采样频率统一设为50 Hz,分别采取无角补偿算法和有角补偿算法测量步长数据。设置参考距离为10 m,20 m,30 m,40 m,50 m,60 m,70 m,80 m,90 m,100 m,分别反复测量10次,取测量值的平均值和实际参考距离做误差分析,实验结果如图7所示。

图6 误差比较

从图6中可以看出,带有角补偿的算法的测量数值误差基本控制在5%之内,而且测量误差走势较为平稳;没有进行角补偿的算法的测量值的误差范围较大,而且有时会出现多个异常点,呈现不规律的误差走向。实现结果表明,多传感器数据融合采取的角补偿计算对提高测量步长的精准度具有一定的贡献。

4 结束语

本文利用手机集成的多传感器设计了测步长算法,易操作且准确度高。通过搭建行走几何模型、角补偿处理、误差校正等方法消除了手机测量步长数据时存在的一定误差。实验结果表明,该算法测量的步长与真实数据的误差在5%之内,可以满足室内定位的需求。

猜你喜欢

加速度计步长滤波器
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
基于加速度计的起重机制动下滑量测量
从滤波器理解卷积
开关电源EMI滤波器的应用方法探讨
基于遗传算法的加速度计免转台标定方法
常温下硅微谐振加速度计零偏稳定性的提高
基于Canny振荡抑制准则的改进匹配滤波器
基于TMS320C6678的SAR方位向预滤波器的并行实现
基于逐维改进的自适应步长布谷鸟搜索算法
四加速度计组合的测试方法研究