一种确定终端运动方向的方法和装置制造方法

文档序号:6240425阅读:136来源:国知局
一种确定终端运动方向的方法和装置制造方法
【专利摘要】本发明公开了一种确定终端运动方向的方法和装置,属于定位【技术领域】。该方法包括:根据第四加速度值、第五加速度值和第六加速度值,确定出终端在当前计步周期中运动对应的第一主坐标轴方向;获取终端在第一主坐标轴方向上的第一相关值,以及终端在离当前时间最近的上一个计步周期中的运动方向和终端对应的第二主坐标轴方向上的第二相关值;根据第一相关值、第二相关值和终端在离当前时间最近的上一个计步周期中的运动方向,确定终端在当前计步周期中的运动方向。该装置包括:第一获取模块,第一计算模块,第一确定模块,第二获取模块和第二确定模块。本发明根据终端的加速度值确定终端的运动方向,提高了确定的准确度。
【专利说明】一种确定终端运动方向的方法和装置

【技术领域】
[0001]本发明涉及定位【技术领域】,特别涉及一种确定终端运动方向方法和装置。

【背景技术】
[0002]目前,随着卫星导航技术的快速发展,具备导航功能的终端已经普及到每个用户的生活中。当用户出行时,可以通过终端中的导航功能获取终端的运动方向,根据终端的运动方向为用户指引方向。
[0003]现有技术中提供了一种确定终端运动方向的方法,可以为:终端获取终端当前姿态相对于水平面的的俯仰角和翻滚角;根据该俯仰角和翻滚角计算终端的航向角,该航向角为终端与地球北极之间的夹角;如果该航向角在0° -180°范围内,确定出终端的运动方向为向前,如果该航向角在-180° -0°范围内,确定出终端的运动方向为向后。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]现有技术中是根据终端的俯仰角和翻滚角确定终端的运动方向,然而如果终端的运动方向发生变化,而终端的俯仰角和翻滚角不发生变化,确定的终端的运动方向将出现错误;例如,用户手持终端向后退,由于终端的俯仰角和翻滚角没有发生变化,此时确定出终端的运动方向还是向前,从而确定出的终端的运动方向出现错误。


【发明内容】

[0006]为了使解决现有技术的问题,本发明提供了一种确定终端的运动方向的方法和装置。技术方案如下:
[0007]一方面,本发明提供了一种确定终端的运动方向的方法,所述方法包括:
[0008]当检测到用户行进过程中完成一个计步周期时,获取当前计步周期中终端在第一横坐标轴上对应的第一加速度值,所述终端在第一纵坐标轴上对应的第二加速度值,以及所述终端在第一竖坐标轴上对应的第三加速度值,所述第一横坐标轴、所述第一纵坐标轴和所述第一竖坐标轴分别为所述终端的内置坐标系的横坐标轴、纵坐标轴和竖坐标轴;
[0009]根据所述第一加速度值、所述第二加速度值和所述第三加速度值,分别计算所述终端在第二横坐标轴上对应的第四加速度值,所述终端在第二纵坐标轴上对应的第五加速度值,以及所述终端在第二竖坐标轴上对应的第六加速度值,所述第二横坐标轴、所述第二纵坐标轴和所述第二竖坐标轴分别为地理坐标系的横坐标轴、纵坐标轴和竖坐标轴;
[0010]根据所述第四加速度值、所述第五加速度值和所述第六加速度值,确定出所述终端在所述当前计步周期中运动对应的第一主坐标轴方向;
[0011]获取所述终端在所述第一主坐标轴方向上的第一相关值,以及所述终端在离当前时间最近的上一个计步周期中的运动方向和所述终端对应的第二主坐标轴方向上的第二相关值,所述第一相关值为所述第一主坐标轴上的加速度与所述第六加速度值之间的相关值;
[0012]根据所述第一相关值、所述第二相关值和所述终端在离当前时间最近的上一个计步周期中的运动方向,确定所述终端在所述当前计步周期中的运动方向。
[0013]优选的,所述方法还包括:
[0014]计算所述终端当前姿态相对于水平面的俯仰角和翻滚角;
[0015]根据所述俯仰角和所述翻滚角计算所述终端当前姿态的方位角;
[0016]获取所述电子罗盘输入的方向值;
[0017]根据所述终端在所述当前计步周期中的运动方向、所述方位角和所述方向值,计算所述终端的航向角;
[0018]根据所述终端的航向角显示所述终端在所述当前计步周期中的运动方向。
[0019]优选的,所述根据所述终端在所述当前计步周期中的运动方向、所述方位角和所述方向值,计算所述终端的航向角,包括:
[0020]如果所述终端在所述当前计步周期中的运动方向为向前,计算所述方向值与所述方位角的差,得到第一差值,将所述第一差值作为所述终端的航向角;
[0021]如果所述终端的运动方向为向后,计算所述方向值、所述方位角与180°的差,得到第二差值,将所述第二差值作为所述终端的航向角。
[0022]优选的,所述根据所述第四加速度值、所述第五加速度值和所述第六加速度值,确定出所述终端在所述当前计步周期中运动对应的第一主坐标轴方向,包括:
[0023]计算所述第四加速度值与所述第六加速度值之间的相关值,所述第五加速度值与所述第六加速度值之间的相关值;
[0024]如果所述第四加速度值与所述第六加速度值之间的相关值大于所述第五加速度值与所述第六加速度值之间的相关值,确定出所述终端在所述当前计步周期中运动对应的第一主坐标轴方向为所述第二横坐标轴方向;
[0025]如果所述第四加速度值与所述第六加速度值之间的相关值不大于所述第五加速度值与所述第六加速度值之间的相关值,确定出所述终端在所述当前计步周期中运动对应的第一主坐标轴方向为所述第二纵坐标轴方向。
[0026]优选的,所述根据所述第一相关值、所述第二相关值和所述终端在离当前时间最近的上一个计步周期中的运动方向,确定所述终端在所述当前计步周期中的运动方向,包括:
[0027]判断所述第一相关值的符号和所述第二相关值的符号是否相同;
[0028]如果相同,确定出所述终端在所述当前计步周期中的运动方向为所述终端在离当前时间最近的上一个计步周期中的运动方向;
[0029]如果不相同,确定出所述终端在所述当前计步周期中的运动方向为所述终端在离当前时间最近的上一个计步周期中的运动方向的相反方向。
[0030]另一方面,本发明提供了一种确定终端的运动方向的装置,所述装置包括:
[0031]第一获取模块,用于当检测到用户行进过程中完成一个计步周期时,获取当前计步周期中终端在第一横坐标轴上对应的第一加速度值,所述终端在第一纵坐标轴上对应的第二加速度值,以及所述终端在第一竖坐标轴上对应的第三加速度值,所述第一横坐标轴、所述第一纵坐标轴和所述第一竖坐标轴分别为所述终端的内置坐标系的横坐标轴、纵坐标轴和竖坐标轴;
[0032]第一计算模块,用于根据所述第一加速度值、所述第二加速度值和所述第三加速度值,分别计算所述终端在第二横坐标轴上对应的第四加速度值,所述终端在第二纵坐标轴上对应的第五加速度值,以及所述终端在第二竖坐标轴上对应的第六加速度值,所述第二横坐标轴、所述第二纵坐标轴和所述第二竖坐标轴分别为地理坐标系的横坐标轴、纵坐标轴和竖坐标轴;
[0033]第一确定模块,用于根据所述第四加速度值、所述第五加速度值和所述第六加速度值,确定出所述终端在所述当前计步周期中运动对应的第一主坐标轴方向;
[0034]第二获取模块,用于获取所述终端在所述第一主坐标轴方向上的第一相关值,以及所述终端在离当前时间最近的上一个计步周期中的运动方向和所述终端对应的第二主坐标轴方向上的第二相关值,所述第一相关值为所述第一主坐标轴上的加速度与所述第六加速度值之间的相关值;
[0035]第二确定模块,用于根据所述第一相关值、所述第二相关值和所述终端在离当前时间最近的上一个计步周期中的运动方向,确定所述终端在所述当前计步周期中的运动方向。
[0036]优选的,所述装置还包括:
[0037]第二计算模块,用于计算所述终端当前姿态相对于水平面的俯仰角和翻滚角;
[0038]第三计算模块,用于根据所述俯仰角和所述翻滚角计算所述终端当前姿态的方位角;
[0039]第三获取模块,用于获取所述电子罗盘输入的方向值;
[0040]第四计算模块,用于根据所述终端在所述当前计步周期中的运动方向、所述方位角和所述方向值,计算所述终端的航向角;
[0041]显示模块,用于根据所述终端的航向角显示所述终端在所述当前计步周期中的运动方向。
[0042]优选的,所述第四计算模块,用于如果所述终端在所述当前计步周期中的运动方向为向前,计算所述方向值与所述方位角的差,得到第一差值,将所述第一差值作为所述终端的航向角;
[0043]如果所述终端的运动方向为向后,计算所述方向值、所述方位角与180°的差,得到第二差值,将所述第二差值作为所述终端的航向角。
[0044]优选的,所述第一确定模块,包括:
[0045]计算单元,用于计算所述第四加速度值与所述第六加速度值之间的相关值,所述第五加速度值与所述第六加速度值之间的相关值;
[0046]第一确定单元,用于如果所述第四加速度值与所述第六加速度值之间的相关值大于所述第五加速度值与所述第六加速度值之间的相关值,确定出所述终端在所述当前计步周期中运动对应的第一主坐标轴方向为所述第二横坐标轴方向;
[0047]第二确定单元,用于如果所述第四加速度值与所述第六加速度值之间的相关值不大于所述第五加速度值与所述第六加速度值之间的相关值,确定出所述终端在所述当前计步周期中运动对应的第一主坐标轴方向为所述第二纵坐标轴方向。
[0048]优选的,所述第二确定模块,包括:
[0049]判断单元,用于判断所述第一相关值的符号和所述第二相关值的符号是否相同;
[0050]第三确定单元,用于如果相同,确定出所述终端在所述当前计步周期中的运动方向为所述终端在离当前时间最近的上一个计步周期中的运动方向;
[0051]第四确定单元,用于如果不相同,确定出所述终端在所述当前计步周期中的运动方向为所述终端在离当前时间最近的上一个计步周期中的运动方向的相反方向。
[0052]在本发明实施例中,当检测到用户行进过程中完成一个计步周期时,获取当前计步周期中终端在第一横坐标轴上对应的第一加速度值,终端在第一纵坐标轴上对应的第二加速度值,以及终端在第一竖坐标轴上对应的第三加速度值;根据第一加速度值、第二加速度值和第三加速度值,分别计算终端在第二横坐标轴上对应的第四加速度值,终端在第二纵坐标轴上对应的第五加速度值,以及终端在第二竖坐标轴上对应的第六加速度值;根据第四加速度值、第五加速度值和第六加速度值,确定出终端在当前计步周期中运动对应的第一主坐标轴方向;获取终端在第一主坐标轴方向上的第一相关值,以及终端在离当前时间最近的上一个计步周期中的运动方向和终端对应的第二主坐标轴方向上的第二相关值;根据第一相关值、第二相关值和终端在离当前时间最近的上一个计步周期中的运动方向,确定终端在当前计步周期中的运动方向,本发明中根据加速度值确定终端的运动方向,提高了确定终端运动方向的准确性。

【专利附图】

【附图说明】
[0053]图1是本发明实施例1提供的一种确定终端的运动方向的方法流程图;
[0054]图2是本发明实施例2提供的一种确定终端的运动方向的方法流程图;
[0055]图3是本发明实施例3提供的一种确定终端的运动方向的装置结构示意图。

【具体实施方式】
[0056]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0057]实施例1
[0058]本发明实施例提供了一种确定终端的运动方向的方法,参见图1,其中,该方法包括:
[0059]步骤101:当检测到用户行进过程中完成一个计步周期时,获取当前计步周期中终端在第一横坐标轴上对应的第一加速度值,终端在第一纵坐标轴上对应的第二加速度值,以及终端在第一竖坐标轴上对应的第三加速度值,第一横坐标轴、第一纵坐标轴和第一竖坐标轴分别为终端的内置坐标系的横坐标轴、纵坐标轴和竖坐标轴;
[0060]步骤102:根据第一加速度值、第二加速度值和第三加速度值,分别计算终端在第二横坐标轴上对应的第四加速度值,终端在第二纵坐标轴上对应的第五加速度值,以及终端在第二竖坐标轴上对应的第六加速度值,第二横坐标轴、第二纵坐标轴和第二竖坐标轴分别为地理坐标系的横坐标轴、纵坐标轴和竖坐标轴;
[0061]步骤103:根据第四加速度值、第五加速度值和第六加速度值,确定出终端在当前计步周期中运动对应的第一主坐标轴方向;
[0062]步骤104:获取终端在第一主坐标轴方向上的第一相关值,以及终端在离当前时间最近的上一个计步周期中的运动方向和终端对应的第二主坐标轴方向上的第二相关值,第一相关值为第一主坐标轴上的加速度与第六加速度值之间的相关值;
[0063]步骤105:根据第一相关值、第二相关值和终端在离当前时间最近的上一个计步周期中的运动方向,确定终端在当如计步周期中的运动方向。
[0064]在本发明实施例中,当检测到用户行进过程中完成一个计步周期时,获取当前计步周期中终端在第一横坐标轴上对应的第一加速度值,终端在第一纵坐标轴上对应的第二加速度值,以及终端在第一竖坐标轴上对应的第三加速度值;根据第一加速度值、第二加速度值和第三加速度值,分别计算终端在第二横坐标轴上对应的第四加速度值,终端在第二纵坐标轴上对应的第五加速度值,以及终端在第二竖坐标轴上对应的第六加速度值;根据第四加速度值、第五加速度值和第六加速度值,确定出终端在当前计步周期中运动对应的第一主坐标轴方向;获取终端在第一主坐标轴方向上的第一相关值,以及终端在离当前时间最近的上一个计步周期中的运动方向和终端对应的第二主坐标轴方向上的第二相关值;根据第一相关值、第二相关值和终端在离当前时间最近的上一个计步周期中的运动方向,确定终端在当如计步周期中的运动方向,本发明中根据加速度值确定终端的运动方向,弥补了用户手持终端时终端位置与运动方向不一致时通过电子罗盘获取到错误方向的缺陷,提高了定位的准确度和确定终端运动方向的准确性。
[0065]实施例2
[0066]本发明实施例提供了一种确定终端的运动方向的方法,参见图2,其中,该方法包括:
[0067]步骤201:当检测到用户行进过程中完成一个计步周期时,获取当前计步周期中终端在第一横坐标轴上对应的第一加速度值,终端在第一纵坐标轴上对应的第二加速度值,以及终端在第一竖坐标轴上对应的第三加速度值;
[0068]在终端中内置坐标系,第一横坐标轴、第一纵坐标轴和第一竖坐标轴分别为终端的内置坐标系的横坐标轴、纵坐标轴和竖坐标轴。
[0069]在终端中为每个坐标轴设置一个加速度传感器,该坐标轴上的加速度传感器用于测量终端在运行过程中在该坐标轴方向上的加速度值。即,在终端中的第一横坐标轴上设置第一加速度传感器,该第一加速度传感器用于测量终端在运动过程中在第一横坐标轴方向上的加速度值;在终端中的第一纵坐标轴上设置第二加速度传感器,该第二加速度传感器用于测量终端在运行过程中在第一纵坐标轴方向上的加速度值;在终端中的第一竖坐标轴上设置第三加速度传感器,该第三加速度传感器用于测量终端在运动过程中在第一竖坐标轴方向上的加速度值。
[0070]当检测到用户行进过程中完成一个计步周期时,读取第一加速度传感器的值以获取终端在第一横坐标轴上对应的第一加速度值;读取第二加速度传感器的值以获取终端在第一纵坐标轴上对应的第二加速度值;读取第三加速度传感器的值以获取终端在第一竖坐标轴上对应的第三加速度值。
[0071]内置坐标系为以终端的中心点为原点,以终端的前方方向为横坐标轴,以终端的右方方向为纵坐标轴,以终端的上方方向为竖坐标轴的坐标系。则第一横坐标轴为终端的前方方向,第一纵坐标轴为终端的右方方向,第一竖坐标轴为终端的上方方向。
[0072]例如,终端可以为手机或者平板电脑等。
[0073]步骤202:根据第一加速度值、第二加速度值和第三加速度值,分别计算终端在第二横坐标轴上对应的第四加速度值,终端在第二纵坐标轴上对应的第五加速度值,以及终端在第二竖坐标轴上对应的第六加速度值;
[0074]第二横坐标轴、第二纵坐标轴和第二竖坐标轴分别为地理坐标系的横坐标轴、纵坐标轴和竖坐标轴。
[0075]步骤202可以通过以下步骤⑴至⑷实现,包括:
[0076](I):计算终端当前姿态相对于水平面的俯仰角和翻滚角;
[0077]其中,俯仰角为终端中的第一横坐标轴与水平面的夹角,翻滚角为终端中的第一纵坐标轴与水平面的夹角。
[0078]根据第一加速度值、第二加速度值和第三加速度值可以根据预设的公式计算终端当前姿态相对于水平面的俯仰角和翻滚角度。
[0079]具体地,根据第一加速度值、第二加速度值和第三加速度值,按照如下的公式(I)计算终端内置的坐标系中的第一横坐标轴与水平面的夹角,即俯仰角β,以及根据第一加速度值、第二加速度值和第三加速度值,按照如下的公式(2)计算终端内置的坐标系中的第一纵坐标轴与水平面的夹角,即翻滚角a。

X
[0080]β =arcian I , ,( 1)

^/γ-+z-

Y
[0081]CC--1rcnn _=^2)

VX2+ Z2
[0082]其中,在公式(I)中,β为终端内置的坐标系中的第一横坐标轴与水平面的夹角即俯仰角,在公式(2)中,α为终端内置的坐标系中的第一纵坐标轴与水平面的夹角即翻滚角,X为第一加速度值,Y为第二加速度值,Z为第三加速度值。
[0083](2):根据俯仰角、翻滚角、第一加速度值、第二加速度值和第三加速度值,计算终端在第二横坐标轴上对应的第四加速度值;
[0084]根据俯仰角、翻滚角、第一加速度值、第二加速度值和第三加速度值,可以采用以下公式(3)计算在第二横坐标轴上对应的第四加速度值ΧΗ。
[0085]Xh = X cos β +Y sin β sin α -Z cos β sin α (3)
[0086]其中,X为第一加速度值,Y为第二加速度值,Z为第三加速度值,β为俯仰角,α为翻滚角。
[0087](3):根据俯仰角、第二加速度值和第三加速度值,计算终端在第二纵坐标轴上对应的第五加速度值;
[0088]根据俯仰角、第二加速度值和第三加速度值,可以采用以下公式(4)计算终端在第二纵坐标轴上对应的第五加速度值ΥΗ。
[0089]Yh = Y cos β +Z sin β (4)
[0090]其中,Y为第二加速度值,Z为第三加速度值,β为俯仰角。
[0091](4):根据第一加速度值、第二加速度值、第三加速度值、第四加速度值和第五加速度值,计算终端在第二竖坐标轴上对应的第六加速度值;
[0092]根据第一加速度值、第二加速度值、第三加速度值、第四加速度值和第五加速度值,可以采用以下公式(5)计算终端在第二竖坐标轴上对应的第六加速度值ΖΗ。
[0093]Zh = ^jx2 +Y2 +Z2-Xl-Y^(5)
[0094]其中,X为第一加速度值,Y为第二加速度值,Z为第三加速度值,Xh为第四加速度值,Yh为第五加速度值。
[0095]步骤203:根据第四加速度值、第五加速度值和第六加速度值,确定出终端在当前计步周期中运动对应的第一主坐标轴方向;
[0096]步骤203可以通过第一种方式实现或者第二种方式实现,对于第一种实现方式,步骤203可以通过以下步骤(I)至(3)实现,包括:
[0097](I):计算第四加速度值与第六加速度值之间的相关值,第五加速度值与第六加速度值之间的相关值;
[0098]具体地,根据第四加速度值和第六加速度值,按照现有的相关运算算法,计算第四加速度值与第六加速度值之间的相关值;根据第五加速度值和第六加速度值,按照现有的相关运算算法,计算第五加速度值与第六加速度值之间的相关值。
[0099](2):如果第四加速度值与第六加速度值之间的相关值大于第五加速度值与第六加速度值之间的相关值,确定出终端在当前计步周期中运动对应的第一主坐标轴方向为第二横坐标轴方向;
[0100]如果第四加速度值与第六加速度值之间的相关值大于第五加速度值与第六加速度值之间的相关值,确定出终端在当前计步周期中运动对应的第一主坐标轴的方向为第四加速度值对应的方向,也即终端在当前计步周期中运动对应的第一主坐标轴方向为第二横坐标轴方向。
[0101](3):如果第四加速度值与第六加速度值之间的相关值不大于第五加速度值与第六加速度值之间的相关值,确定出终端在当前计步周期中运动对应的第一主坐标轴方向为第二纵坐标轴方向。
[0102]如果第四加速度值与第六加速度值之间的相关值不大于第五加速度值与第六加速度值之间的相关值,确定出终端在当前计步周期中运动对应的第一主坐标轴的方向为第五加速度值对应的方向,也即终端在当前计步周期中运动对应的第一主坐标轴方向为第二纵坐标轴方向。
[0103]对于第二种实现方式,步骤203可以通过以下步骤(A)至(G)实现,包括:
[0104](A):获取终端在离当前时间最近的上一个计步周期中第二横坐标轴上的第七加速度值和第二纵坐标轴上的第八加速度值,以及终端在离当前时间最近的下一个计步周期中第二横坐标轴上的第九加速度值和第二纵坐标轴上的第十加速度值;
[0105]在每个计步周期中,终端计算终端在第二横坐标轴上的加速度值和终端在第二纵坐标轴上的加速度值,并存储计步周期、终端在第二横坐标轴上的加速度值以及终端在第二纵坐标轴上的加速度值的对应关系。
[0106]在本步骤中,根据离当前时间最近的上一个计步周期,从计步周期、终端在第二横坐标轴上的加速度值以及终端在第二纵坐标轴上的加速度值的对应关系中获取终端在离当前时间最近的上一个计步周期中终端在第二横坐标轴上的第七加速度值和终端在第二纵坐标轴上的第八加速度值;根据离当前时间最近的下一个计步周期,从计步周期、终端在第二横坐标轴上的加速度值以及终端在第二纵坐标轴上的加速度值的对应关系中获取终端在离当前时间最近的下一个计步周期中终端在第二横坐标轴上的第九加速度值和终端在第二纵坐标轴上的第十加速度值。
[0107](B):分别计算第七加速度值与第六加速度值之间的相关值,第四加速度值与第六加速度值之间的相关值,以及第九加速度值与第六加速度值之间的相关值;
[0108]具体地,根据第七加速度值和第六加速度值,按照现有的相关运算算法,计算第七加速度值与第六加速度值之间的相关值;根据第四加速度值和第六加速度值,按照现有的相关运算算法,计算第四加速度值与第六加速度值之间的相关值;根据第九加速度值和第六加速度值,按照现有的相关运算算法,计算第九加速度值和第六加速度值之间的相关值。
[0109](C):从第七加速度值与第六加速度值之间的相关值、第四加速度值与第六加速度值之间的相关值以及第九加速度值与第六加速度值之间的相关值中选择最大的相关值,确定为第一最大相关值;
[0110](D):分别计算第八加速度值与第六加速度值之间的相关值,第五加速度值与第六加速度值之间的相关值,以及第十加速度值与第六加速度值之间的相关值;
[0111]具体地,根据第八加速度值和第六加速度值,按照现有的相关运算算法,计算第八加速度值与第六加速度值之间的相关值;根据第五加速度值和第六加速度值,按照现有的相关运算算法,计算第五加速度值与第六加速度值之间的相关值;根据第十加速度值和第六加速度值,按照现有的相关运算算法,计算第十加速度值和第六加速度值之间的相关值。
[0112](E):从第八加速度值与第六加速度值之间的相关值、第五加速度值与第六加速度值之间的相关值,以及第十加速度值与第六加速度值之间的相关值中选择最大的相关值,确定为第二最大相关值;
[0113](F):如果第一最大相关值大于第二最大相关值,确定出终端在当前计步周期中运动对应的第一主坐标轴方向为第二横坐标轴方向;
[0114]如果第一最大相关值大于第二最大相关值,确定出终端在当前计步周期中运动对应的第一主坐标轴的方向为第四加速度值对应的方向,也即终端在当前计步周期中运动对应的第一主坐标轴方向为第二横坐标轴方向。
[0115](G):如果第一最大相关值不大于第二最大相关值,确定出终端在当前计步周期中运动对应的第一主坐标轴方向为第二纵坐标轴方向。
[0116]如果第一最大相关值不大于第二最大相关值,确定出终端在当前计步周期中运动对应的第一主坐标轴的方向为第五加速度值对应的方向,也即终端在当前计步周期中运动对应的第一主坐标轴方向为第二纵坐标轴方向。
[0117]步骤204:获取终端在第一主坐标轴方向上的第一相关值,以及终端在离当前时间最近的上一个计步周期中的运动方向和终端对应的第二主坐标轴方向上的第二相关值,第一相关值为第一主坐标轴上的加速度与第六加速度值之间的相关值;
[0118]如果第一主坐标轴方向为第二横坐标轴方向,贝1J第一相关值为第四加速度值与第六加速度值之间的相关值;如果第一主坐标轴方向为第二纵坐标轴方向,贝1J第一相关值为第五加速度值与第六加速度值之间的相关值。
[0119]在每个计步周期中,终端计算确定终端的运动方向和终端对应的王坐标轴方向上的相关值,并存储计步周期、终端的运动方向和终端对应的主坐标轴方向上的相关值的对应关系。
[0120]在本步骤中,根据离当前时间最近的上一个计步周期,从计步周期、终端的运动方向和终端对应的主坐标轴方向上的相关值的对应关系中获取终端在离当前时间最近的上一个计步周期中的运动方向和终端对应的第二主坐标轴方向上的第二相关值。
[0121]步骤205:根据第一相关值、第二相关值和终端在离当前时间最近的上一个计步周期中的运动方向,确定终端在当如计步周期中的运动方向;
[0122]具体地,判断第一相关值的符号和第二相关值的符号是否相同;如果相同,确定出终端的运动方向没有发生变化,终端在当前计步周期中的运动方向和终端在离当前时间最近的上一个计步周期中的运动方向相同,也即终端在当前计步周期中的运动方向为终端在离当前时间最近的上一个计步周期中的运动方向;如果不相同,确定出终端的运动方向发生了变化,终端在当前计步周期中的运动方向和终端在离当前时间最近的上一个计步周期中的运动方向不相同,也即终端在当前计步周期中的运动方向为终端在离当前时间最近的上一个计步周期中的运动方向的相反方向。
[0123]由于终端在运动过程中,如果运动方向发生变化,则相关值的符号会发生变化,因此通过判断第一相关值和第二相关值确定出终端的运动方向是否发生变化。
[0124]例如,第一相关值为-2,第二相关值为-8,终端在离当前时间最近的上一个计步周期中的运动方向为向前;则第一相关值的符号为第二相关值的符号为确定出第一相关值的符号和第二相关值的符号相同,确定出终端在当前计步周期中的运动方向和终端在离当前时间最近的上一个计步周期中的运动方向相同,也即终端在当前计步周期中的运动方向也为向前。
[0125]进一步地,获取每个计步周期中的最大相关值,将每个计步周期中的最大相关值进行平均滤波,终端在运动过程中,最大相关值在稳定前进或者稳定后退时分别趋于不同的稳定值,因此,在终端运动方向发生变化时,最大相关值会发生一个变化,因此,根据最大相关值的符号确定终端在当前计步周期中的运动方向。
[0126]步骤206:计算终端当前姿态的方位角;
[0127]具体地,根据俯仰角和翻滚角,可以采用以下公式(6)计算终端当前姿态的方位角Θ。

β
[0128]Θ = arclan — (6)

a
[0129]其中,β为俯仰角,α为翻滚角。
[0130]步骤207:根据终端在当前计步周期中的运动方向、方位角和方向值,计算终端的航向角;
[0131]如果终端在当前计步周期中的运动方向为向前,获取终端中的电子罗盘输出的方向值,计算方向值与方位角的差,得到第一差值,将第一差值作为终端的航向角;
[0132]如果终端的运动方向为向后,获取终端中的电子罗盘输出的方向值,计算方向值、方位角与180°的差,得到第二差值,将第二差值作为终端的航向角。
[0133]在本发明实施例中,根据终端的运动方向确定终端的航向角,提高了航向角的准确性。
[0134]步骤208:显示终端的航向角和终端在当前计步周期中的运行方向。
[0135]显示终端的航向角和终端在当前计步周期中的运动方向,从而为用户提供导航服务。
[0136]在本发明实施例中,当检测到用户行进过程中完成一个计步周期时,获取当前计步周期中终端在第一横坐标轴上对应的第一加速度值,终端在第一纵坐标轴上对应的第二加速度值,以及终端在第一竖坐标轴上对应的第三加速度值;根据第一加速度值、第二加速度值和第三加速度值,分别计算终端在第二横坐标轴上对应的第四加速度值,终端在第二纵坐标轴上对应的第五加速度值,以及终端在第二竖坐标轴上对应的第六加速度值;根据第四加速度值、第五加速度值和第六加速度值,确定出终端在当前计步周期中运动对应的第一主坐标轴方向;获取终端在第一主坐标轴方向上的第一相关值,以及终端在离当前时间最近的上一个计步周期中的运动方向和终端对应的第二主坐标轴方向上的第二相关值;根据第一相关值、第二相关值和终端在离当前时间最近的上一个计步周期中的运动方向,确定终端在当如计步周期中的运动方向,本发明中根据加速度值确定终端的运动方向,弥补了用户手持终端时终端位置与运动方向不一致时通过电子罗盘获取到错误方向的缺陷,提高了定位的准确度和确定终端运动方向的准确性。
[0137]实施例3
[0138]本发明实施例提供了一种确定终端的运动方向的装置,参见图3,其中,该装置包括:
[0139]第一获取模块301,用于当检测到用户行进过程中完成一个计步周期时,获取当前计步周期中终端在第一横坐标轴上对应的第一加速度值,终端在第一纵坐标轴上对应的第二加速度值,以及终端在第一竖坐标轴上对应的第三加速度值,第一横坐标轴、第一纵坐标轴和第一竖坐标轴分别为终端的内置坐标系的横坐标轴、纵坐标轴和竖坐标轴;
[0140]第一计算模块302,用于根据第一加速度值、第二加速度值和第三加速度值,分别计算终端在第二横坐标轴上对应的第四加速度值,终端在第二纵坐标轴上对应的第五加速度值,以及终端在第二竖坐标轴上对应的第六加速度值,第二横坐标轴、第二纵坐标轴和第二竖坐标轴分别为地理坐标系的横坐标轴、纵坐标轴和竖坐标轴;
[0141]第一确定模块303,用于根据第四加速度值、第五加速度值和第六加速度值,确定出终端在当前计步周期中运动对应的第一主坐标轴方向;
[0142]第二获取模块304,用于获取终端在第一主坐标轴方向上的第一相关值,以及终端在离当前时间最近的上一个计步周期中的运动方向和终端对应的第二主坐标轴方向上的第二相关值,第一相关值为第一主坐标轴上的加速度与第六加速度值之间的相关值;
[0143]第二确定模块305,用于根据第一相关值、第二相关值和终端在离当前时间最近的上一个计步周期中的运动方向,确定终端在当前计步周期中的运动方向。
[0144]优选的,装置还包括:
[0145]第二计算模块,用于计算终端当前姿态相对于水平面的俯仰角和翻滚角;
[0146]第三计算模块,用于根据俯仰角和翻滚角计算终端当前姿态的方位角;
[0147]第三获取模块,用于获取电子罗盘输入的方向值;
[0148]第四计算模块,用于根据终端在当前计步周期中的运动方向、方位角和方向值,计算终端的航向角;
[0149]显示模块,用于根据终端的航向角显示终端在当前计步周期中的运动方向。
[0150]优选的,第四计算模块,用于如果终端在当前计步周期中的运动方向为向前,计算方向值与方位角的差,得到第一差值,将第一差值作为终端的航向角;
[0151]如果终端的运动方向为向后,计算方向值、方位角与180°的差,得到第二差值,将第二差值作为终端的航向角。
[0152]优选的,第一确定模块303,包括:
[0153]计算单元,用于计算第四加速度值与第六加速度值之间的相关值,第五加速度值与第六加速度值之间的相关值;
[0154]第一确定单元,用于如果第四加速度值与第六加速度值之间的相关值大于第五加速度值与第六加速度值之间的相关值,确定出终端在当前计步周期中运动对应的第一主坐标轴方向为第二横坐标轴方向;
[0155]第二确定单元,用于如果第四加速度值与第六加速度值之间的相关值不大于第五加速度值与第六加速度值之间的相关值,确定出终端在当前计步周期中运动对应的第一主坐标轴方向为第二纵坐标轴方向。
[0156]优选的,第二确定模块305,包括:
[0157]判断单元,用于判断第一相关值的符号和第二相关值的符号是否相同;
[0158]第三确定单元,用于如果相同,确定出终端在当前计步周期中的运动方向为终端在离当前时间最近的上一个计步周期中的运动方向;
[0159]第四确定单元,用于如果不相同,确定出终端在当前计步周期中的运动方向为终端在离当前时间最近的上一个计步周期中的运动方向的相反方向。
[0160]在本发明实施例中,当检测到用户行进过程中完成一个计步周期时,获取当前计步周期中终端在第一横坐标轴上对应的第一加速度值,终端在第一纵坐标轴上对应的第二加速度值,以及终端在第一竖坐标轴上对应的第三加速度值;根据第一加速度值、第二加速度值和第三加速度值,分别计算终端在第二横坐标轴上对应的第四加速度值,终端在第二纵坐标轴上对应的第五加速度值,以及终端在第二竖坐标轴上对应的第六加速度值;根据第四加速度值、第五加速度值和第六加速度值,确定出终端在当前计步周期中运动对应的第一主坐标轴方向;获取终端在第一主坐标轴方向上的第一相关值,以及终端在离当前时间最近的上一个计步周期中的运动方向和终端对应的第二主坐标轴方向上的第二相关值;根据第一相关值、第二相关值和终端在离当前时间最近的上一个计步周期中的运动方向,确定终端在当如计步周期中的运动方向,本发明中根据加速度值确定终端的运动方向,弥补了用户手持终端时终端位置与运动方向不一致时通过电子罗盘获取到错误方向的缺陷,提高了定位的准确度和确定终端运动方向的准确性。
[0161]需要说明的是:上述实施例提供的确定终端运动方向的装置在确定终端运动方向时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的确定终端运动方向的装置与确定终端运动方向的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0162]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0163]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种确定终端的运动方向的方法,其特征在于,所述方法包括: 当检测到用户行进过程中完成一个计步周期时,获取当前计步周期中终端在第一横坐标轴上对应的第一加速度值,所述终端在第一纵坐标轴上对应的第二加速度值,以及所述终端在第一竖坐标轴上对应的第三加速度值,所述第一横坐标轴、所述第一纵坐标轴和所述第一竖坐标轴分别为所述终端的内置坐标系的横坐标轴、纵坐标轴和竖坐标轴; 根据所述第一加速度值、所述第二加速度值和所述第三加速度值,分别计算所述终端在第二横坐标轴上对应的第四加速度值,所述终端在第二纵坐标轴上对应的第五加速度值,以及所述终端在第二竖坐标轴上对应的第六加速度值,所述第二横坐标轴、所述第二纵坐标轴和所述第二竖坐标轴分别为地理坐标系的横坐标轴、纵坐标轴和竖坐标轴; 根据所述第四加速度值、所述第五加速度值和所述第六加速度值,确定出所述终端在所述当前计步周期中运动对应的第一主坐标轴方向;获取所述终端在所述第一主坐标轴方向上的第一相关值,以及所述终端在离当前时间最近的上一个计步周期中的运动方向和所述终端对应的第二主坐标轴方向上的第二相关值,所述第一相关值为所述第一主坐标轴上的加速度与所述第六加速度值之间的相关值;根据所述第一相关值、所述第二相关值和所述终端在离当前时间最近的上一个计步周期中的运动方向,确定所述终端在所述当前计步周期中的运动方向。
2.如权利要求1所述的方法,其特征在于,所述方法还包括: 计算所述终端当前姿态相对于水平面的俯仰角和翻滚角; 根据所述俯仰角和所述翻滚角计算所述终端当前姿态的方位角; 获取所述电子罗盘输入的方向值; 根据所述终端在所述当前计步周期中的运动方向、所述方位角和所述方向值,计算所述终端的航向角; 根据所述终端的航向角显示所述终端在所述当前计步周期中的运动方向。
3.如权利要求2所述的方法,其特征在于,所述根据所述终端在所述当前计步周期中的运动方向、所述方位角和所述方向值,计算所述终端的航向角,包括: 如果所述终端在所述当前计步周期中的运动方向为向前,计算所述方向值与所述方位角的差,得到第一差值,将所述第一差值作为所述终端的航向角; 如果所述终端的运动方向为向后,计算所述方向值、所述方位角与180°的差,得到第二差值,将所述第二差值作为所述终端的航向角。
4.如权利要求1所述的方法,其特征在于,所述根据所述第四加速度值、所述第五加速度值和所述第六加速度值,确定出所述终端在所述当前计步周期中运动对应的第一主坐标轴方向,包括: 计算所述第四加速度值与所述第六加速度值之间的相关值,所述第五加速度值与所述第六加速度值之间的相关值; 如果所述第四加速度值与所述第六加速度值之间的相关值大于所述第五加速度值与所述第六加速度值之间的相关值,确定出所述终端在所述当前计步周期中运动对应的第一主坐标轴方向为所述第二横坐标轴方向; 如果所述第四加速度值与所述第六加速度值之间的相关值不大于所述第五加速度值与所述第六加速度值之间的相关值,确定出所述终端在所述当前计步周期中运动对应的第一主坐标轴方向为所述第二纵坐标轴方向。
5.如权利要求1所述的方法,其特征在于,所述根据所述第一相关值、所述第二相关值和所述终端在离当前时间最近的上一个计步周期中的运动方向,确定所述终端在所述当前计步周期中的运动方向,包括: 判断所述第一相关值的符号和所述第二相关值的符号是否相同; 如果相同,确定出所述终端在所述当前计步周期中的运动方向为所述终端在离当前时间最近的上一个计步周期中的运动方向; 如果不相同,确定出所述终端在所述当前计步周期中的运动方向为所述终端在离当前时间最近的上一个计步周期中的运动方向的相反方向。
6.一种确定终端的运动方向的装置,其特征在于,所述装置包括: 第一获取模块,用于当检测到用户行进过程中完成一个计步周期时,获取当前计步周期中终端在第一横坐标轴上对应的第一加速度值,所述终端在第一纵坐标轴上对应的第二加速度值,以及所述终端在第一竖坐标轴上对应的第三加速度值,所述第一横坐标轴、所述第一纵坐标轴和所述第一竖坐标轴分别为所述终端的内置坐标系的横坐标轴、纵坐标轴和竖坐标轴; 第一计算模块,用于根据所述第一加速度值、所述第二加速度值和所述第三加速度值,分别计算所述终端在第二横坐标轴上对应的第四加速度值,所述终端在第二纵坐标轴上对应的第五加速度值,以及所述终端在第二竖坐标轴上对应的第六加速度值,所述第二横坐标轴、所述第二纵坐标轴和所述第二竖坐标轴分别为地理坐标系的横坐标轴、纵坐标轴和竖坐标轴; 第一确定模块,用于根据所述第四加速度值、所述第五加速度值和所述第六加速度值,确定出所述终端在所述当前计步周期中运动对应的第一主坐标轴方向; 第二获取模块,用于获取所述终端在所述第一主坐标轴方向上的第一相关值,以及所述终端在离当前时间最近的上一个计步周期中的运动方向和所述终端对应的第二主坐标轴方向上的第二相关值,所述第一相关值为所述第一主坐标轴上的加速度与所述第六加速度值之间的相关值; 第二确定模块,用于根据所述第一相关值、所述第二相关值和所述终端在离当前时间最近的上一个计步周期中的运动方向,确定所述终端在所述当前计步周期中的运动方向。
7.如权利要求6所述的装置,其特征在于,所述装置还包括: 第二计算模块,用于计算所述终端当前姿态相对于水平面的俯仰角和翻滚角; 第三计算模块,用于根据所述俯仰角和所述翻滚角计算所述终端当前姿态的方位角; 第三获取模块,用于获取所述电子罗盘输入的方向值; 第四计算模块,用于根据所述终端在所述当前计步周期中的运动方向、所述方位角和所述方向值,计算所述终端的航向角; 显示模块,用于根据所述终端的航向角显示所述终端在所述当前计步周期中的运动方向。
8.如权利要求7所述的装置,其特征在于, 所述第四计算模块,用于如果所述终端在所述当前计步周期中的运动方向为向前,计算所述方向值与所述方位角的差,得到第一差值,将所述第一差值作为所述终端的航向角; 如果所述终端的运动方向为向后,计算所述方向值、所述方位角与180°的差,得到第二差值,将所述第二差值作为所述终端的航向角。
9.如权利要求6所述的装置,其特征在于,所述第一确定模块,包括: 计算单元,用于计算所述第四加速度值与所述第六加速度值之间的相关值,所述第五加速度值与所述第六加速度值之间的相关值; 第一确定单元,用于如果所述第四加速度值与所述第六加速度值之间的相关值大于所述第五加速度值与所述第六加速度值之间的相关值,确定出所述终端在所述当前计步周期中运动对应的第一主坐标轴方向为所述第二横坐标轴方向; 第二确定单元,用于如果所述第四加速度值与所述第六加速度值之间的相关值不大于所述第五加速度值与所述第六加速度值之间的相关值,确定出所述终端在所述当前计步周期中运动对应的第一主坐标轴方向为所述第二纵坐标轴方向。
10.如权利要求6所述的装置,其特征在于,所述第二确定模块,包括: 判断单元,用于判断所述第一相关值的符号和所述第二相关值的符号是否相同; 第三确定单元,用于如果相同,确定出所述终端在所述当前计步周期中的运动方向为所述终端在离当前时间最近的上一个计步周期中的运动方向; 第四确定单元,用于如果不相同,确定出所述终端在所述当前计步周期中的运动方向为所述终端在离当前时间最近的上一个计步周期中的运动方向的相反方向。
【文档编号】G01C21/16GK104266646SQ201410460833
【公开日】2015年1月7日 申请日期:2014年9月11日 优先权日:2014年9月11日
【发明者】邓中亮, 陆顺保, 王克己, 曾辉, 方叶青, 郑若彧, 杨易 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1