应用于惯性导航的行人转向识别算法的制作方法

文档序号:15732521发布日期:2018-10-23 20:55阅读:315来源:国知局

本发明适用于室内定位领域中的惯性导航,特别是惯性导航中的行人行走方向的判断。



背景技术:

随着移动互联网的发展和智能手机等移动设备的普及,人们对位置服务的需求日益强烈。在室外可以使用GPS,利用高德、Baidu等服务进行定位,但是在室内条件下很少能够获得GPS信号,特别是在没有GPS的大型室内环境下,如何实现室内定位是一个难题。可以通过布置海量的像蓝牙这样的无线信标实现室内定位,但是这种方式成本高,维护困难,过分依赖信标的定位系统不是一个好的定位系统。解决办法可以通过辅助以惯性导航技术,只在关键位置布置信标,做好纠正偏移。

在惯性导航中,判断行人行走方向一直是一个难题。可以使用磁场传感器测量得到的地磁方向作为行走方向,或者使用智能终端携带的陀螺仪进行积分得到用户的旋转方向,但是二者各有缺点。磁场易受外界干扰,通过滤波很难消除干扰;陀螺仪存在积分误差与漂移,且智能终端的传感器精度普遍较低,漂移严重。因此,如何权衡两者的利弊或者提出新的方法显得尤为重要。



技术实现要素:

本发明的目的是为了解决存在磁场干扰、陀螺仪漂移情况下的行人转向判断问题。本发明的滑动窗口捕获行人转向算法,适用于惯性导航中行人转向的判断以及转向角度的计算,具有高识别率、高可靠性、长时间稳定性的特点,同时避免了磁场干扰以及陀螺仪漂移所带来的问题。

通过分析窗口内数据的分布,增长趋势,判断此时行人是否开始转向,正在转向,转向结束,以及转向的方向,转向的角度大小。

技术方案为:

一种应用于惯性导航的行人转向识别算法,其特征在于,本发明通过智能终端携带的陀螺仪进行积分,得出行人在行走过程中的旋转角度。在行人转弯过程中,旋转角度会出现明显的上升沿或者下降沿,通过一个滑动窗口去捕捉这种上升沿或者下降沿,从而判断行人是否发生了转向以及转向角度大概多大,为惯性导航中的转向识别提供辅助。

本发明具体方法实现过程包括:

一、对智能终端的陀螺仪数据进行积分,θ=∑dt*ω

这里θ指陀螺仪积分后的角度,dt指积分时间间隔,ω指陀螺仪角速度。

二、对积分角度进行滑动均值滤波,θ'为滤波后的积分角度,length表示滤波窗口大小,t时刻,k-1表示当前时刻。

三、滤波后的积分角度值赋给滑动窗口。

四、对滑动窗口的两半部分进行分析,window1=window[0:size/2]表示滑动窗口前半部分,window2=window[size/2+1:size-1]表示滑动窗口后半部分,如果两半部分最大值与最小值之差大于阈值,则说明行人行走状态发生改变;如果window1最大值与最小值之差大于window2最大值与最小值之差,说明开始转向,否则,停止转向。

五、对开始转向与停止转向之间的角度进行比较,找出最大值与最小值之差即为转过的角度。

六、对开始转向与停止转向之间的每个窗口进行增长趋势的判断,如果同一增长趋势的窗口个数大于阈值,那么即可判断当前的转向方向。

趋势判断算法,其特征在于:通过对窗口内的数值做差分,判断大于0或者小于0的数值个数是否满足阈值条件,如果满足,则符合增加或者下降趋势。

判断转向起始算法,其特征在于:比较窗口前半部分以及后半部分数据的方差或者峰峰值是否满足阈值条件,从而判断起始时刻是否发生。

具体的说明,如下:

所述的对陀螺仪积分,即用传感器传来的角速度值乘上当前时刻与上一时刻的时间差,再将各个时刻的乘积求和即为当前的角度积分值。

所述的滑动均值滤波,即用当前时刻与前length(表示滤波窗口长度)个时刻的角度积分值的平均值作为当前时刻的角度积分值,从而达到滤波的作用,因为放在口袋中的智能终端设备会随着步伐的发生而出现周期性的摆动,这个步骤非常有必要。

所述的滤波后的积分角度值赋值给滑动窗口指当前的滑动窗口始终代表当前时刻与前size(表示滑动窗口大小)个时刻的滤波后的积分角度值,为判断是否发生转向与停止转向做准备。

本发明的有益效果:

(1)不受磁场干扰带来的影响;

(2)不受陀螺仪漂移带来的影响;

本发明的优点在于,所提出的滑动窗口捕获转向算法不受外界干扰,比如外界磁场,这就避免了在室内环境下磁场变化带来的磁场干扰问题;另外,陀螺仪的积分存在误差与漂移,且智能终端携带的传感器精度普遍较差、漂移严重,而本发明通过滑动窗口捕获的上升沿与下降沿是由行人转向引起的,相比于漂移带来的变化,这种变化更为显著,因此,滑动窗口只会捕获到行人转向,从而避免陀螺仪漂移的问题。

附图说明

图1为滑动窗口检测转向的算法流程图

具体实施方式

本发明通过智能终端携带的陀螺仪进行积分,得出行人在行走过程中的旋转角度。在行人转弯过程中,旋转角度会出现明显的上升沿或者下降沿,通过一个滑动窗口去捕捉这种上升沿或者下降沿,从而判断行人是否发生了转向以及转向角度大概多大,为惯性导航中的转向识别提供辅助。本发明的优点在于,所提出的滑动窗口捕获转向算法不受外界干扰,比如外界磁场,这就避免了在室内环境下磁场变化带来的磁场干扰问题;另外,陀螺仪的积分存在误差与漂移,且智能终端携带的传感器精度普遍较差、漂移严重,而本发明通过滑动窗口捕获的上升沿与下降沿是由行人转向引起的,相比于漂移带来的变化,这种变化更为显著,因此,滑动窗口只会捕获到行人转向,从而避免陀螺仪漂移的问题。

下面将结合说明书附图,对本发明技术方案做进一步的说明。

如图1所示,程序对来自于陀螺仪的角速度进行积分,从而得到积分角度,再对角度进行滑动均值滤波,滤除高频噪声,使角度更加平滑。

将滤波后的角度值赋值给滑动窗口,开始检测行人是否转向。

如果在滑动窗口内,前半部分与后半部分的最值之差的差满足给定的阈值条件,那么此时可以得出一个结论,行人的行走状态发生改变,要么开始转向,要么停止转向。

如果前半部分的最值之差减去后半部分的最值之差大于0,那么,这说明行人开始转向,否则,停止转向。检测到开始转向之后,则需要对接下来的窗口里面的值找出其最值,包括最大值与最小值,还需要对每个窗口的趋势进行判断,判断其为增加还是减少,以此来得出这条沿是上升沿还是下降沿,直到检测到停止转向,那么可以计算出在这个过程中,转过的角度以及转的方向。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1