本发明实施例涉及导航技术领域,尤其涉及一种行人航迹推算方法、导航方法及装置、手持终端及介质。
背景技术:
行人航迹推算(pedestriandeadreckoning,pdr)是利用手机等手持终端的惯性传感器计算人的步长和方向,进行行人航迹推算,其推算轨迹除了可以应用于定位场景中之外,还可以应用于众包的轨迹恢复来构建室内指纹。
目前,pdr通常将手机惯性传感器的y轴作为行人前进方向,但是经常遇到手机方向和行人方向不一致的场景,因此pdr推算的航向会出现偏差。
技术实现要素:
本发明实施例的一个方面,提供了一种行人航迹推算方法、装置、手持终端及介质,以提高行人航迹的方向推算准确度。
本发明实施例的另一方面,还提供了一种行人导航方法、装置、手持终端及介质,以提高行人导航准确度。本发明实施例提供了一种行人航迹推算方法,包括:获取手持终端对应的每一步的三轴加速度;基于获取到的手持终端对应的每一步的三轴加速度,计算所述手持终端当前姿态的旋转矩阵;将获取到的三轴加速度按照计算得到的旋转矩阵旋转到水平,得到水平方向的二维加速度;提取所述二维加速度的特征向量,选取特征值大的特征向量作为行人航向。
可选地,在计算手持终端当前的旋转矩阵之前,还包括:确定所述行人在预设时间窗口内直行。
可选地,当在所述预设时间窗口的行人航向均值小于预设角度阈值时,确定所述行人在预设时间窗口内直行。
可选地,所述角度阈值的范围为±15°之间。
可选地,所述获取手持终端对应的每一步的三轴加速度,包括:识别每一步的波峰和波谷,选取测量得到的加速度峰值大于预设的峰值阈值,且相邻两个峰值之间的时间差大于预设时间阈值的加速度峰值作为相应步的候选加速度参与计算手持终端的姿态。
可选地,所述获取手持终端对应的每一步的三轴加速度,包括:识别每一步的波峰和波谷;基于识别出的每一步的波峰和波谷,区分出奇数步和偶数步;对于奇数步和偶数步,选取测量得到的加速度峰值分别大于预设的相应的峰值阈值,且相邻两个峰值之间的时间差分别大于预设时间阈值的加速度峰值作为相应奇数步和偶数步的候选加速度,分别参与计算手持终端的姿态。
本发明实施例还提供了一种行人导航方法,包括:定位行人当前位置,包括采用上述任一实施例所述的行人航迹推算方法确定行人航向;基于获取到的目标位置和所述定位得到的行人当前位置,进行导航。
本发明实施例还提供了一种行人航迹推算装置,包括:加速度获取单元,适于获取每一步的三轴加速度;姿态计算单元,适于基于所述加速度获取单元获取到的每一步的三轴加速度,计算手持终端的姿态矩阵;旋转单元,适于将测量得到的三轴加速度按照解得的姿态矩阵旋转到水平,得到水平方向的二维加速度;
特征向量提取单元,适于提取所述二维加速度的特征向量;航向确定单元,适于选取特征值大的特征向量作为行人方向。
可选地,所述行人航迹推算装置还包括:直行判断单元,适于确定所述行人在预设时间窗口内是否直行,并在确定在预设时间窗口内直行时,触发所述姿态计算单元进行计算。
可选地,所述直行判断单元,适于在所述时间窗口的行人航向均值小于预设角度阈值时,确定所述行人在所述时间窗口内直行。
可选地,所述角度阈值的范围为±15°之间。
可选低,所述加速度获取单元包括:第一识别子单元,适于识别每一步的波峰和波谷;第一处理子单元,适于选取测量得到的加速度峰值大于预设的峰值阈值,且相邻两个峰值之间的时间差大于预设时间阈值的加速度峰值作为候选加速度输入所述姿态计算单元。
可选地,所述加速度获取单元包括:第二识别子单元,适于识别每一步的波峰和波谷;区分子单元,适于基于识别出的每一步的波峰和波谷,区分出奇数步和偶数步;第二处理子单元,对于奇数步和偶数步,适于选取测量得到的加速度峰值分别大于预设的相应的峰值阈值,且相邻两个峰值之间的时间差分别大于预设时间阈值的加速度峰值作为相应奇数步和偶数步的候选加速度分别参与计算手持终端的姿态。
本发明实施例还提供了一种手持终端,包括惯性传感器和上述任一实施例所述的行人航迹推算装置;所述惯性传感器包括三轴加速度计。
可选地,所述惯性传感器还包括以下至少一种:陀螺仪、磁力计、脉冲计,各惯性传感器的输出作为所述姿态计算单元的输入。
本发明实施例还提供了另一种手持终端,包括:定位模块,所述定位模块适于定位行人当前位置,所述定位模块包括上述任一实施例所述的行人航迹推算装置;导航模块,适于基于获取到的目标位置和所述定位模块定位得到的行人当前位置,进行导航。
本发明实施例还提供了另一种手持终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述任一实施例所述方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述任一实施例所述的行人航迹推算方法的步骤。
采用本发明实施例,并非将行人的前向方向简单等同于手持终端的前向方向,而是根据手持终端对应的每一步的三轴加速度,计算所述手持终端的姿态矩阵,进而将获取到的三轴加速度按照解得的姿态矩阵旋转到水平方向,得到水平方向的二维加速度,并提取所述二维加速度的特征向量,选取特征值大的特征向量作为行人航向,从而可以如实反映手持终端姿态与行人之间的关系,故而可以提高行人航向推算的准确度。
进一步地,在确定所述行人在预设的时间窗口内直行时,才计算手持终端的姿态矩阵,可以避免单次测量误差导致误判,故可以进一步提高所推算得到的行人航向的准确性。
进一步地,在所述预设时间窗口的行人航向均值小于预设角度阈值时,确定所述行人在预设时间窗口内直行,所述角度阈值的范围为±15°之间,既可以避免范围太大导致误差太大,也可以避免设置太小导致触发行人航向推算的次数太少而漏判,因而可以进一步提高行人航向推算的准确度。
进一步地,识别每一步的波峰和波谷,选取测量得到的加速度峰值大于预设的峰值阈值,且相邻两个峰值之间的时间差大于预设时间阈值的加速度峰值作为候选加速度参与计算手持终端的姿态,可以减少噪声干扰,使得计步更加准确,进一步提高行人航向推算的准确度。
进一步地,通过识别每一步的波峰和波谷,区分出奇数步和偶数步,继而对于奇数步和偶数步,选取测量得到的加速度峰值分别大于预设的相应的峰值阈值,且相邻两个峰值之间的时间差分别大于预设的相应的时间阈值的加速度峰值作为相应奇数步和偶数步的候选加速度,分别参与计算手持终端的姿态,采用上述方法区分出奇偶步并分别获取奇数步和偶数步的候选加速度,分别采集计算手持终端的姿态,可以使获得的每一步的三轴加速度更加准确,进而可以提高行人航向推算的准确度。
进一步地,采用ahrs融合算法计算手持终端的姿态矩阵,可以提高所计算得到的手持终端的姿态的准确性,进而可以提高行人航向推算的准确度。
进一步地,由于定位行人位置过程中通过姿态变换推算得到行人实际航向,故可以提高行人导航的精度。
附图说明
图1示出了现有技术中一种行人航迹推算方法中确定行人航向示意图;
图2示出了本发明实施例中一种行人航迹推算方法的流程图;
图3示出了本发明实施例中一种实时测量得到的加速度a的波动曲线示意图;
图4示出了本发明实施例中一种地理坐标系和手持终端坐标系之间的关系示意图;
图5示出了本发明实施例中另一种行人航迹推算方法的流程图;
图6示出了本发明实施例中提取得到的水平方向的二维加速度的特征向量图;
图7示出了本发明实施例中一种采用ahrs融合算法计算手持终端当前姿态的旋转矩阵的方法的流程图;
图8示出了某室内空间电子地图平面图;
图9示出了某行人在图8所示室内空间的行走数据,采用不同的行人航迹推算方法所得到的两组行人航迹对比示意图;
图10示出了是本发明实施例中一种行人导航方法的流程图;
图11示出了本发明实施例中一种行人航迹推算装置的结构示意图;
图12示出了本发明实施例中一种加速度获取单元的结构示意图;
图13示出了本发明实施例中另一种加速度获取单元的结构示意图;
图14示出了本发明实施例中一种手持终端的结构示意图;
图15示出了本发明实施例中另一种手持终端的结构示意图。
具体实施方式
如图1所示,人体的自然行走包括前向、侧向以及垂直三个分量,其3个分量分别对应yp、xp、zp三个坐标轴的方向,手机坐标轴即手机中惯性传感器的坐标轴。将手机握在手掌行走过程中,手机纵轴对应yd轴、横轴对应xd轴、垂直于屏幕zd轴,手机的纵轴yd轴与行人的前向分量重合。目前,在行人航迹推算过程中,将手机y轴作为行人前进方向,即前向轴所在方向。
然而,在手机使用过程中,经常遇到手机方向与行人前进方向不一致的情况。发明人经研究发现,行人在行进过程中,很多时候手机是放在背包和口袋中,在这些场景中,手机y轴方向并非行人前进方向,因此直接将手机y轴方向作为行人前进方向应用于pdr推算,推算的航向会出现偏差。然而,由于手机实际放置的位置和方向灵活多变且难以确定,pdr的航向偏差问题一直未能得到有效解决。
为了减小pdr推算的航向偏差,本发明实施例通过加速度计计算手持终端对应的每一步的三轴加速度,并通过计算所述手持终端的姿态矩阵,进而将测量得到的三轴加速度按照计算得到的姿态矩阵旋转到水平,从而得到水平方向的二维加速度,进而提取所述二维加速度的特征向量,选取特征值较大的特征向量作为行人航向,在这一行人航迹推算过程,由于能够如实反映手持终端姿态与行人之间的关系,故而可以提高行人航向推算的准确度。
为使本领域技术人员更好地理解和实现本发明实施例的方案和效果,以下参照附图,通过具体的应用场景进行详细说明。
参照图2所示的行人航迹推算方法的流程图,本发明实施例提供了一种行人航迹推算方法,具体步骤如下:
s21,获取每一步的三轴加速度。
人在沿直线行走过程中,水平方向会出现加速和减速,这种速度的变化可以通过加速度计检测出来,加速度的方向与行人的前进方向一致。
如图3所示本发明一实施例中实时测量得到的加速度a的波动曲线示意图,其中横轴为时间轴t,单位为ms,纵轴为加速度轴a,单位为g。曲线accscalarnogravity为测量得到的加速度模值,为避免信号干扰,对曲线accscalarnogravity进行滤波处理后得到曲线accfiltered,在本发明一实施例中,通过低通滤波的方式进行滤波处理。
随着行人走动,加速度值在不断变化,形成自然的曲线,通常一个波峰波谷对应一步。
在具体实施中,为使计步更加准确,可以选取测量得到的加速度峰值大于预设的峰值阈值,且相邻两个峰值之间的时间差大于预设时间阈值的加速度峰值作为候选加速度参与后续步骤的运算,如图3所示,对曲线accfiltered中的测量值经上述处理后,得到的候选加速度峰值为波峰peak点,波谷stepnow,其中波峰peak点对应脚在空中最高点的时刻,波谷stepnow点对应脚落地的时刻。
在具体实施中,由于手持终端在行人身上放置的部位不同,左右脚对应的加速度可能会有相对较大的差别,为进一步提高计步的准确性,可以识别每一步的波峰和波谷,例如识别到奇数步为左脚移动,偶数步为右脚移动。基于识别出的每一步的波峰和波谷,可以区分出奇数步和偶数步,进而对于奇数步和偶数步,可以选取测量得到的加速度峰值分别大于预设的相应的峰值阈值,且相邻两个峰值之间的时间差分别大于预设时间阈值的加速度阈值作为相应奇数步和偶数步的候选加速度,分别参与计算手持终端的姿态。例如,对于奇数步和偶数步,分别预设第一峰值阈值和第二峰值阈值,将奇数步的峰值和第一峰值阈值进行比较,将偶数步的峰值阈值和第二峰值阈值进行比较。
s22,基于获取到的手持终端对应的每一步的三轴加速度,计算手持终端当前姿态的旋转矩阵。
在具体实施中,手持终端上可以设置一种或多种惯性传感器,例如,可以设置加速度计、陀螺仪、地磁计、脉冲计等。相应地,可以单独采用加速度计检测手持终端的姿态,也可以单独采用陀螺仪来检测手持终端的姿态,进而计算得到所述手持终端当前姿态的旋转矩阵。
在具体实施中,单个惯性传感器测量到的手持终端的姿态由于某些原因可能产生一定的偏差,例如,加速度计测量结果容易受到震动影响,而低成本的mems陀螺仪存在零偏和温度漂移等现象。为提高手持终端的姿态矩阵的精度,可以采用基于两种以上的惯性传感器融合的方式进行姿态估计,计算得到所述手持终端当前姿态的旋转矩阵。
在具体实施中,可以采用姿态航向参考系统(attitudeandheadingreferencesystem,ahrs)融合算法计算所述手持终端当前姿态的旋转矩阵。
在本发明一实施例中,基于加速度计测量得到的三轴加速度和陀螺仪测量得到的三轴角速度,采用ahrs融合算法计算手持终端当前姿态的旋转矩阵。
在本发明另一实施例中,基于加速度计测量得到的三轴加速度、陀螺仪测量得到的三轴角速度以及磁力计测量得到的三轴磁力强度,采用ahrs融合算法计算手持终端当前姿态的旋转矩阵。
在本发明又一实施例中,基于加速度计测量得到的三轴加速度、陀螺仪测量得到的三轴角速度、磁力计测量得到的三轴磁力强度以及脉冲计测量得到的三轴脉冲强度,采用ahrs融合算法计算手持终端当前姿态的旋转矩阵。
s23,将获取到的三轴加速度按照计算得到的姿态矩阵旋转到水平,得到水平方向的二维加速度。
如图4所示的本发明实施例中的一种地理坐标系和手持终端坐标系之间的关系示意图,为准确推算行人航向,确定手持设备中的惯性传感器测量的坐标系为xdydzd测量坐标系,行人行走所在的坐标系为xpypzp地理坐标系,通过姿态旋转,可以将加速度计在xdydzd测量坐标系测量得到的加速度转换得到其在xpypzp地理坐标系水平方向的三维加速度。
对于计算得到旋转后的三轴加速度,可以取其水平方向两个轴的数据,得到水平方向的二维加速度。
s24,提取所述二维加速度的特征向量,选取特征值大的特征向量作为行人航向。
在具体实施中,可以采用多种方法提取所述二维加速度的特征向量,例如可以采用主成分分析(principalcomponentanalysis,pca)方法提取所述二维加速度的特征向量。
采用上述实施例,首先获取每一步的三轴加速度,计算手持终端当前姿态的旋转矩阵,进而将获取到的三轴加速度按照计算得到的姿态矩阵旋转到水平,提取水平方向的二维加速度的特征向量,并选取特征值大的特征向量作为行人航向,这一推算过程能够真实还原手持设备内惯性传感器坐标系与行人所在的地理坐标系的真实位置关系,故而不论手持终端在行人身上如何放置,放置在哪里,或者处于何种姿态,均可以推算得到行人的真实航向,故可以提高航向推算的准确度。
在具体实施中,可以根据需要或具体情境对上述方案作进一步的扩展或优化,以下参照附图通过具体实施例进行详细说明,可以理解的是,以下示例并不适于对本发明保护范围的限制。
参照图5所示的行人航迹推算方法的流程图,在本发明一实施例中,所采用的行人航迹推算方法可以包括如下步骤:
s51,确定所述行人在预设时间窗口内直行。
在具体实施中,为避免单次测量误差导致误判,可以在确定所述行人在预设时间窗口内直行时才执行后续的行人航迹推算过程。在本发明一实施例中,若判定在所述预设时间窗口的行人航向均值小于预设角度阈值,则确定所述行人在预设时间窗口内直行。
在具体实施中,可以基于本发明实施例上一时间窗口确定的行人航向基础上进行判断。
可以基于推算的精度需求,根据经验或通过实验选取满足要求的角度阈值。若设置过大,则引入误差过大,若设置过小,则触发行人航迹推算过程的次数又太小。在具体实施中,所述角度阈值的范围为±15°之间。在本发明一实施例中,所述角度阈值为±5°。
s52,获取测量得到的每一步的三轴加速度,选取所述时间窗口内满足预设条件的三轴加速度作为候选三轴加速度。
在具体实施中,可以获取加速度计测量得到的每一步的三轴加速度,识别每一步的波峰和波谷,区分出奇数步和偶数步,并针对奇数步和偶数步分别计算,进而可以选取所述时间窗口内测量得到的加速度峰值大于预设的相应的峰值阈值,且相邻两个峰值之间的时间差大于预设时间阈值的加速度峰值作为候选加速度参与后续步骤的运算。
s53,计算手持终端当前姿态的旋转矩阵。
在具体实施中,如前述实施例所述,可以采用ahrs融合算法计算手持终端当前姿态的旋转矩阵。
s54,将获取到的三轴加速度按照计算得到的旋转矩阵旋转到水平,得到水平方向的二维加速度。
如图4所示,为准确推算行人航向,确定手持设备中的惯性传感器测量的坐标系为xdydzd测量坐标系,行人行走所在的坐标系为xpypzp地理坐标系,通过姿态旋转,可以将加速度计在xdydzd测量坐标系测量得到的加速度转换得到其在xpypzp地理坐标系的三维加速度。
在具体实施中,可以采用公式(1)得到地理坐标系xpypzp的三维加速度:
其中,
在具体实施中,
对于计算得到的旋转后的三轴加速度
s55,提取所述二维加速度的特征向量,选取特征值大的特征向量作为行人航向。
在具体实施中,可以采用pca算法对提取所述二维加速度的特征向量,具体步骤如下:
1)将步骤s54计算得到的所述时间窗口内满足预设条件的加速度数据共m条按列组成2行m列矩阵xb。
2)将xb的每一行进行零均值化,得到零均值化后的矩阵x。
其中,所谓零均值化,即减去这一行的均值。
3)求出协方差矩阵。
协方差矩阵是把两个维度的分散程度结合起来的一种数学表示,其描述了二维变量分散程度的分布,例如,有m个n维数据记录,将其按列排成n乘m的矩阵x,设
在具体实施中,可以采用公式(3)得到:
4)求出协方差矩阵的特征值及对应的特征向量。
设求解得到在所述时间窗口内二维加速度在水平方向的特征值和特征向量如图6所示,其中特征向量yawpedestrian和特征向量yawlegrotation的方向相互正交。由图6可知,特征向量yawpedestrian的特征值大于特征向量yawlegrotation的特征值,故选取特征向量yawpedestrian作为行人航向。
为使本领域技术人员更好地理解ahrs算法的计算原理,以下以基于加速度计测量得到的三轴加速度和陀螺仪测量得到的三轴角速度为例,如图7所示,以下通过具体步骤如何计算手持终端当前姿态的旋转矩阵进行详细说明。
s71,进行重力加速度归一化。
在静止或匀速运动时的加速度计,满足约束条件三轴模值等于9.8。利用所述约束条件进行归一化,可以消除噪声干扰,提高测量精度。
在具体实施中,可以采用公式(4)进行归一化处理,其中a为三轴加速度计原始数据,a'为归一化后的3轴加速度矢量。
s72,提取四元数的等效余弦矩阵中的重力分量。
在具体实施中,可以采用公式(5)进行提取,其中,q为上一时刻计算的四元数,v为由四元数解算的三轴加速度矢量。
s73,计算姿态误差。
在具体实施中,其中上一时刻的加速度矢量为v,e为姿态矢量误差,将上一时刻的加速度矢量v,和当前时刻加速度计测量得到的加速度进行向量叉积,可以得到姿态矢量误差e,如公式(6)所示。
s74,对姿态矢量进行积分。
在具体实施中,可以采用公式(7)得到,其中,ei为姿态矢量误差的积分值,f是传感器采样频率,在本发明实施例中,可以设置为常数。
s75,进行互补滤波。
在具体实施中,为了减少陀螺仪的漂移误差,可以采用公式(8)进行,其中,g为三轴陀螺仪测量值,将姿态矢量误差补偿到角速率上,修正角速度积分漂移。g’为修正后的角速率。
s76,更新四元数。
利用修正后的角速率更新四元数,可以采用公式(9)进行,其中,q为更新前的四元数,q’为更新后的四元数。
s77,进行四元数归一化。
在具体实施中,可以采用公式(10)得到归一化后的四元数q”。
s78,将归一化后的四元数转换为旋转矩阵。
在具体实施中,可以采用公式(11)得到旋转矩阵,其中
采用本发明实施例,通过ahrs融合的方式计算手持终端当前姿态的旋转矩阵,可以提高旋转矩阵的计算精度。
如图8所示的某室内空间的电子地图平面图,图9示出了基于某行人在图8所示室内空间的行走数据,采用不同的行人航迹推算方法所得到的两组行人航迹:航迹r和航迹p。其中,航迹r是采用行人手持设备的y轴方向作为行人前进方向所得到的行人航迹;航迹p是采用本发明实施例所述的行人航迹推算方法推算所得到的行人航迹,将航迹r和航迹p和图8所示室内空间的通道的形状及结构对比可知,航迹p更能反映行人在各时刻的实际航向和实际航迹,因而具有更高的推算准确度。
本发明实施例还提供了可应用上述行人航迹推算方法的行人导航方法,参照图10所示的行人导航方法的流程图,具体可以包括如下步骤:
s101,定位行人当前位置。
在具体实施中,定位行人当前位置,包括定位行人当前地理坐标和航向。在本发明实施例中,采用上述各实施例所述的行人航迹推算方法确定行人航向,可参照上述各实施例的具体步骤实施,不再赘述。
s102,基于获取到的目标位置和所述定位得到的行人当前位置,进行导航。
由于基于上述行人航迹推算方法能够更加准确地推算行人航向,使得定位得到的行人当前位置更加准确,因而在此基础上所规划的行人当前位置至目标位置的导航路径也更加准确,故可以增强导航的准确性。
本发明实施例还提供了能够实现上述行人航迹推算方法的行人航迹推算装置,以下结合附图,通过具体实施例进行详细说明。
参照图11所示的行人航迹推算装置110,可以包括:
加速度获取单元111,适于获取每一步的三轴加速度;
姿态计算单元112,适于基于所述加速度获取单元111获取到的每一步的三轴加速度,计算手持终端当前姿态的旋转矩阵;
旋转单元113,适于将测量得到的三轴加速度按照计算得到的姿态矩阵旋转到水平,得到水平方向的二维加速度;
特征向量提取单元114,适于提取所述二维加速度的特征向量;
航向确定单元115,适于选取特征值大的特征向量作为行人方向。
采用上述实施例所述的行人航迹推算装置110,通过姿态计算单元112计算手持终端当前姿态的旋转矩阵,并由旋转单元113将加速度获取单元111获取到的三轴加速度按照计算得到的姿态矩阵旋转到水平后,再由特征向量提取单元114提取水平方向的二维加速度的特征向量,并由航向确定单元115选取特征值大的特征向量作为行人方向,因而采用所述行人航迹推算装置110能够真实还原手持设备内惯性传感器坐标系与行人所在的地理坐标系的真实位置关系,故而不论手持终端在行人身上如何放置,放置在哪里,或者处于何种姿态,均可以推算得到行人的真实航向,故可以提高航向推算的准确度。
在具体实施中,如图11所示,行人航迹推算装置110还可以包括:直行判断单元116,适于确定所述行人在预设时间窗口内是否直行,并在确定在预设时间窗口内直行时,触发所述姿态计算单元112进行计算。
在本发明一实施例中,所述直行判断单元116,适于在所述时间窗口的行人航向均值小于预设角度阈值时,确定所述行人在所述时间窗口内直行。
在具体实施中,所述述角度阈值的范围可以设置在±15°之间。
在具体实施中,如图12所示,本发明实施例提供了一种加速度获取单元的结构示意图。参照图12,加速度获取单元111可以包括:第一识别子单元121和第一处理子单元122,其中:
第一识别子单元121,适于识别每一步的波峰和波谷;
第一处理子单元122,适于选取测量得到的加速度峰值大于预设的峰值阈值,且相邻两个峰值之间的时间差大于预设时间阈值的加速度峰值作为候选加速度输入所述姿态计算单元112。
采用上述加速度获取单元获取的候选加速度用于后续姿态计算单元的计算可以减少噪声干扰,使得计步更加准确,进一步提高行人航向推算的准确度。
在具体实施中,如图13所示,本发明实施例提供了另一种加速度获取单元的结构示意图。参照图13,加速度获取单元111可以包括:第二识别子单元131、区分子单元132和第二处理子单元133,其中:
第二识别子单元131,适于识别每一步的波峰和波谷;
区分子单元132,适于基于识别出的每一步的波峰和波谷,区分出奇数步和偶数步;
第二处理子单元133,对于奇数步和偶数步,适于选取测量得到的加速度峰值分别大于预设的相应的峰值阈值,且相邻两个峰值之间的时间差分别大于预设时间阈值的加速度峰值作为相应奇数步和偶数步的候选加速度分别参与计算手持终端的姿态。
采用上述加速度获取单元,可以区分出奇偶步,进而分别获取奇数步和偶数步的候选加速度,分别采集计算手持终端的姿态,可以使获得的每一步的三轴加速度更加准确,进而可以提高行人航向推算的准确度。
在具体实施中,所述姿态计算单元112适于采用ahrs融合算法计算手持终端的姿态矩阵。
在具体实施中,所述姿态计算单元112可以包括以下任意一种姿态计算子单元:
第一姿态计算子单元(未示出),适于基于获取到的三轴加速度、三轴角速度,采用ahrs融合算法计算手持终端的姿态矩阵;
第二姿态计算子单元(未示出),适于基于获取到的三轴加速度、三轴角速度、三轴磁力强度,采用ahrs融合算法计算手持终端的姿态矩阵;
第三姿态计算子单元(未示出),适于基于获取到的三轴加速度、三轴角速度、三轴磁力强度、三轴脉冲强度,采用ahrs融合算法计算手持终端的姿态矩阵。
如图14所示,本发明实施例提供了一种手持终端140,所述手持终端140可以包括惯性传感器141和行人航迹推算装置142。所述行人航迹推算装置142的具体实现如前实施例对行人航迹推算装置及行人航迹推算方法的介绍,此处不再赘述。在具体实施中,所述惯性传感器可以包括三轴加速度计。
采用内置了行人航迹推算装置142的手持终端140,行人不论将所述手持终端120如何随身携带或握持,对于所述行人的航迹,均可以推算的更加准确。
在具体实施中,所述手持终端140可以为手持终端、平板或者可穿戴式电子设备如智能手表等。
参照图11和图14,在具体实施中,所述惯性传感器141还可以包括陀螺仪、磁力计、脉冲计等其中一种或多种,各惯性传感器的输出可以作为所述姿态计算单元112的输入。
如图13所示,本发明实施例还提供了另一种手持终端150,所述手持终端150可以包括:定位模块151和导航模块152,其中:
所述定位模块151,适于定位行人当前位置,可以包括行人航迹推算装置153,所述行人航迹推算装置153可以参照上述行人航迹推算装置实施例的具体介绍,此处不再赘述。
所述导航模块152,适于基于获取到的目标位置和所述定位模块151定位得到的行人当前位置,进行导航。
本发明实施例还提供了一种手持终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述实施例所述的行人航迹推算方法的步骤,不再赘述。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述实施例所述的行人导航方法的步骤,此处亦不再赘述。
虽然本发明实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明实施例的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。