一种任意姿态下行人方向的确定方法、装置及电子设备与流程

文档序号:14187704阅读:156来源:国知局

本发明涉及室内定位技术领域,特别是涉及一种任意姿态下行人方向的确定方法、装置及电子设备。



背景技术:

由于gps(globalpositioningsystem,全球定位系统)信号无法随时覆盖室内环境,gps定位已经不能满足室内定位的要求。为解决室内定位问题,基于pdr(pedestriandeadreckoning,行人航迹推算)的定位技术应运而生。

基于pdr的定位技术的核心是pdr算法,这种算法的基本思想为:基于行人步态的运动生理学特征,利用加速度计获得行人在载体坐标系下的加速度信号,结合从角度传感器获得的载体姿态角,推算出行人的位置、行走距离、行人速度和行人方向等信息。载体是指用于定位的终端设备,包括手机、导航设备等。载体姿态角包括:载体航向角、载体俯仰角和载体翻滚角。该算法包含四个核心问题:步频探测、步长估计、行人方向确定和位置计算。

由于实际生活中,行人和载体通常是非捷联的,非捷联是指在整个定位过程中,行人和载体的相对姿态会发生改变,因此,在确定行人方向时,现有的方法主要为:检测行人和载体在当前计步周期的相对姿态,作为第一相对姿态;判断预设的姿态库中是否存在与第一相对姿态匹配的相对姿态,作为目标相对姿态;如果存在,从预设的相对姿态和相对航向角之间的对应关系中,确定目标相对姿态对应的相对航向角,作为行人在当前计步周期的相对航向角,用当前计步周期的载体航向角和行人在当前计步周期的相对航向角之和,作为行人在当前计步周期的航向角,完成行人方向的确定。

这种方法的缺点是:只有预设的姿态库中存在与第一相对姿态匹配的相对姿态时,才能确定行人在当前计步周期的相对航向角,而行人与载体之间的相对姿态一般具有任意性,也就是,可能出现预设的姿态库中不存在与第一相对姿态匹配的相对姿态的情况,在这种情况下,将无法完成行人方向的确定,可见,这种方法具有很大的局限性。



技术实现要素:

本发明实施例的目的在于提供一种任意姿态下行人方向的确定方法、装置及电子设备,以实现在任何情况下完成行人方向的确定。具体技术方案如下:

第一方面,本发明实施例提供一种任意姿态下行人方向的确定方法,所述方法包括:

获得当前计步周期各个时刻的第一类加速度、载体俯仰角和载体翻滚角以及当前计步周期的载体航向角;其中,第一类加速度为:载体坐标系下行人的三轴加速度;

利用各个时刻的载体俯仰角和载体翻滚角,确定各个时刻的转换矩阵,其中,转换矩阵为:用于将三轴加速度从所述载体坐标系转换至投影坐标系的矩阵,所述投影坐标系的z轴与地理坐标系中的z轴重合,所述投影坐标系的y轴为:所述载体坐标系的y轴在所述地理坐标系xoy平面的投影,所述投影坐标系的x轴、y轴以及z轴构成右手坐标系;

针对每个时刻,利用该时刻的转换矩阵对该时刻的第一类加速度进行转换,得到该时刻的第二类加速度;

基于得到的每一第二类加速度,计算行人在当前计步周期的相对航向角;

将所述相对航向角与所述载体航向角之和,确定为行人在当前计步周期的航向角。

可选的,所述基于得到的每一第二类加速度,计算行人在当前计步周期的相对航向角,包括:

确定各个第一计步周期的起始时间点;其中,第一计步周期为:在当前计步周期之前、与当前计步周期的周期时长之差在预设范围内的计步周期;

确定以第一时间点为起始时间点、以第二时间点为终止时间点的目标计步周期,其中,所述第一时间点为:所确定起始时间点中最早的时间点,所述第二时间点为:当前计步周期的终止时间点;

利用所述目标计步周期内每一时刻第二类加速度的x轴加速度以及y轴加速度,计算行人在当前计步周期的相对航向角。

可选的,所述利用所述目标计步周期内每一时刻第二类加速度的x轴加速度以及y轴加速度,计算行人在当前计步周期的相对航向角,包括:

分别对所述目标计步周期内每一时刻第二类加速度的x轴加速度以及y轴加速度进行有效值计算,得到当前计步周期的x轴加速度有效值和y轴加速度有效值;

分别对当前计步周期内每一时刻的第二类加速度的x轴加速度和y轴加速度进行积分,得到当前计步周期的x轴加速度积分值和y轴加速度积分值;

利用所述x轴加速度积分值、所述y轴加速度积分值、所述x轴加速度有效值以及所述y轴加速度有效值,计算得到行人在当前计步周期的相对航向角。

可选的,所述利用所述目标计步周期内每一时刻第二类加速度的x轴加速度以及y轴加速度,计算行人在当前计步周期的相对航向角,包括:

针对目标计步周期内每一时刻,按照各个第一预设旋转角度,对该时刻的第二类加速度的x轴加速度以及y轴加速度沿着第一预设旋转方向进行旋转,得到该时刻的各个第一预设旋转角度对应的y轴旋转加速度;

对于每个第一预设旋转角度,获得该第一预设旋转角度对应的y轴旋转加速度信号,对所获得的y轴旋转加速度信号进行傅里叶变换,得到y轴加速度幅频信号;其中,一个第一预设旋转角度对应的y轴旋转加速度信号,由目标计步周期内每一时刻的该第一预设旋转角度对应的y轴旋转加速度形成;

获得各个y轴加速度幅频信号中目标步频对应的加速度;其中,所述目标步频由各个第一计步周期以及所述当前计步周期的周期时长确定;

基于目标y轴旋转加速度信号对应的第一预设旋转角度,确定行人在当前计步周期的相对航向角,其中,所述目标y轴旋转加速度信号为:进行傅里叶变换时得到目标y轴加速度幅频信号所采用的y轴旋转加速度信号,所述目标y轴加速度幅频信号为:最大加速度所属的y轴加速度幅频信号,所述最大加速度为:所述目标步频对应的所有加速度中最大的加速度。

可选的,所述基于目标y轴旋转加速度信号对应的第一预设旋转角度,确定行人在当前计步周期的相对航向角,包括:

对目标y轴旋转加速度信号在当前计步周期和当前计步周期上一个计步周期内每一时刻的y轴旋转加速度进行积分,得到目标y轴旋转加速度积分值;

利用所述目标y轴旋转加速度积分值以及目标y轴旋转加速度信号对应的第一预设旋转角度,确定行人在当前计步周期的相对航向角。

可选的,所述利用所述目标计步周期内每一时刻第二类加速度的x轴加速度以及y轴加速度,计算行人在当前计步周期的相对航向角,包括:

针对目标计步周期内每一时刻,按照各个第二预设旋转角度,对该时刻的第二类加速度的x轴加速度以及y轴加速度沿着第二预设旋转方向进行旋转,得到该时刻的各个第二预设旋转角度对应的x轴旋转加速度;

对于每个第二预设旋转角度,获得该第二预设旋转角度对应的x轴旋转加速度信号,对所获得的x轴旋转加速度信号进行傅里叶变换,得到x轴加速度幅频信号;其中,一个第二预设旋转角度对应的x轴旋转加速度信号,由目标计步周期内每一时刻的该第二预设旋转角度对应的x轴旋转加速度形成;

获得各个x轴加速度幅频信号中目标步频对应的加速度;其中,所述目标步频由各个第一计步周期以及当前计步周期的周期时长确定;

基于目标x轴旋转加速度信号对应的第二预设旋转角度,确定行人在当前计步周期的相对航向角,其中,所述目标x轴旋转加速度信号为:进行傅里叶变换时得到目标x轴加速度幅频信号所采用的x轴旋转加速度信号,所述目标x轴加速度幅频信号为:最小加速度所属的x轴加速度幅频信号,所述最小加速度为:目标步频对应的所有加速度中最小的加速度。

可选的,利用以下计算公式计算得到行人在当前计步周期的相对航向角:

β相对=atan2(sgnk(x)*ax,sgnk(y)*ay)

其中,当前计步周期为第k个计步周期,β相对表示行人在第k个计步周期的相对航向角,sk(x)和sk(y)分别表示第k个计步周期的x轴加速度积分值和y轴加速度积分值,ax和ay分别表示第k个计步周期的x轴加速度有效值和y轴加速度有效值,sgnk(x)、sgnk-1(x)和sgn(sk(x),表示第k个计步周期的x轴符号、第k-1个计步周期的x轴符号和第k个计步周期的x轴加速度积分值的符号,sgnk(y)、sgnk-1(y)和sgn(sk(y)分别表示第k个计步周期的y轴符号、第k-1个计步周期的y轴符号和第k个计步周期的y轴加速度积分值的符号,a阈值为预设积分阈值。

第二方面,本发明实施例提供一种任意姿态下行人方向的确定装置,所述装置包括:

第一获得模块,用于获得当前计步周期各个时刻的第一类加速度、载体俯仰角和载体翻滚角以及当前计步周期的载体航向角;其中,第一类加速度为:载体坐标系下行人的三轴加速度;

第一确定模块,用于利用各个时刻的载体俯仰角和载体翻滚角,确定各个时刻的转换矩阵,其中,转换矩阵为:用于将三轴加速度从所述载体坐标系转换至投影坐标系的矩阵,所述投影坐标系的z轴与地理坐标系中的z轴重合,所述投影坐标系的y轴为:所述载体坐标系的y轴在所述地理坐标系xoy平面的投影,所述投影坐标系的x轴、y轴以及z轴构成右手坐标系;

第二获得模块,用于针对每个时刻,利用该时刻的转换矩阵对该时刻的第一类加速度进行转换,得到该时刻的第二类加速度;

计算模块,用于基于得到的每一第二类加速度,计算行人在当前计步周期的相对航向角;

第二确定模块,用于将所述相对航向角与所述载体航向角之和,确定为行人在当前计步周期的航向角。

可选的,所述计算模块,包括:

第一确定子模块,用于确定各个第一计步周期的起始时间点;其中,第一计步周期为:在当前计步周期之前、与当前计步周期的周期时长之差在预设范围内的计步周期;

第二确定子模块,用于确定以第一时间点为起始时间点、以第二时间点为终止时间点的目标计步周期,其中,所述第一时间点为:所确定起始时间点中最早的时间点,所述第二时间点为:当前计步周期的终止时间点;

计算子模块,用于利用所述目标计步周期内每一时刻第二类加速度的x轴加速度以及y轴加速度,计算行人在当前计步周期的相对航向角。

可选的,所述计算子模块,具体用于:

分别对所述目标计步周期内每一时刻第二类加速度的x轴加速度以及y轴加速度进行有效值计算,得到当前计步周期的x轴加速度有效值和y轴加速度有效值;

分别对当前计步周期内每一时刻的第二类加速度的x轴加速度和y轴加速度进行积分,得到当前计步周期的x轴加速度积分值和y轴加速度积分值;

利用所述x轴加速度积分值、所述y轴加速度积分值、所述x轴加速度有效值以及所述y轴加速度有效值,计算得到行人在当前计步周期的相对航向角。

可选的,所述计算子模块,包括:

旋转单元,用于针对目标计步周期内每一时刻,按照各个第一预设旋转角度,对该时刻的第二类加速度的x轴加速度以及y轴加速度沿着第一预设旋转方向进行旋转,得到该时刻的各个第一预设旋转角度对应的y轴旋转加速度;

第一获得单元,用于对于每个第一预设旋转角度,获得该第一预设旋转角度对应的y轴旋转加速度信号,对所获得的y轴旋转加速度信号进行傅里叶变换,得到y轴加速度幅频信号;其中,一个第一预设旋转角度对应的y轴旋转加速度信号,由目标计步周期内每一时刻的该第一预设旋转角度对应的y轴旋转加速度形成;

第二获得单元,用于获得各个y轴加速度幅频信号中目标步频对应的加速度;其中,所述目标步频由各个第一计步周期以及所述当前计步周期的周期时长确定;

确定单元,用于基于目标y轴旋转加速度信号对应的第一预设旋转角度,确定行人在当前计步周期的相对航向角,其中,所述目标y轴旋转加速度信号为:进行傅里叶变换时得到目标y轴加速度幅频信号所采用的y轴旋转加速度信号,所述目标y轴加速度幅频信号为:最大加速度所属的y轴加速度幅频信号,所述最大加速度为:所述目标步频对应的所有加速度中最大的加速度。

可选的,所述确定单元,具体用于:

对目标y轴旋转加速度信号在当前计步周期和当前计步周期上一个计步周期内每一时刻的y轴旋转加速度进行积分,得到目标y轴旋转加速度积分值;

利用所述目标y轴旋转加速度积分值以及目标y轴旋转加速度信号对应的第一预设旋转角度,确定行人在当前计步周期的相对航向角。

可选的,所述计算子模块,具体用于:

针对目标计步周期内每一时刻,按照各个第二预设旋转角度,对该时刻的第二类加速度的x轴加速度以及y轴加速度沿着第二预设旋转方向进行旋转,得到该时刻的各个第二预设旋转角度对应的x轴旋转加速度;

对于每个第二预设旋转角度,获得该第二预设旋转角度对应的x轴旋转加速度信号,对所获得的x轴旋转加速度信号进行傅里叶变换,得到x轴加速度幅频信号;其中,一个第二预设旋转角度对应的x轴旋转加速度信号,由目标计步周期内每一时刻的该第二预设旋转角度对应的x轴旋转加速度形成;

获得各个x轴加速度幅频信号中目标步频对应的加速度;其中,所述目标步频由各个第一计步周期以及当前计步周期的周期时长确定;

基于目标x轴旋转加速度信号对应的第二预设旋转角度,确定行人在当前计步周期的相对航向角,其中,所述目标x轴旋转加速度信号为:进行傅里叶变换时得到目标x轴加速度幅频信号所采用的x轴旋转加速度信号,所述目标x轴加速度幅频信号为:最小加速度所属的x轴加速度幅频信号,所述最小加速度为:目标步频对应的所有加速度中最小的加速度。

可选的,利用以下计算公式计算得到行人在当前计步周期的相对航向角:

β相对=atan2(sgnk(x)*ax,sgnk(y)*ay)

其中,当前计步周期为第k个计步周期,β相对表示行人在第k个计步周期的相对航向角,sk(x和sk(y分别表示第k个计步周期的x轴加速度积分值和y轴加速度积分值,ax和ay分别表示第k个计步周期的x轴加速度有效值和y轴加速度有效值,sgnk(x)、sgnk-1(x)和sgn(sk(x),表示第k个计步周期的x轴符号、第k-1个计步周期的x轴符号和第k个计步周期的x轴加速度积分值的符号,sgnk(y)、sgnk-1(y)和sgn(sk(y)分别表示第k个计步周期的y轴符号、第k-1个计步周期的y轴符号和第k个计步周期的y轴加速度积分值的符号,a阈值为预设积分阈值。

第三方面,本发明实施例提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一所述的任意姿态下行人方向的确定方法的步骤。

第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的任意姿态下行人方向的确定方法的步骤。

应用本发明实施例提供的技术方案,对于行人与载体之间的任意相对姿态,均可以计算出行人在当前计步周期的相对航向角,进而,可以确定行人在当前计步周期的航向角,因此,实现了在任何情况下完成行人方向的确定。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的坐标系示意图;

图2为本发明实施例提供的任意姿态下行人方向的确定方法的一种流程示意图;

图3为本发明实施例提供的任意姿态下行人方向的确定装置的一种结构示意图;

图4为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了便于理解,首先对本申请文件中涉及的概念进行介绍。

1、载体坐标系、地理坐标系以及投影坐标系

载体坐标系,顾名思义,载体自身所定义的坐标系,广泛用于惯性导航。通常,载体坐标系的原点为载体的几何中心,载体坐标系的y轴为行人行走中水平向前的方向,载体坐标系的z轴为竖直向上,载体坐标系的x轴指向载体右侧,三者形成右手坐标系。

地理坐标系为东-北-天坐标系,地理坐标系的原点为行人在地球表面开始行走的位置,地理坐标系的x轴、y轴以及z轴分别指向正东、正北和法线方向,三者构成右手坐标系。

投影坐标系的z轴与地理坐标系中的z轴重合,投影坐标系的y轴为:载体坐标系的y轴在地理坐标系xoy平面的投影,投影坐标系的x轴、y轴以及z轴构成右手坐标系。

示例性的,如图1所示,载体坐标系对应的坐标轴分别为:x1轴、y1轴和z1轴,其中,y1轴为行人行走中水平向前的方向,z1轴为竖直向上的方向,x1轴指向载体的右侧,地理坐标系对应的坐标轴分别为:x轴、y轴和z轴,投影坐标系对应的坐标轴分别为:x2轴、y2轴和z2轴。

2、载体俯仰角、载体翻滚角以及载体航向角

载体俯仰角、载体翻滚角以及载体航向角被用来描述载体在地理坐标系中的姿态。

载体俯仰角是载体坐标系的y轴与地理坐标系xoy平面的夹角,也就是,载体绕载体坐标系的x轴旋转形成的角度,当载体坐标系的y轴在地理坐标系xoy平面上方时,载体俯仰角为正;否则,载体俯仰角为负。

载体翻滚角是载体坐标系的x轴与地理坐标系xoy平面的夹角,也就是,载体绕载体坐标系的y轴旋转形成的角度,当载体坐标系的x轴在地理坐标系xoy平面上方时,载体翻滚角为正;否则,载体翻滚角为负。

载体航向角是载体绕载体坐标系的z轴旋转形成的角度,也就是,投影坐标系的y轴与地理坐标系的y轴的夹角。

3、行人航向角

行人的航向角是地理坐标系的y轴与行人方向的夹角,相对航向角是投影坐标系的y轴与行人方向的夹角,范围为[-180°,+180°],其中,顺时针方向为正,逆时针方向为负,行人的航向角等于相对航向角与载体航向角之和。

例如,在图1所示的xoy平面内,y与y2的夹角称为载体航向角,也就是α,y2与行人方向的夹角称为相对航向角,也就是β,从而,y与行人方向的夹角,也就是行人的航向角为:α+β。

下面对本发明实施例所提供的一种任意姿态下行人方向的确定方法进行介绍。

需要说明的是,本发明实施例所提供的任意姿态下行人方向的确定方法应用于载体,例如,手机、导航设备等终端设备。另外,实现本发明实施例所提供的任意姿态下行人方向的确定方法的功能软件可以为专门的行人方向确定软件,也可以为现有行人方向确定软件或其他具有行人方向确定功能的软件中的插件。

参见图2所示,本发明实施例提供的一种任意姿态下行人方向的确定方法,包括如下步骤:

s101,获得当前计步周期各个时刻的第一类加速度、载体俯仰角和载体翻滚角以及当前计步周期的载体航向角;其中,第一类加速度为:载体坐标系下行人的三轴加速度;

为了便于获得第一类加速度、载体俯仰角、载体翻滚角以及载体航向角,在一种具体的实施方式中,载体中可以包含mems(microelectromechanicalsystems,微机电系统)传感器,例如,加速度计、陀螺仪以及磁力计。

加速度计、陀螺仪以及磁力计都有单轴、双轴、三轴等多种类型,实际应用中,用户可以根据不同需求选择不同类型,本发明实施例对采用的各个传感器的具体类型不做限定。

示例性的,可以三轴加速度计检测行人在载体坐标系下的三轴加速度,包括:行人在载体坐标系下的x轴加速度、y轴加速度以及z轴加速度;利用三轴陀螺仪测量载体环绕地理坐标系的三个轴的旋转角速度,利用磁力计检测磁场强度,进而,可以根据三者的测量结果,得到当前计步周期各个时刻的第一类加速度、载体俯仰角和载体翻滚角以及当前计步周期的载体航向角。

另外,为了对各个传感器检测的数据进行融合,以准确获得第一类加速度、载体俯仰角、载体翻滚角以及载体航向角,载体中还可以包含扩展卡尔曼滤波器,进而,载体可以利用扩展卡尔曼滤波器对各个传感器检测的数据进行融合计算,得到当前计步周期各个时刻的第一类加速度,载体俯仰角和载体翻滚角以及当前计步周期的载体航向角。

s102,利用各个时刻的载体俯仰角和载体翻滚角,确定各个时刻的转换矩阵,

其中,转换矩阵为:用于将三轴加速度从载体坐标系转换至投影坐标系的矩阵,投影坐标系的z轴与地理坐标系中的z轴重合,投影坐标系的y轴为:载体坐标系的y轴在地理坐标系xoy平面的投影,投影坐标系的x轴、y轴以及z轴构成右手坐标系;

s103,针对每个时刻,利用该时刻的转换矩阵对该时刻的第一类加速度进行转换,得到该时刻的第二类加速度;

由于第一类加速度是载体坐标系下行人的三轴加速度,而行人是在地理坐标系下行走,因此,可以将载体坐标系下的三轴加速度统一到地理坐标系中,也就是,可以将每一时刻的第一类加速度从载体坐标系转换至投影坐标系,得到每一时刻的第二类加速度,可以看出,第二类加速度为:投影坐标系下行人的三轴加速度。

为了得到每一时刻的第二类加速度,需要获得各个时刻的转换矩阵,具体的,可以利用以下矩阵表达式确定各个时刻的转换矩阵:

其中,rt表示第t时刻的转换矩阵,pt和rt分别表示第t时刻的载体俯仰角和载体翻滚角。

进一步的,假设第t时刻的第一类加速度为a1(t),则第t时刻的转换矩阵的第一类加速度可以为a2(t)=a1(t)*rt。

s104,基于得到的每一第二类加速度,计算行人在当前计步周期的相对航向角;

由于三轴加速度计测量的加速度数据中包含地球重力分量、仪器测量噪声和行走时身体抖动数据,因此,在基于得到的每一第二类加速度,计算行人在当前计步周期的相对航向角之前;可以对得到的每一第二类加速度进行预处理,以剔除重力分量,消除噪声,使得由每一第二类加速度形成的加速度波形的特征更清晰。具体的预处理方法可以为:多点平滑方法、低通滤波方法、差分处理方法、小波去噪方法等方法中的一种或组合。

具体的,基于得到的每一第二类加速度,计算行人在当前计步周期的相对航向角,可以包括:利用预处理后的每一第二类加速度,计算行人在当前计步周期的相对航向角。

在一种具体的实施方式中,基于得到的每一第二类加速度,计算行人在当前计步周期的相对航向角,还可以包括以下步骤:

步骤a1,确定各个第一计步周期的起始时间点;

其中,第一计步周期可以为:在当前计步周期之前、与当前计步周期的周期时长之差在预设范围内的计步周期;

预设范围可以根据用户需求事先设定,本发明实施例对此不做限定,例如,可以为:[-0.1,+0.1]、[-0.2,+0.2]、[-0.3,+0.3]等等。

步骤a2,确定以第一时间点为起始时间点、以第二时间点为终止时间点的目标计步周期,

其中,第一时间点可以为:所确定起始时间点中最早的时间点,第二时间点可以为:当前计步周期的终止时间点;

步骤a3,利用目标计步周期内每一时刻第二类加速度的x轴加速度以及y轴加速度,计算行人在当前计步周期的相对航向角。

理论上,行人在行走过程中,三轴加速度计可以检测每个时刻的第一类加速度,输出由每个时刻的第一类加速度形成的第一类三轴加速度信号,包括:x轴、y轴以及z轴三个轴的第一类加速度信号,三个轴的第一类加速度信号的波形都具有周期性,而且z轴的第一类加速度信号的波形周期性最明显。

由于转换矩阵并不会改变波形周期性,因此,在第二类三轴加速度信号中,z轴的第二类加速度信号的波形周期性也最明显,可以用于确定每个计步周期的起止时间点,一个计步周期的起止时间点是指行人行走一步的起止时间点,对应于z轴的第二类加速度信号的一个波形周期的起止时间点。

利用z轴的第二类加速度信号,可以确定各个第一计步周期的起始时间点以及当前计步周期的起止时间点,从而可以确定目标计步周期。

另外,为了合理设置目标计步周期,避免目标计步周期过长,在一种具体的实施方式中,还可以事先设置周期数阈值,从而,可以从已确定的起始时间点中,按照起始时间点从晚到早的顺序,将排名在第预设周期数阈值位的起始时间点,作为第一时间点,从而达到合理设置目标计步周期的目的。

预设周期数阈值的具体数值可以根据用户需求事先设定,本发明实施例对此不做限定,例如,可以为:4、5、6、7等等。

示例性的,预设周期数阈值为5,已确定各个第一计步周期的起始时间点包括:9点1秒、9点2秒、9点3秒、9点4秒、9点5秒、9点6秒,则按照起始时间点从晚到早的顺序,将排名在第5位的起始时间点,也就是9点2秒,作为第一时间点。

在一种具体的实现方式中,利用目标计步周期内每一时刻第二类加速度的x轴加速度以及y轴加速度,计算行人在当前计步周期的相对航向角,可以包括以下步骤:

步骤b1,分别对目标计步周期内每一时刻第二类加速度的x轴加速度以及y轴加速度进行有效值计算,得到当前计步周期的x轴加速度有效值和y轴加速度有效值;

步骤b2,分别对当前计步周期内每一时刻的第二类加速度的x轴加速度和y轴加速度进行积分,得到当前计步周期的x轴加速度积分值和y轴加速度积分值;

步骤b3,利用x轴加速度积分值、y轴加速度积分值、x轴加速度有效值以及y轴加速度有效值,计算得到行人在当前计步周期的相对航向角。

理论上,每个时刻的第二类加速度的x轴加速度以及y轴加速度均包括行人方向加速度和行人侧向加速度,也就是,如果当前计步周期的某个时刻的行人方向加速度和行人侧向加速度分别为a和b,则该时刻的第二类加速度的x轴加速度和y轴加速度分别为:ax=a*sin(β)+b*cos(β)和ay=a*cos(β)–b*sin(β),其中,β为待计算的当前计步周期的相对航向角。

因此,为了便于相对航向角的计算,可以在步骤b1之前,滤除行人侧向加速度,从而,可以得到当前计步周期的某个时刻第二类加速度的x轴加速度和y轴加速度分别为:ax=a*sin(β),ay=a*cos(β),进而,可以利用反正切公式:β=arctan2(ax,ay),得到当前计步周期的相对航向角。

为了便于滤除行人侧向加速度,载体还可以包括带通滤波器,从而,载体可以通过带通滤波器滤除行人侧向加速度,具体过程可以为:设置通频带来保留步频处的第二类加速度,设置阻带来滤除半步频处的加速度信号,步频是指行人行走一步所用的时间的倒数。

由于行人方向加速度对应的频率集中在步频处,行人侧向加速度对应的频率集中在半步频处,故实现了对行人侧向加速度的滤除,同时,保留了行人方向加速度。

另外,由于第二类加速度的x轴加速度与y轴加速度在每一计步周期内并不完全同步,因此,对当前计步周期的某个时刻第二类加速度的x轴加速度和y轴加速度进行反正切,并将直接将所得的反正切角,作为当前计步周期的相对航向角的准确度不高。

为了提高相对航向角的计算准确度,可以对当前计步周期的x轴加速度有效值和y轴加速度有效值进行反正切,并根据所得的反正切角,确定当前计步周期的相对航向角。

具体的,可以通过以下计算公式,计算得到当前计步周期的x轴加速度有效值和y轴加速度有效值:

其中,ax和ay分别表示当前计步周期的x轴加速度有效值和y轴加速度有效值,n表示目标周期内第二类加速度的个数,ax1,ax2,…,axn分别表示目标计步周期内第一时刻、第二时刻、.......、第n时刻的第二类加速度的x轴加速度,ay1,ay2,…,ayn分别表示目标计步周期内第一时刻、第二时刻、.......、第n时刻的第二类加速度的y轴加速度。

进而,可以对当前计步周期的x轴加速度有效值和y轴加速度有效值进行反正切,并根据反正切角,得到当前计步周期的相对航向角。

由于得到的反正切角的范围为[-90°,+90°],而相对航向角的范围为[-180°,+180°],也就是说,计算出的反正切角只能判别地理坐标系xoy平面中的相邻的两个象限,无法判别相对的两个象限,例如,无法区分第一象限和第三象限,以及第二象限和四象限,也就是,无法区分行人方向在地理坐标系xoy平面中的第一象限还是第三象限,以及是在第二象限还是第四象限,故,利用反正切角,可以获得两个相对航向角。

例如,当计算出的反正切角为60°时,行人方向可以在第一象限,此时相对航向角为60°,或者,行人方向也可以在第三象限,此时相对航向角为-120°。

因此,为了从所获得的两个相对航向角中,确定一个作为行人在当前计步周期的航向角,在一种具体的实施方式中,可以利用步骤b2,得到当前计步周期的x轴加速度积分值和y轴加速度积分值,进而,根据所得的x轴加速度积分值和y轴加速度积分值确定行人方向所在的象限。

首先,可以利用以下积分公式,计算得到当前计步周期的x轴加速度积分值和y轴加速度积分值:

sk(x)=ax1*δt+ax2*δt+axm*δt=(ax1+ax2+…+axm)*δt

sk(y)=ay1*δt+ay2*δt+aym*δt=(ay1+ay22+…+aym)*δt

其中,sk(x)和sk(y)分别表示第k个计步周期的x轴加速度积分值和y轴加速度积分值,ax1,ax2,…,axm分别表示第k个计步周期内的第一时刻、第二时刻、...、第m时刻的第二类加速度的x轴加速度,ay1,ay2,…,aym分别表示第k个计步周期内的第一时刻、第二时刻、.......、第m时刻的第二类加速度的y轴加速度,δt表示第二类加速度的采样时间间隔。

进而,可以利用以下计算公式计算得到行人在当前计步周期的相对航向角:

β相对=atan2(sgnk(x)*ax,sgnk(y)*ay)

其中,当前计步周期为第k个计步周期,β相对表示行人在第k个计步周期的相对航向角,sk(x)和sk(y)分别表示第k个计步周期的x轴加速度积分值和y轴加速度积分值,ax和ay分别表示第k个计步周期的x轴加速度有效值和y轴加速度有效值,sgnk(x)、sgnk-1(x)和sgn(sk(x),表示第k个计步周期的x轴符号、第k-1个计步周期的x轴符号和第k个计步周期的x轴加速度积分值的符号,sgnk(y)、sgnk-1(y)和sgn(sk(y)分别表示第k个计步周期的y轴符号、第k-1个计步周期的y轴符号和第k个计步周期的y轴加速度积分值的符号,a阈值为预设积分阈值,a阈值可以根据用户经验事先设定,可以为零值附近的正值,例如,0.1、0.2、0.3、0.4等等。

可以看出,利用第k个计步周期的x轴符号以及第k个计步周期的y轴符号,可以确定行人方向在地理坐标系xoy平面的第几象限,综合利用反正切角可以确定计算行人在当前计步周期的相对航向角。

例如,第k个计步周期的x轴符号为正,第k个计步周期的y轴符号为正,则可以确定行人方向在地理坐标系xoy平面的第一象限,结合得到的反正切角为60°,则可以确定行人在当前计步周期的相对航向角为60°

在另一种具体的实施方式中,利用目标计步周期内每一时刻第二类加速度的x轴加速度以及y轴加速度,计算行人在当前计步周期的相对航向角,还可以包括步骤c1-c4:

步骤c1,针对目标计步周期内每一时刻,按照各个第一预设旋转角度,对该时刻的第二类加速度的x轴加速度以及y轴加速度沿着第一预设旋转方向进行旋转,得到该时刻的各个第一预设旋转角度对应的y轴旋转加速度;

各个第一预设旋转角度可以为0°-180°之间的各个角度,第一预设旋转角度的数量可以根据用户需求事先设定,本发明实施例对此不做限定,例如,可以共有180个第一预设旋转角度,每个第一预设旋转角度之间的角度差为1°,也可以共有90个第一预设旋转角度,每个第一预设旋转角度之间的角度差为2°等等。

第一预设旋转方向可以根据用户需求事先设定,本发明实施例对此不做限定,例如,可以为顺时针方向,也可以为逆时针方向。

假设某个时刻的第二类加速度的x轴加速度以及y轴加速度分别为ax和ay,第一预设旋转角度φ,则该时刻的φ对应的y轴旋转加速度可以为:ay'=ax*sin(φ)+ay*cos(φ)。

步骤c2,对于每个第一预设旋转角度,获得该第一预设旋转角度对应的y轴旋转加速度信号,对所获得的y轴旋转加速度信号进行傅里叶变换,得到y轴加速度幅频信号;

其中,一个第一预设旋转角度对应的y轴旋转加速度信号,由目标计步周期内每一时刻的该第一预设旋转角度对应的y轴旋转加速度形成;

可以理解的是,每个第一预设旋转角度对应多个时刻的y轴旋转加速度,故,对于每个第一预设旋转角度,获得该第一预设旋转角度对应的y轴旋转加速度信号。

进一步的,对所获得的y轴旋转加速度信号进行傅里叶变换,可以得到y轴加速度幅频信号,y轴加速度幅频信号能够反映频率与加速度幅值的对应关系。傅里叶变换是一种信号处理方法,可以用于将信号从时域转化为频域,从而可以在频域对信号进行分析。

步骤c3,获得各个y轴加速度幅频信号中目标步频对应的加速度;

其中,目标步频由各个第一计步周期以及当前计步周期的周期时长确定;

具体的,目标步频可以等于目标周期时长的倒数,目标周期时长可以等于各个第一计步周期以及当前计步周期的周期时长的平均值。

例如,各个第一计步周期以及当前计步周期的周期时长分别为:0.5、0.6、0.4、0.5、0.6,则目标周期时长等于:(0.5+0.6+0.4+0.5+0.5)/5=0.5,则目标步频等于1/0.5=2hz。

每个y轴加速度幅频信号中均包含各个频率以及各个频率对应的加速度,从而,可以获得各个y轴加速度幅频信号中目标步频对应的加速度。

步骤c4,基于目标y轴旋转加速度信号对应的第一预设旋转角度,确定行人在当前计步周期的相对航向角,

其中,目标y轴旋转加速度信号为:进行傅里叶变换时得到目标y轴加速度幅频信号所采用的y轴旋转加速度信号,目标y轴加速度幅频信号为:最大加速度所属的y轴加速度幅频信号,最大加速度为:目标步频对应的所有加速度中最大的加速度。

示例性的,目标步频对应的所有加速度包括:a、b、c、d、e,其中,加速度最大的为a,则最大加速度为a,目标y轴加速度幅频信号为:加速度a所属的y轴加速度幅频信号。

另外,为了快速的确定相对航向角,在一种具体的实施方式中,可以采用二分法确定目标y轴旋转加速度信号对应的第一预设旋转角度。二分法是一种常用的用于查找数据的方法,可以实现快速查找所需数据,被广泛应用于各个领域。

基于目标y轴旋转加速度信号对应的第一预设旋转角度,确定行人在当前计步周期的相对航向角,可以包括:

对当前计步周期和当前计步周期前一个计步周期内每一时刻的第二类加速度的x轴加速度进行积分,得到两个计步周期的x轴加速度积分值;

对当前计步周期和当前计步周期前一个计步周期内每一时刻的第二类加速度的y轴加速度进行积分,得到两个计步周期的y轴加速度积分值;

获得两个计步周期的x轴加速度积分值的符号和y轴加速度积分值的符号;

利用所获得的符号、两个计步周期的x轴加速度积分值和y轴加速度积分值、以及目标y轴旋转加速度信号对应的第一预设旋转角度,确定行人在当前计步周期的相对航向角。

具体的,可以通以下方式确定行人在当前计步周期的相对航向角:

当0°<θ<90°,|sk-1,k(y)|>|sk-1,k(x)|,|sk-1,k(y)|>a阈值时,

若sgn(sk-1,k(y))>0,则β相对=θ;

若sgn(sk-1,k(y))<0,则β相对=θ-180°;

当0°<θ<90°,|sk-1,k(x)|>|sk-1,k(y)|,|sk-1,k(x)|>a阈值时,

若sgn(sk-1,k(x))>0,则β相对=θ;

若sgn(sk-1,k(x))<0,则β相对=θ-180°;

当90°<θ<180°,|sk-1,k(y)|>|sk-1,k(x)|,|sk-1,k(y)|>a阈值时,

若sgn(sk-1,k(y))>0,则β相对=θ-180°;

若sgn(sk-1,k(y))<0,则β相对=θ;

当90°<θ<180°,|sk-1,k(x)|>|sk-1,k(y)|,|sk-1,k(x)|>a阈值时,

若sgn(sk-1,k(x))>0,则β相对=θ;

若sgn(sk-1,k(x))<0,则β相对=θ-180°;

当max(|sk-1,k(x)|,|sk-1,k(y)|)≤a阈值时;

β相对对应计算公式与上一计步周期的相同。

其中,β相对表示行人在当前计步周期的相对航向角,sgn(sk-1,k(x))和sgn(sk-1,k(y))分别为:两个计步周期的x轴加速度积分值的符号和y轴加速度积分值的符号,sk-1,k(x),sk-1,k(y)分别为:两个计步周期的x轴加速度积分值和y轴加速度积分值,θ为目标y轴旋转加速度信号对应的第一预设旋转角度,a阈值为预设积分阈值。

另外,为了增加象限判断的可靠性,进而提高相对航向角的计算准确度,在一种具体的实施方式中,基于目标y轴旋转加速度信号对应的第一预设旋转角度,确定行人在当前计步周期的相对航向角,还可以包括以下步骤:

对目标y轴旋转加速度信号在当前计步周期和当前计步周期上一个计步周期内每一时刻的y轴旋转加速度进行积分,得到目标y轴旋转加速度积分值;

利用目标y轴旋转加速度积分值以及目标y轴旋转加速度信号对应的第一预设旋转角度,确定行人在当前计步周期的相对航向角。

具体的,当目标y轴旋转加速度积分值的绝对值大于预设积分阈值时,若目标y轴旋转加速度积分值为负,则可以判定当前计步周期的相对航向角所属象限为:第一/第二象限,若目标y轴旋转加速度积分值为正,则可以判定当前计步周期的相对航向角所属象限为:第三/第四象限;

当目标y轴旋转加速度积分值的绝对值小于等于预设积分阈值时,则可以判定当前计步周期的相对航向角所属象限为:当前计步周期的上一计步周期的相对航向角所属象限。

进一步的,在利用目标y轴旋转加速度积分值确定相对航向角所属象限后,可以结合目标y轴旋转加速度信号对应的第一预设旋转角度,确定行人在当前计步周期的相对航向角,具体表达式可以如下:

当|sk-1,k(y*)|>a阈值时,

若sk-1,k(y*)>0,则β相对=θ;若sk-1,k(y*)<0,则β相对=θ-180

当|sk-1,k(y*)|a阈值时,β相对对应的计算公式与上一计步周期的相同。

其中,β相对表示行人在当前计步周期的相对航向角,y*为目标y轴旋转加速度信号,sk-1,k(y*)表示目标y轴旋转加速度积分值,a阈值为预设积分阈值,θ为目标y轴旋转加速度信号对应的第一预设旋转角度。

在又一种具体的实施方式中,利用目标计步周期内每一时刻第二类加速度的x轴加速度以及y轴加速度,计算行人在当前计步周期的相对航向角,还包括以下步骤:

步骤d1,针对目标计步周期内每一时刻,按照各个第二预设旋转角度,对该时刻的第二类加速度的x轴加速度以及y轴加速度沿着第二预设旋转方向进行旋转,得到该时刻的各个第二预设旋转角度对应的x轴旋转加速度;

各个第二预设旋转角度可以为0°-180°之间的各个角度,第二预设旋转角度的数量可以根据用户需求事先设定,本发明实施例对此不做限定,例如,共有180个第一预设旋转角度,每个第一预设旋转角度之间的角度差为1°,也可以共有90个第一预设旋转角度,每个第一预设旋转角度之间的角度差为2°等等。

另外,第二预设旋转角度与第一预设旋转角度的设定无关,也就是,各个第二预设旋转角度与各个第一预设旋转角度可以相等,也可以不相等。

第二预设旋转方向可以根据用户需求事先设定,本发明实施例对此不做限定,例如,可以为顺时针方向,也可以为逆时针方向。第二预设旋转方向与第一预设旋转方向的设定无关,也就是,第二预设旋转方向与第一预设旋转方向可以相同,也可以不相同。

假设某个时刻的第二类加速度的x轴加速度以及y轴加速度分别为ax和ay,第二预设旋转角度φ,则该时刻的φ对应的x轴旋转加速度可以为:ax'=ax*cos(φ)-ay*sin(φ);。

步骤d2,对于每个第二预设旋转角度,获得该第二预设旋转角度对应的x轴旋转加速度信号,对所获得的x轴旋转加速度信号进行傅里叶变换,得到x轴加速度幅频信号;

其中,一个第二预设旋转角度对应的x轴旋转加速度信号,由目标计步周期内每一时刻的该第二预设旋转角度对应的x轴旋转加速度形成;

可以理解的是,每个第二预设旋转角度对应多个时刻的x轴旋转加速度,故,对于每个第二预设旋转角度,获得该第二预设旋转角度对应的x轴旋转加速度信号。

进一步的,对所获得的x轴旋转加速度信号进行傅里叶变换,可以得到x轴加速度幅频信号,x轴加速度幅频信号能够反映频率与加速房幅值的对应关系。

步骤d3,获得各个x轴加速度幅频信号中目标步频对应的加速度;

其中,目标步频由各个第一计步周期以及当前计步周期的周期时长确定;

目标步频与步骤c3中的目标步频相同,具体描述参见步骤c3部分。

步骤d4,基于目标x轴旋转加速度信号对应的第二预设旋转角度,确定行人在当前计步周期的相对航向角,

其中,目标x轴旋转加速度信号为:进行傅里叶变换时得到目标x轴加速度幅频信号所采用的x轴旋转加速度信号,目标x轴加速度幅频信号为:最小加速度所属的x轴加速度幅频信号,最小加速度为:目标步频对应的所有加速度中最小的加速度。

示例性的,目标步频对应的所有加速度包括:a、b、c、d、e,其中,加速度最小的为b,则最小加速度为b,目标x轴加速度幅频信号为:加速度b所属的y轴加速度幅频信号。

具体的,基于目标x轴旋转加速度信号对应的第二预设旋转角度,确定行人在当前计步周期的相对航向角的方式,与步骤c4中基于目标y轴旋转加速度信号对应的第一预设旋转角度,确定行人在当前计步周期的相对航向角的方式相同,在此不再赘述。

s105,将相对航向角与载体航向角之和,确定为行人在当前计步周期的航向角。

可见,应用本发明实施例提供的技术方案,对于行人与载体之间的任意相对姿态,均可以计算出行人在当前计步周期的相对航向角,进而,可以确定行人在当前计步周期的航向角,因此,实现了在任何情况下完成行人方向的确定。

与上述的方法实施例相对应,本发明实施例还提供一种任意姿态下行人方向的确定装置。

参见图3,图3为本发明实施例所提供的一种任意姿态下行人方向的确定装置的结构示意图,所述装置包括:

第一获得模块301,用于获得当前计步周期各个时刻的第一类加速度、载体俯仰角和载体翻滚角以及当前计步周期的载体航向角;其中,第一类加速度为:载体坐标系下行人的三轴加速度;

第一确定模块302,用于利用各个时刻的载体俯仰角和载体翻滚角,确定各个时刻的转换矩阵,其中,转换矩阵为:用于将三轴加速度从所述载体坐标系转换至投影坐标系的矩阵,所述投影坐标系的z轴与地理坐标系中的z轴重合,所述投影坐标系的y轴为:所述载体坐标系的y轴在所述地理坐标系xoy平面的投影,所述投影坐标系的x轴、y轴以及z轴构成右手坐标系;

第二获得模块303,用于针对每个时刻,利用该时刻的转换矩阵对该时刻的第一类加速度进行转换,得到该时刻的第二类加速度;

计算模块304,用于基于得到的每一第二类加速度,计算行人在当前计步周期的相对航向角;

第二确定模块305,用于将所述相对航向角与所述载体航向角之和,确定为行人在当前计步周期的航向角。

可见,应用本发明实施例提供的技术方案,对于行人与载体之间的任意相对姿态,均可以计算出行人在当前计步周期的相对航向角,进而,可以确定行人在当前计步周期的航向角,因此,实现了在任何情况下完成行人方向的确定。

可选的,所述计算模块,包括:

第一确定子模块,用于确定各个第一计步周期的起始时间点;其中,第一计步周期为:在当前计步周期之前、与当前计步周期的周期时长之差在预设范围内的计步周期;

第二确定子模块,用于确定以第一时间点为起始时间点、以第二时间点为终止时间点的目标计步周期,其中,所述第一时间点为:所确定起始时间点中最早的时间点,所述第二时间点为:当前计步周期的终止时间点;

计算子模块,用于利用所述目标计步周期内每一时刻第二类加速度的x轴加速度以及y轴加速度,计算行人在当前计步周期的相对航向角。

可选的,所述计算子模块,具体用于:

分别对所述目标计步周期内每一时刻第二类加速度的x轴加速度以及y轴加速度进行有效值计算,得到当前计步周期的x轴加速度有效值和y轴加速度有效值;

分别对当前计步周期内每一时刻的第二类加速度的x轴加速度和y轴加速度进行积分,得到当前计步周期的x轴加速度积分值和y轴加速度积分值;

利用所述x轴加速度积分值、所述y轴加速度积分值、所述x轴加速度有效值以及所述y轴加速度有效值,计算得到行人在当前计步周期的相对航向角。

可选的,所述计算子模块,包括:

旋转单元,用于针对目标计步周期内每一时刻,按照各个第一预设旋转角度,对该时刻的第二类加速度的x轴加速度以及y轴加速度沿着第一预设旋转方向进行旋转,得到该时刻的各个第一预设旋转角度对应的y轴旋转加速度;

第一获得单元,用于对于每个第一预设旋转角度,获得该第一预设旋转角度对应的y轴旋转加速度信号,对所获得的y轴旋转加速度信号进行傅里叶变换,得到y轴加速度幅频信号;其中,一个第一预设旋转角度对应的y轴旋转加速度信号,由目标计步周期内每一时刻的该第一预设旋转角度对应的y轴旋转加速度形成;

第二获得单元,用于获得各个y轴加速度幅频信号中目标步频对应的加速度;其中,所述目标步频由各个第一计步周期以及所述当前计步周期的周期时长确定;

确定单元,用于基于目标y轴旋转加速度信号对应的第一预设旋转角度,确定行人在当前计步周期的相对航向角,其中,所述目标y轴旋转加速度信号为:进行傅里叶变换时得到目标y轴加速度幅频信号所采用的y轴旋转加速度信号,所述目标y轴加速度幅频信号为:最大加速度所属的y轴加速度幅频信号,所述最大加速度为:所述目标步频对应的所有加速度中最大的加速度。

可选的,所述确定单元,具体用于:

对目标y轴旋转加速度信号在当前计步周期和当前计步周期上一个计步周期内每一时刻的y轴旋转加速度进行积分,得到目标y轴旋转加速度积分值;

利用所述目标y轴旋转加速度积分值以及目标y轴旋转加速度信号对应的第一预设旋转角度,确定行人在当前计步周期的相对航向角。

可选的,所述计算子模块,具体用于:

针对目标计步周期内每一时刻,按照各个第二预设旋转角度,对该时刻的第二类加速度的x轴加速度以及y轴加速度沿着第二预设旋转方向进行旋转,得到该时刻的各个第二预设旋转角度对应的x轴旋转加速度;

对于每个第二预设旋转角度,获得该第二预设旋转角度对应的x轴旋转加速度信号,对所获得的x轴旋转加速度信号进行傅里叶变换,得到x轴加速度幅频信号;其中,一个第二预设旋转角度对应的x轴旋转加速度信号,由目标计步周期内每一时刻的该第二预设旋转角度对应的x轴旋转加速度形成;

获得各个x轴加速度幅频信号中目标步频对应的加速度;其中,所述目标步频由各个第一计步周期以及当前计步周期的周期时长确定;

基于目标x轴旋转加速度信号对应的第二预设旋转角度,确定行人在当前计步周期的相对航向角,其中,所述目标x轴旋转加速度信号为:进行傅里叶变换时得到目标x轴加速度幅频信号所采用的x轴旋转加速度信号,所述目标x轴加速度幅频信号为:最小加速度所属的x轴加速度幅频信号,所述最小加速度为:目标步频对应的所有加速度中最小的加速度。

可选的,利用以下计算公式计算得到行人在当前计步周期的相对航向角:

β相对=atan2(sgnk(x)*ax,sgnk(y)*ay)

其中,当前计步周期为第k个计步周期,β相对表示行人在第k个计步周期的相对航向角,sk(x和sk(y分别表示第k个计步周期的x轴加速度积分值和y轴加速度积分值,ax和ay分别表示第k个计步周期的x轴加速度有效值和y轴加速度有效值,sgnk(x)、sgnk-1(x)和sgn(sk(x),表示第k个计步周期的x轴符号、第k-1个计步周期的x轴符号和第k个计步周期的x轴加速度积分值的符号,sgnk(y)、sgnk-1(y)和sgn(sk(y)分别表示第k个计步周期的y轴符号、第k-1个计步周期的y轴符号和第k个计步周期的y轴加速度积分值的符号,a阈值为预设积分阈值。

本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,

存储器403,用于存放计算机程序;

处理器401,用于执行存储器403上所存放的程序时,实现本发明实施例所提供的任意姿态下行人方向的确定方法。

其中,该任意姿态下行人方向的确定方法包括如下步骤:

获得当前计步周期各个时刻的第一类加速度、载体俯仰角和载体翻滚角以及当前计步周期的载体航向角;其中,第一类加速度为:载体坐标系下行人的三轴加速度;

利用各个时刻的载体俯仰角和载体翻滚角,确定各个时刻的转换矩阵,其中,转换矩阵为:用于将三轴加速度从所述载体坐标系转换至投影坐标系的矩阵,所述投影坐标系的z轴与地理坐标系中的z轴重合,所述投影坐标系的y轴为:所述载体坐标系的y轴在所述地理坐标系xoy平面的投影,所述投影坐标系的x轴、y轴以及z轴构成右手坐标系;

针对每个时刻,利用该时刻的转换矩阵对该时刻的第一类加速度进行转换,得到该时刻的第二类加速度;

基于得到的每一第二类加速度,计算行人在当前计步周期的相对航向角;

将所述相对航向角与所述载体航向角之和,确定为行人在当前计步周期的航向角。

可见,应用本发明实施例提供的技术方案,对于行人与载体之间的任意相对姿态,均可以计算出行人在当前计步周期的相对航向角,进而,可以确定行人在当前计步周期的航向角,因此,实现了在任何情况下完成行人方向的确定。

需要说明的是,处理器执行存储器上存放的程序而实现的任意姿态下行人方向的确定方法的其他实施例,与前述方法部分提及的任意姿态下行人方向的确定方法的实施例相同,在此不再赘述。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述的任意姿态下行人方向的确定方法步骤。

其中,该任意姿态下行人方向的确定方法包括如下步骤:

获得当前计步周期各个时刻的第一类加速度、载体俯仰角和载体翻滚角以及当前计步周期的载体航向角;其中,第一类加速度为:载体坐标系下行人的三轴加速度;

利用各个时刻的载体俯仰角和载体翻滚角,确定各个时刻的转换矩阵,其中,转换矩阵为:用于将三轴加速度从所述载体坐标系转换至投影坐标系的矩阵,所述投影坐标系的z轴与地理坐标系中的z轴重合,所述投影坐标系的y轴为:所述载体坐标系的y轴在所述地理坐标系xoy平面的投影,所述投影坐标系的x轴、y轴以及z轴构成右手坐标系;

针对每个时刻,利用该时刻的转换矩阵对该时刻的第一类加速度进行转换,得到该时刻的第二类加速度;

基于得到的每一第二类加速度,计算行人在当前计步周期的相对航向角;

将所述相对航向角与所述载体航向角之和,确定为行人在当前计步周期的航向角。

可见,应用本发明实施例提供的技术方案,对于行人与载体之间的任意相对姿态,均可以计算出行人在当前计步周期的相对航向角,进而,可以确定行人在当前计步周期的航向角,因此,实现了在任何情况下完成行人方向的确定。

需要说明的是,上述计算机程序被处理器执行时实现的任意姿态下行人方向的确定方法的其他实施例,与前述方法部分提及的任意姿态下行人方向的确定方法的实施例相同,在此不再赘述。

本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个实施例提供的任意姿态下行人方向的确定方法。

本发明实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述各个实施例提供的任意姿态下行人方向的确定方法。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、包含指令的计算机程序产品、计算机程序实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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