云端步长估计方法与流程

文档序号:11249047阅读:835来源:国知局

本发明涉及行人航位推算领域,具体地,涉及一种云端步长估计方法。



背景技术:

pdr(pedestriandeadreckoning,行人航位推算)是一种行人航位推算的定位技术。根据人行走的每一步距离和行走方向推算出下一个定位位置,非常适合在卫星信号中断的环境中(比如商场,医院)继续定位,提升定位的有效率。该技术主要利用手机内置mems传感器(三轴陀螺仪,三轴加速度计和三轴磁传感器),通过传感器数据融合估计出行人方向以及行人每一步步长,可以实现室内定位。由于每个人的身高,体重等不同,使用统一的步长模型无法准确估计出不同人的步长,使得pdr定位精度大大降低。目前步长估计的方法主要是通过线性拟合的方法估计出步长与步频的线性关系。但这种通用的线性模型无法适用于所有人。本发明主要通过手机采集每个人的步频以及运动能量,发送到云端,在云端训练出适用于手机持有者的步长模型。

现有技术是利用行人的步频估计出统一的步长模型,但是此种方法并不适用于所有人,主要原因是每个人的身高,体重,行走步态都不一样,没法用统一的模型去适配所有人。



技术实现要素:

针对现有技术的缺点,本发明提出了一种云端步长估计方法,利用智能手机上低成本的加速度计和云端服务器,解决了步长估计的技术问题。

本发明采用的技术方案是:

一种云端步长估计方法,其特征在于,包括以下步骤:

步骤s1,手机的加速度计测量出加速度;根据计步器原理计算出每一步之间的时间间隔,即步频;计算出1秒时间内加速度计标准差及加速度计方差;

步骤s2,根据卫星导航系统的定位位置计算出两点之间的距离;

步骤s3,根据计步器原理计算出任意两个时间间隔内检测的步数;计算出两个时间间隔内的平均步长;

步骤s4,手机将步频、加速度计方差和平均步长通过网络发送到云端服务器;云端服务器计算出步长模型,并将步长模型的参数发送给手机。

进一步地,所述步骤s1中加速度计标准差及加速度计方差通过滑动窗口计算。

进一步地,所述加速度计标准差为s,计算公式如下:

其中,axi,ayi和azi分别代表加速度计测量出的x轴,y轴和z轴的加速度;μ为地球重力加速度,取值9.8m/s2;n表示加速度计测量出的加速度的数量;

所述加速度计方差为s2

进一步地,所述步骤s2中卫星导航系统包括gps或者北斗。

进一步地,所述步骤s2中两点分别为p1和p2,p1点经纬度为(n1,e1),p2点经纬度为(n2,e2),p1点和p2点之间的距离计算公式如下:

其中,a=6378137.0,b=6356752.3142,dis为p1点和p2点之间的距离。

进一步地,p1点为t1时刻定位位置,并且计步器输出的步数为l1;p2点为t2时刻定位位置,并且计步器输出的步数为l2;所述步骤s3中平均步长的计算公式如下:

其中,stride为平均步长。

进一步地,所述步骤s4中网络包括wifi、2g、3g或者4g,云端服务器利用接收到的数据通过梯度下降算法计算出步长模型。

进一步地,所述步长模型的计算公式如下:

y=a0+a1*f+a2*f2+a3*v+a4*v2+a5*e-f

其中f表示步频;v表示加速度计方差;a0、a1、a2、a3、a4、a5是通过梯度下降算法得出的系数。

进一步地,所述平均步长的计算公式替换如下:

本发明有益效果在于,计算出适配于不同人的步长估计模型,最终达到步长估计的精度误差小于5%。

附图说明

图1是本发明技术方案图。

具体实施方式

下文中,结合附图和实施例对本发明作进一步阐述。如图1所示,本发明将手机通过低通滤波采集的特征数据步频,加速度计方差以及平均步长通过网络发送到云端服务器,在云端服务器通过梯度下降算法估计出步长模型,然后将步长模型参数发送给手机,实现云端服务器一体化,具体步骤如下:

步骤s1,手机的加速度计用来测量加速度。当用户处于走路或者跑步状态下,随着人体躯干或者手臂摆动而产生规律性的信号。通过传统的计步器原理可以计算出每一步之间的时间间隔,即步频;通过滑动窗口计算出1秒时间内加速度计标准差s及加速度计方差(加速度计方差为s2),其中加速度计标准差s计算公式如下:

其中,axi,ayi和azi分别代表加速度计测量出的x轴,y轴和z轴的加速度;μ为地球重力加速度,取值9.8m/s2;n表示加速度计测量出的加速度的数量。

步骤s2,根据卫星导航系统(gps或者bd(北斗))的定位位置计算出两点p1和p2之间的距离,假设p1点经纬度为(n1,e1),p2点经纬度为(n2,e2),p1点和p2点之间的距离计算公式如下:

其中,a=6378137.0,b=6356752.3142,dis为p1点和p2点之间的距离。

步骤s3,根据计步器原理计算出任意两个时间间隔内检测的步数,如果在t1时刻定位位置为p1点,并且计步器输出的步数为l1;在t2时刻定位位置为p2点,并且计步器输出的步数为l2,那么可以计算出在t1和t2时间间隔内的平均步长,计算公式如下:

其中,stride为平均步长。

可选地,所述平均步长的计算公式替换如下:

可选地,所述平均步长的计算公式替换为,根据计步器计算出步频,利用最小二乘拟合出步频与平均步长的线性关系。

步骤s4,在手机上将步频、加速度计方差和平均步长通过手机网络(wifi、2g、3g或者4g)发送到云端服务器。云端服务器利用接收到的数据通过梯度下降算法计算出步长模型,并将步长模型的参数发送给手机,步长模型计算公式如下:

y=a0+a1*f+a2*f2+a3*v+a4*v2+a5*e-f

其中f表示步频;v表示加速度计方差;a0、a1、a2、a3、a4、a5是通过梯度下降算法得出的系数。

在本发明中,利用c语言进行算法实现,并通过测试数据处理验证了算法的性能。

本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

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