CN111142687A - 一种行走检测方法及装置 - Google Patents

一种行走检测方法及装置 Download PDF

Info

Publication number
CN111142687A
CN111142687A CN201811360864.9A CN201811360864A CN111142687A CN 111142687 A CN111142687 A CN 111142687A CN 201811360864 A CN201811360864 A CN 201811360864A CN 111142687 A CN111142687 A CN 111142687A
Authority
CN
China
Prior art keywords
angular velocity
threshold
terminal
walking
detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811360864.9A
Other languages
English (en)
Other versions
CN111142687B (zh
Inventor
廖学文
齐以星
郑德舜
张腾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to PCT/CN2019/113163 priority Critical patent/WO2020088352A1/zh
Publication of CN111142687A publication Critical patent/CN111142687A/zh
Application granted granted Critical
Publication of CN111142687B publication Critical patent/CN111142687B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)
  • Navigation (AREA)

Abstract

本申请涉及终端技术领域,公开了一种行走检测方法及装置,用以提高行走检测的准确性。该方法为:终端通过传感器模块检测获得多个连续的三轴角速度;通过处理器确定与多个连续的三轴角速度对应的多个角速度模值;其中,基于三轴角速度的检测时间,多个角速度模值与四个时间段形成对应关系;四个时间段是终端根据第一阈值和第二阈值按照检测时间顺序确定;通过处理器判断多个连续的角速度模值满足条件,确定用户完成一步行走;条件包括:对应第一时间段的角速度模值小于第一阈值,对应第二时间段的角速度模值不小于第一阈值且不大于第二阈值,对应第三时间段的角速度模值大于第二阈值,对应第四时间段的角速度模值不小于第一阈值且不大于第二阈值。

Description

一种行走检测方法及装置
本申请要求在2018年11月02日提交中国专利局、申请号为201811299883.5、发明名称为“一种行走检测方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及终端技术领域,尤其涉及一种行走检测方法及装置。
背景技术
随着通信技术的快速发展,数据业务和多媒体业务的飞速增加,基于位置的服务(location based service,LBS)受到更多的重视,然而在森林、峡谷、矿井、电力枢纽、隧道和地下等复杂环境,因为遮挡和电磁干扰等原因导致全球卫星定位***(globalpositioning system,GPS)、全球导航卫星***(global navigation satellite system,GLONASS)、北斗卫星导航***(beidou navigation satellite system,BDS)等存在不可用的问题。
现有技术为了实现在复杂环境下进行定位,通常采用基于惯性导航的行人航位推算(pedestrian dead reckoning,PDR)方法,具体的,行人在行走时,终端受行人行走的影响产生三轴加速度,终端通过峰值检测(peak detection,PD)方法进行行走检测,即通过检测是否存在满足一定峰谷差条件的三轴加速度的加速度模值峰值点,来确定行人是否完成一步行走,并在行人完成一步行走后,结合行进方向、行进步长等,确定一步行走后行人的位置,因此定位的准确性直接受到行走检测的准确性的影响。
然而,在行人行走过程中,行人在行走时通常会进行与步频同频的甩手动作,导致终端的运动特征与行人躯干的运动特征存在较大差异,进而导致了根据三轴加速度进行行走检测的检测结果不准确。
发明内容
本申请提供一种行走检测方法及装置,用以解决终端在沿着用户行进方向进行与步频同频的甩动模式下,行走检测不准确的问题。
第一方面,本申请提供一种行走检测方法,该方法可以通过终端实现,该方法包括:终端通过传感器模块检测获得多个连续的三轴角速度;所述终端通过处理器确定与所述多个连续的三轴角速度对应的多个角速度模值;其中,基于所述多个连续的三轴角速度的检测时间,所述多个角速度模值与四个时间段形成对应关系;所述四个时间段是所述终端根据第一阈值和第二阈值按照检测时间顺序确定;所述终端通过所述处理器判断所述多个连续的角速度模值满足条件,确定用户完成一步行走;所述条件包括:对应第一时间段的角速度模值小于所述第一阈值,对应第二时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值,对应第三时间段的角速度模值大于所述第二阈值,对应第四时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值。在本申请中,充分的利用了终端在沿着用户行进方向进行与步频同频的甩动模式下,终端的三轴角速度的角速度模值相比三轴加速度的加速度模值具有更好与用户行走的步频的同频周期性,且幅值也更稳定的特点;同时对与步频同频的甩动引起的三轴角速度的角速度模值在一步行走过程中的变换过程进行检测,而不是仅仅对一步行走中三轴角速度的角速度模值的某个值进行检测,保证了行走检测的准确性。
在一种可能的设计中,所述终端通过低通滤波器对所述多个连续的三轴角速度进行低通滤波。其中低通滤波的截止频率略大于步频,通过这种设计,有助于消除噪音,提高行走检测的准确性;当然,在终端中也可以不设置低通滤波器,终端通过处理器的运算实现对所述多个连续的三轴角速度的低通滤波。
在一种可能的设计中,所述方法还包括:所述终端通过无线通信模块接收定位信号;所述终端确定所述定位信号的信号强度小于第三阈值时,通过所述处理器根据所述一步行走的起始位置、行进方向和行进步长,确定所述一步行走后所述用户的位置。通过这种方式,用于在GPS等定位信号不可用时,基于行走检测实现对用户的准确定位。
在一种可能的设计中,所述终端通过以下方式确定所述行进方向:所述终端通过所述传感器模块在采样时间段内检测获得多个连续的三轴加速度和多个连续的航向角;所述终端通过所述处理器确定与所述多个连续的三轴加速度对应的多个水平面加速度,并基于所述多个连续的三轴加速度的检测时间,对所述多个水平面加速度进行主成分分析(principal component analysis,PCA)处理,确定所述一步行走对应水平面的运动轴,其中,所述运动轴在水平面上指示两个运动轴方向;所述终端通过所述处理器将与所述多个连续的航向角的平均航向角的夹角不大于90度的目标运动轴方向,确定为行进方向。通过这种方式,充分的利用了终端在沿着用户行进方向进行与步频同频的甩动模式下,终端在水平面上的运动轴,与用户在水平面上的行进方向在同一条直线上的特点,避免了仅根据终端的航向角确定行进方向,因终端的顶端与用户在水平面上的行进方向存在偏差导致的行进方向存在偏差的问题。
在一种可能的设计中,所述终端通过低通滤波器对所述多个连续的三轴加速度进行低通滤波。其中低通滤波的截止频率略大于步频,通过这种设计,有助于消除噪音,行进方向确定的准确性;当然,在终端中也可以不设置低通滤波器,终端通过处理器的运算实现对所述多个连续的三轴加速度的低通滤波。
在一种可能的设计中,所述条件还包括:所述终端检测获得所述多个连续的三轴角速度的时长不小于第四阈值。其中,第四阈值可以设置为略小于正常完成一步行走所需的最小时长,通过这种方式,有助于避免对用户完成一步行走的误检。
在一种可能的设计中,所述条件还包括:所述终端确定的所述多个角速度模值中最大角速度模值与最小角速度模值的差值不大于第五阈值。其中第五阈值可以设置为略大于正常完成一步行走过程中出现的三轴角速度的最大角速度模值和最小角速度模值的差值,通过这种方式,有助于避免对用户完成一步行走的误检。
在一种可能的设计中,所述终端通过以下方式确定所述第一阈值和所述第二阈值:根据
Figure BDA0001867298020000021
确定所述第一阈值;以及,根据
Figure BDA0001867298020000031
确定所述第二阈值;其中,Thrv(i)表示所述第一阈值,Thrp(i)表示所述第二阈值,所述i表示完成的第i步行走,i为自然数;maxi-f为第i-f步行走确定的最大角速度模值,maxi-g为第i-g步行走确定的最大角速度模值,mini-f为第i-f步行走确定的最小角速度模值,mini-g为第i-g步行走确定的最小角速度模值,thrp0、thrv0、a、b、c和d为常数,f<g<N、且f、g和N为正整数。通过这种方式,可以保证在对不同用户不同时间进行行走检测时,行走检测的准确性。
在一种可能的设计中,所述a和所述d为1/3,所述b和所述c为1/6。通过这种方式,有助于第一阈值和第二阈值的合理确定,提高行走检测的准确性。
在一种可能的设计中,所述f为2,所述g为4。通过这种方式,有助于第一阈值和第二阈值的合理确定,提高行走检测的准确性。
第二方面,本申请提供了一种行走检测装置,该装置具有实现上述第一方面和任一种可能的设计中方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,该装置可以是芯片或者集成电路。
在一个可能的设计中,该装置包括收发器和处理器,处理器用于执行一组程序,当程序被执行时,所述装置可以执行上述第一方面和任一种可能的设计中所述的方法。
在一个可能的设计中,该装置还包括存储器,用于存储所述处理器执行的程序。
在一个可能的设计中,该装置为终端。
第三方面,本申请提供了一种计算机存储介质,存储有计算机程序,该计算机程序包括用于执行上述第一方面或者第一方面的任意一种可能的设计中方法的指令。
第四方面,本申请提供了一种包含指令的计算机程序产品,当其在终端上运行时,使得终端执行上述第一方面或者第一方面的任意一种可能的设计中的方法。
第五方面,提供一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现上述第一方面或上述第一方面的任意一种可能的设计中的方法。
附图说明
图1为本申请实施例中提供的一种终端的结构示意图;
图2为本申请实施例中提供的一种行走检测过程示意图;
图3为本申请实施例中提供的一种终端的三轴角速度的角速度模值变化示意图;
图4为本申请实施例中提高的一种终端的有限状态转移示意图;
图5为本申请实施例中提供的一种定位过程示意图;
图6为本申请实施例中提供的另一种定位过程示意图;
图7为本申请实施例中提供的一种测试环境示意图;
图8为本申请实施例中提供的一种定位轨迹示意图;
图9为本申请实施例提供的一种行走检测装置的结构示意图;
图10为本申请实施例提供的另一种终端的结构示意图。
具体实施方式
本申请提供一种行走检测方法及装置,旨在利用在用户行进方向进行与步频同频的甩动模式下,终端检测到的三轴角速度的角速度模值相对于三轴加速度的加速度模值具有更好的与步频的同周期性,及幅度更稳定的特性,进行行走检测,以提高行走检测的准确性。在本申请中,方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此设备与方法的实施可以相互参见,重复之处不再赘述。
本申请实施例涉及到的终端,又称之为用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等,目前,终端可以是:手机(mobile phone)、平板电脑、掌上电脑、可穿戴设备(例如智能手表、智能手环、计步器等),其中终端包括但不限于搭载
Figure BDA0001867298020000041
或者其它操作***,本申请一种可能的应用场景为终端沿着用户行进方向进行与步频同频甩动,例如:终端为手机,用户在行走时进行与步频同频的甩手动作,手机被用户握在手中的场景;或者终端为智能手环,用户在行走时进行与步频同频的甩手动作,智能手环被佩戴在用户的手腕上的场景等;另外,可以想到的,用户在行走时终端被固定在用户的小腿或脚部等场景下,本申请的行走检测方案同样适用。
本申请实施例描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
下面将结合附图,对本申请实施例进行详细描述。
本申请公开的各个实施例可以应用于终端中,示例性的,图1示出了终端的结构。如图1所示,终端100可以包括:处理器110,存储器120,USB接口130,充电管理模块140,电源管理模块141,电池142,天线1,无线通信模块150,传感器模块160等。其中传感器模块160可以包括陀螺仪传感器160A,方向传感器160B,磁场传感器160C,加速度传感器160D,重力传感器160F等。
可以理解的是,本申请实施例示意的结构并不构成对终端100的具体限定。在本申请另一些实施例中,终端100可以包括比图1更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图1的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),控制器,存储器,基带处理器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是终端100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,通用输入输出(general-purpose input/output,GPIO)接口,和/或通用串行总线(universal serialbus,USB)接口等。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块150。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与无线通信模块150,传感器模块160等。GPIO接口还可以被配置为UART接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口可以用于连接充电器为终端100充电,也可以用于终端100与***设备之间传输数据。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端100的结构限定。在本申请另一些实施例中,终端100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,存储器120,和无线通信模块150等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
终端100的无线通信功能可以通过天线1,无线通信模块150,调制解调处理器以及基带处理器等实现。
无线通信模块150可以提供应用在终端100上的包括无线局域网(wireless localarea networks,WLAN),全球导航卫星***(global navigation satellite system,GNSS)等无线通信的解决方案。无线通信模块150可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块150经由天线1接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块150还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线1转为电磁波辐射出去。所述GNSS可以包括GPS,GLONASS,BDS,准天顶卫星***(quasi-zenith satellite system,QZSS))和/或星基增强***(satellitebased augmentation systems,SBAS)。
存储器120可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在存储器120的指令,从而执行终端100的各种功能应用以及数据处理。存储器120可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序等。存储数据区可存储终端100使用过程中所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
陀螺仪传感器160A又称角速度传感器,不同于加速度传感器,用于测量的物理量是终端100偏转、倾斜时的转动角速度,可以用于确定终端100的运动姿态。在一些实施例中,可以通过陀螺仪传感器160A确定终端100围绕三个轴(即,X,Y和Z轴)的角速度。陀螺仪传感器160A可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器160A检测终端100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端100的抖动,实现防抖。陀螺仪传感器160A还可以用于体感游戏场景等。
方向传感器160B,用于感应终端100的欧拉角的信息,即感应终端100的航向角、俯仰角及横滚角的信息。在一些实施例中,终端100通过方向传感器160B确定的航向角,用于定位和导航。
磁场传感器160C也称磁力计。终端100可以利用磁场传感器160C检测终端100当前姿态下在各个方向上(一般为三轴)的磁场强度,并可以根据三轴磁场强度,对终端100相对于地磁场的姿态信息进行解算,用于终端姿态的确定。
加速度传感器160D是一种能够测量加速度的传感器,通常由质量块、阻尼器、弹性元件、敏感元件和适调电路等部分组成;加速度传感器160D在加速过程中,通过对质量块所受惯性力的测量,利用牛顿第二定律获得加速度值。加速度传感器160D可检测终端100在各个方向上(一般为三轴)加速度的大小,可以用于震动识别相关功能(比如计步器、敲击)等。
重力传感器160E用于检测终端100在各个方向上(一般为三轴)的重力加速度的大小。可以用于根据三轴重力加速度解算出终端100相对于水平面的倾斜角度,用于识别终端姿态的应用(比如横竖屏切换、相关游戏、磁场传感器姿态校准)等。
下面以终端100中进行行走检测为例,对本申请实施例行走检测方法进行详细说明。
【实施例一】
实施例一介绍本申请实施例提供的一种行走检测流程,下面参考图2对实施例一提供的一种行走检测流程进行详细介绍,如图2所述,终端100执行的流程包括如下步骤:
S201:终端通过陀螺仪传感器160A检测获得多个连续的三轴角速度。
在实际应用过程中,终端以设定的采样频率对陀螺仪传感器160A检测到的终端的三轴角速度进行采样,并记录每次采样获得的三轴角速度的采样时间戳。可选的,为了避免采样频率设定过低,影响行走检测的效果,设定的采样频率不低于50Hz,比如为50Hz、60Hz等。
另外,因用户正常行走的频率通常在0.5Hz~2Hz,即用户的步速通常在2s一步行走至1s两步行走之间,可选的,终端对陀螺仪传感器160A采样获得多个三轴角速度后,终端对采样获得的多个三轴角速度进行低通滤波,以消除噪声的干扰,其中低通滤波的截止频率略大于步频,比如为2.5Hz、2.8Hz等;具体的,终端对采样获得的多个三轴角速度进行低通滤波,可以通过在终端中设置的低通滤波器实现,例如通过终端中设置的巴特沃兹滤波器实现;也可以不在终端中设置低通滤波器,终端通过处理器110的运算实现对采样获得的多个三轴角速度进行低通滤波。
S202:终端通过处理器110确定与所述多个连续的三轴角速度对应的多个角速度模值。其中,基于所述多个连续的三轴角速度的检测时间,所述多个角速度模值与四个时间段形成对应关系;所述四个时间段是所述终端根据第一阈值和第二阈值按照检测时间顺序确定。
S203:终端通过处理器110判断所述多个连续的角速度模值满足条件,确定用户完成一步行走。所述条件包括:对应第一时间段的角速度模值小于所述第一阈值,对应第二时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值,对应第三时间段的角速度模值大于所述第二阈值,对应第四时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值。
如图3所示,为终端沿用户行进方向进行与步频同频的甩动模式下,终端的三轴角速度对应的角速度模值变化示意图,其中,对于三轴角速度对应的角速度模值的确定,终端的处理器110可以根据公式
Figure BDA0001867298020000071
实现,||gyro||为角速度模值,gyrox、gyroy和gyroz分别为三轴角速度中的X轴角速度、Y轴角速度和Z轴角速度。终端受沿用户行进方向进行向前和向后甩动的影响,终端在用户沿行进方向进行一次向前或向后甩动时,终端的三轴角速度的角速度模值呈现一次上升和下降,展现一次与甩动对应的波动。参照图4所示,在本申请中可以将角速度模值(input)作为检测量,将终端在一次波动中的input变化,根据第一阈值(Thrv)和第二阈值(Thrp),按照对确定角速度模值的三轴角速度的检测时间顺序,进行有限状态机划分(finite state machine,FSM),其中Thrv小于Thrp,具体将一次波动中的角速度模值划分为波谷状态(S0)、预备运动状态(S1)、波峰状态(S2)和离开波峰状态(S3)四个长时状态,其中在S0状态,input小于Thrv;在S1状态,input不小于Thrv且不大于Thrp;在S2状态,input大于Thrp;在S3状态,input不小于Thrv且不大于Thrp;另外,还可以划分出一个瞬时状态,行走结束状态(S4),其中S4状态是S3状态与S0状态的临界状态,也是S3状态中的一个特殊状态,在S4状态,input等于Thrv。
可选的,一次完整的波动,涉及到S0状态、S1状态、S2状态和S3状态四个状态,因此为了减少对处理器110资源的消耗,在进行行走检测时,终端对陀螺仪传感器160A检测到的终端的三轴角速度进行采样,获得的连续的三轴角速度不小于4个。
终端基于上述S0状态、S1状态、S2状态和S3状态四个状态,进行行走检测,具体的,终端通过处理器110确定与检测获得的多个连续的三轴角速度对应的多个input,并基于多个连续的三轴角速度的检测时间,根据Thrv和Thrp,按照检测时间顺序,将input小于Thrv的检测时间段确定为第一时间段(S0状态);将input不小于Thrv且不大于Thrp的检测时间段确定为第二时间段(S1状态);将input大于Thrp的检测时间段确定为第三时间段(S2状态);将input不小于Thrv且不大于Thrp的检测时间段确定为第四时间段(S3状态),终端的处理器110,在确定检测获得多个连续的三轴角速度的检测时间中包含满足上述条件的第一时间段、第二时间段、第三时间段和第四时间段时,确定用户完成一步行走,并在确定用户完成一步行走后,基于确定用户完成该步行走后,通过陀螺仪传感器160A检测获得的多个连续的三轴角速度,对用户是否完成下一步行走进行检测。相对于传统的PD方法进行行走检测,本申请实施例提供的行走检测方法基于终端的甩动过程中S0状态、S1状态、S2状态和S3状态实现,也可以称为甩动有限状态机划分(swing-mode finite state machine,SFSM)行走检测方法。
例如:基于检测获得多个连续的三轴角速度的时间顺序,终端的处理器110确定的与所述多个连续的三轴角速度对应的多个input依次为:0.9、0.1、0.6、1.4、2.1、2.9和3.6,Thrv为1.5和Thrp为3.5,单位为(rad/s),终端的处理器110检测到0.9小于1.5,确定0.9对应的三轴角速度的检测时间位于第一时间段;检测到0.1小于1.5,确定1.1对应的三轴角速度的检测时间位于第一时间段;检测到0.6小于1.5,确定0.6对应的三轴角速度的检测时间位于第一时间段;检测到1.4小于1.5,确定1.4对应的三轴角速度的检测时间位于第一时间段;检测到2.1不小于1.5且不大于3.5,确定2.1对应的三轴角速度的检测时间位于第二时间段,此时存在角速度模值由1.4变换为2.1,存在由第一时间段(S0状态)至第二时间段(S1状态)的转移,处理器110将0.9对应的三轴角速度的检测时间至1.4对应的三轴角速度的检测时间,确定为第一时间段;同理处理器110将2.1对应的三轴角速度的检测时间至2.9对应的三轴角速度的检测时间,确定为第二时间段,此时终端检测获得多个连续的三轴角速度的检测时间中仅包含第一时间段和第二时间段,终端的处理器110不能确定用户完成一步行走。
随着检测时间的增长,终端通过陀螺仪传感器160A检测获得的多个连续的三轴角速度的数量增加,基于检测获得多个连续的三轴角速度的时间顺序,终端的处理器110确定的与所述多个连续的三轴角速度对应的多个input依次为:0.9、0.1、0.6、1.4、2.1、2.9、3.6、4.4、4.9、4.3、3.7、3.1、2、1.4,存在由第一时间段(S0状态)至第二时间段(S1状态)的转移(1.4-2.1),处理器110将0.9对应的三轴角速度的检测时间至1.4对应的三轴角速度的检测时间,确定为第一时间段;存在由第二时间段(S1状态)至第三时间段(S2状态)的转移(2.9-3.6),处理器110将2.1对应的三轴角速度的检测时间至2.9对应的三轴角速度的检测时间,确定为第二时间段;存在由第三时间段(S2状态)至第四时间段(S3状态)的转移(3.7-3.1),处理器110将3.6对应的三轴角速度的检测时间至3.7对应的三轴角速度的检测时间,确定为第三时间段;存在由第四时间段(S3状态)至第一时间段(S0状态)的转移(2-1.4),处理器110将3.1对应的三轴角速度的检测时间至2对应的三轴角速度的检测时间,确定为第四时间段,此时,终端检测获得多个连续的三轴角速度的检测时间中包含第一时间段、第二时间段、第三时间段和第四时间段,终端的处理器110确定用户完成一步行走。
当然,如果终端的处理器110在第四时间段(S3状态)中检测到input等于1.5(S4状态),也可以确定第四时间段(S3状态)在向其它时间段转移,终端将转移至第四时间段对应的三轴角速度的检测时间至所述1.5对应的三轴角速度的检测时间,确定为第四时间段。
另外,在本申请中,终端的处理器110是按照检测获得多个连续的三轴角速度的检测时间顺序,根据与多个连续的三轴角速度的对应的多个input,及第一时间段、第二时间段、第三时间段和第四时间段分别的input的取值范围,按照第一时间段、第二时间段、第三时间段和第四时间段的顺序,对检测获得多个连续的三轴角速度的检测时间中包含的第一时间段、第二时间段、第三时间段和第四时间段进行检测确定的,示例性的:基于检测获得多个连续的三轴角速度的时间顺序,终端的处理器110确定的与多个连续的三轴角速度对应的多个input依次为:0.9、0.1、0.6、1.4、2.1、2.9、1,其中2.9对应的三轴角速度的检测时间位于第二时间段,而1不满足第二时间段的input范围不小于1.5且不大于3.5,存在由第二时间段至其它时间段的转移,根据第一时间段、第二时间段、第三时间段和第四时间段的顺序,处理器110首先判断1是否满足第三时间段的input范围不小于3.5;不满足,继续判断1是否满足第四时间段的角速度模值范围不小于1.5且不大于3.5;仍不满足,继续判断1是否满足第一时间段的角速度模值范围小于1.5,满足,确定由第二时间段(S1状态)向第一时间段(S0状态)的转移,可想而知的,在存在噪声干扰的情况时,也可能存在由第四时间段(S3状态)向第三时间段(S2状态)转移等其他转移情况,不再进行赘述。
因用户正常行走的步频通常在0.5Hz~2Hz,即用户进行一步行走的时间通常不小于0.5s,为了防止噪声干扰产生误检,确定用户完成一步行走的条件还可以包括:终端检测获得多个连续的三轴角速度的时长不小于第四阈值(thr_time)。其中thr_time的取值小于0.5s,例如为0.25s。对于终端检测获得多个连续的三轴角速度的时长,可以根据终端对该步行走进行三轴角速度采样的起始时间,也可以称为终端确定用户完成上一步行走的结束时间(endTime(i-1))至当前时间(endTime(i))对应的时长确定,即确定用户完成一步行走的条件还包括:endTime(i)-endTime(i-1)≥thr_time。
因用户正常行走时,终端检测到的每次甩动对应的最大的角速度模值与最小的角速度模值的差值在一定的范围内,为了防止转弯时出现的极大峰值对行走检测的准确性产生影响,本申请中对转弯过程中出现极大峰值进行识别和剔除,确定用户完成一步行走的条件还可以包括:终端确定检测获得多个连续的三轴角速度,对应的多个角速度模值中最大角速度模值(max)与最小角速度模值(min)的差值不大于第五阈值(thr_pv),示例性的thr_pv可以为7,单位为(rad/s),即确定用户完成一步行走的条件还包括:max-min≤thr_pv。
可选的,为了节约处理器110的处理器110资源,终端的处理器110仅在确定检测获得多个连续的三轴角速度的检测时间中包含第一时间段、第二时间段、第三时间段和第四时间段时,对endTime(i)-endTime(i-1)≥thr_time和endTime(i)-endTime(i-1)≥thr_time进行判断,如果判断结果均为是,则确定用户完成一步行走,否则,终端通过陀螺仪传感器160A重新检测获得多个连续的三轴角速度,进行行走检测。
终端对自身陀螺仪传感器160A检测到的三轴角速度进行采样获得的是终端当前姿态下的三轴角速度,即载体(终端)坐标系下的三轴角速度,为了提高行走检测精度,可选的,在步骤S201,终端通过陀螺仪传感器160A检测获得三轴角速度后,终端的处理器110还可以将获得的三轴角速度转换到导航坐标系下,由于东北天坐标系(local cartesiancoordinates coordinate system,ENU)的X轴与地球椭球的长半轴重合(东向)、Y轴与地球椭球短半轴重合(北向),东北天坐标系的X轴、Y轴与坐标系极点(O)构成的XOY平面,即为用户行走的水平面,本申请中终端的导航坐标系选用西北天坐标系。
另外,在本申请中,如果终端对自身陀螺仪传感器160A检测到的三轴角速度进行采样获得的三轴角速度转换到导航坐标系下,终端如果对获得的多个连续的三轴角速度进行低通滤波,在终端的处理器将获得的多个连续的三轴角速度转换到导航坐标系下之后。
具体的,终端仍以对自身陀螺仪传感器160A检测到的三轴角速度进行采样的采样频率,例如:50Hz,对自身重力传感器160F检测到的三轴重力加速度和磁场传感器160C检测到的三轴磁场强度进行同频采样。另外当陀螺仪传感器160A、重力传感器160F、重力传感器160F所支持的采样频率不同时,可以采用减采样的方法,选取采样频率最慢的传感器作为基准传感器,针对基准传感器的每次采样,选择与基准传感器采样时间戳最接近的其它传感器采样值作为此次采样的同序采样值,将非同序采样值删除以保证传感器采样频率相等。
针对每次对三轴角速度的采样,终端的处理器110根据该次采样的三轴重力加速度和三轴磁场强度计算载体坐标系和导航坐标系之间的旋转矩阵,例如,某次采样三轴重力加速度组成的单位向量为A=(Ax Ay Az)T,三轴磁场强度组成的单位向量为E=(Ex Ey Ez)T,令H=E×A、M=A×H,则载体坐标系和导航坐标系之间的旋转矩阵
Figure BDA0001867298020000101
可以根据此刻的旋转矩阵Cb、利用S=Cb·Sb,将三轴角速度转换到导航坐标系下,其中Sb为该次陀螺仪传感器160A采样原始值、S为转换后的导航坐标系下的值。
此外,不同用户间在行走时进行甩手动作的幅度与速度存在差异,同用户在不同时间行走时进行甩手动作的幅度与速度存在差异,可选的,为了保证终端进行行走检测的准确性,终端的处理器110根据已检测到行走对应的三轴角速度模值对第一阈值和第二阈值进行自适应更新,以保证行走检测的准确性。
可选的,终端通过以下方式确定第一阈值和第二阈值,根据
Figure BDA0001867298020000102
确定第一阈值;以及,
根据
Figure BDA0001867298020000103
确定第二阈值;
其中,Thrv(i)表示所述第一阈值,Thrp(i)表示所述第二阈值,所述i表示完成的第i步行走,i为自然数;maxi-f为第i-f步行走确定的最大角速度模值,maxi-g为第i-g步行走确定的最大角速度模值,mini-f为第i-f步行走确定的最小角速度模值,mini-g为第i-g步行走确定的最小角速度模值,thrp0、thrv0、a、b、c和d为常数,f<g<N、且f、g和N为正整数。可选的,可以近似选择角速度模值的波峰值和波谷值的两个三分点用于第一阈值和第二阈值的确定,即令a和d为1/3,b和c为1/6;此外,与当前进行检测的一步行走越接近的历史一步行走,终端的三轴加速度的变化特征越相似,即终端对应的角速度模值的变化特征越也相似,可以令f为2,令g为4,以保证行走检测的准确性,其中thrp0可以为1.5等、thrv0为1等。
【实施例二】
实施例二介绍本申请实施例提供的一种定位流程,具体的定位流程基于实施例一的行走检测实现,重复之处不再进行赘述,下面参考图5对实施例二提供的定位流程进行详细介绍,如图5所述,终端100执行的流程包括如下步骤:
S501:终端通过陀螺仪传感器160A检测获得多个连续的三轴角速度。
S502:终端通过处理器110确定与所述多个连续的三轴角速度对应的多个角速度模值。其中,基于所述多个连续的三轴角速度的检测时间,所述多个角速度模值与四个时间段形成对应关系;所述四个时间段是所述终端根据第一阈值和第二阈值按照检测时间顺序确定。
S503:终端通过所述处理器110判断所述多个连续的角速度模值满足条件,确定用户完成一步行走。所述条件包括:对应第一时间段的角速度模值小于所述第一阈值,对应第二时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值,对应第三时间段的角速度模值大于所述第二阈值,对应第四时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值。
S504:终端通过所述处理器110根据所述一步行走的起始位置、行进方向和行进步长,确定所述一步行走后所述用户的位置。
在矿井、隧道、地下等室内环境,或者森林、峡谷等遮挡环境中,存在如GPS、北斗卫星导航、Wi-Fi等可用于定位的定位信号强度弱,甚至无法检测到定位信号的情况,终端基于行走检测进行定位,对用户的位置进行更新。
具体的,终端通过无线通信模块150接收定位信号,在确定定位信号的信号强度小于第三阈值,不可用时,将终端的处理器110将根据定位信号确定的最后一个位置作为基于行走检测进行定位的起始位置(px0,py0),并根据检测到的每步行走对应的步数(i),行进方向orien、行进步长L,对完成一步行走后用户的位置进行定位,具体的,终端的处理器110可以根据
Figure BDA0001867298020000111
对用户的位置进行迭代更新,实现对用户的定位,其中(pxi,pyi)为第i步行走后用户的位置,orien(i)为第i步行走的行进方向(相对于导航坐标系X轴的夹角),L为行进步长。
在本申请实施例中,行进步长可以是终端的用户输入终端的,例如,用户可以沿直线行走一段距离,记录行走距离(d)和步数M,根据L=d/M确定行进步长,并将确定的行进步长输入终端,终端接收用户输入的行进步长,将行进步长保存至存储器120中;另外在本申请实施例中,每步行走的行进方向,可以根据用户完成该步行走对应的检测获得多个连续的三轴角速度的时长内检测到的航向角的平均航向角指示的方向,作为行进方向。
因通过航向角确定行进方向,需要在行进过程中,终端顶端严格的指向行进方向,而实际上在行进过程中,终端顶端难以严格的指向行进方向,通过平均航向角指示的方向,作为行进方向存在着误差。
可选的,因终端沿用户行进方向进行与步频同频的甩动模式下,终端被甩动时,终端在水平面上的运动轴,与用户在水平面上的行进方向在同一条直线上;并且根据航向角可以近似表示行进方向,与行进方向的夹角通常不大于90度,终端可以根据自身在水平面上的运动轴及检测到的航向角,确定行进方向,以提高定位的准确性,以下,以终端确定第i步行走的行进方向为例进行说明,i为自然数,表示用户完成的第i步行走。
具体的,终端以对陀螺仪传感器160A、磁场传感器160C、重力传感器160F进行采样的采样频率,对三轴加速度传感器160D检测到的三轴加速度和方向传感器160B检测到的航向角进行同频采样,因终端对自身三轴加速度传感器160D采样,获得的是终端当前姿态下的三轴加速度,终端根据每次采样获得的三轴重力加速度和三轴磁场强度,确定的旋转矩阵Cb,对每次采样获得的三轴加速度进行解算,将每次采样获得的三轴加速度转换到导航坐标系下,进而确定终端100每次采样获得的对应水平面的加速度,即对应水平面的X轴加速度和Y轴加速度。
针对第i步行走,终端通过处理器110对第i步行走对应的采样时间段内获得到的多个对应水平面的X轴加速度和Y轴加速度进行PCA处理,确定第i步行走对应的运动轴。具体过程如下:
终端通过处理器110对第i步行走对应的采样时间段内获得的对应水平面的X轴加速度和Y轴加速度按照时间顺序排列为(x1,y1)、(x2,y2)……(xN,yN),得到X轴加速度序列X=(x1,x2,......xN)、Y轴加速度序列Y=(y1,y2,......yN)。然后利用公式
Figure BDA0001867298020000121
计算得到X序列和Y序列的协方差,得到协方差矩阵
Figure BDA0001867298020000122
然后计算协方差矩阵C的特征值λ1、λ21≥λ2)。特征值λ1、λ2对应的特征向量分别为
Figure BDA0001867298020000123
其中
Figure BDA0001867298020000124
Figure BDA0001867298020000125
指示同一直线的两个方向,将
Figure BDA0001867298020000126
和/或
Figure BDA0001867298020000127
指示的直线,确定为运动轴,
Figure BDA0001867298020000128
Figure BDA0001867298020000129
指示的两个方向,确定为两个运动轴方向。
同时,终端对第i步行走对应的采样时间段内获得到的航向角进行求平均,得到平均航向角,并将与平均航向角夹角不大于90度的运动轴方向,确定为行进方向。
在本申请实施例中,第i步行走对应的采样时间段可以为第i步行走对应的,终端通过陀螺仪传感器160A检测获得多个连续的三轴角速度的时间段,如[endTime(i-1),endTime(i)],其中endTime(i-1)为终端对第i步行走对三轴角速度采样的起始时间,也可以称为终端确定用户完成第i-1行走的结束时间,endTime(i)为终端确定用户完成第i步行走的时间,其中如果i为1,则endTime(i-1)为终端检测到定位信号小于第一阈值的时间。
因终端在用户行进方向进行一次向前或向后甩动时,终端对应水平方向的运动轴通常相近,为了提高对行进方向的确定精度,第i步行走对应的采样时间段为[beginTime(i),endTime(i)],其中
Figure BDA00018672980200001210
beginMoveTime(1)为终端100检测到定位信号小于第三阈值的时间。
可选的,终端还可以确定第i步行走对应的采样时间段内获得到的航向角指示的平均方向(orien_ave),根据orien_ave与运动轴指示的两个运动轴方向的夹角是否不大于90度,确定行进方向。平均方向计算方法如下:
Figure BDA00018672980200001211
其中,yaw(j)代表第i步行走中第j次的航向角采样值,N为第i步行走对应的第二采样时间段内的采样次数;atan2函数值域为(-π,π],是基于值域为(-π/2,π/2)的反正切函数定义的,定义为:
Figure BDA0001867298020000131
其中,atan2(y,x)中y表示
Figure BDA0001867298020000132
x表示
Figure BDA0001867298020000133
行进方向确定方法如下:
分别计算orien_ave与两个运动轴方向orien_move1和orien_move2之间的夹角β1和β1,选取与orien_ave夹角小于90度的运动轴方向,作为行进方向,其中如果出现atan2(y,x)=undefined的特殊情况,可以选取两个运动轴方向orien_move1和orien_move2中位于[0,180°]区间内的运动轴方向为行进方向。
可选的,针对第i步行走,终端针对第i步行走对应的采样时间段内检测获得的多个连续的三轴加速度,转换到导航坐标系下的多个三轴角速度进行低通滤波,低通滤波的截止频率略大于2Hz,如2.5Hz、3Hz等。
基于上述实施例一和实施例二,图6为本申请实施例提供的一种定位过程示意图,终端对加速度传感器160D、陀螺仪传感器160A、重力传感器160F、磁场传感器160C和方向传感器160B进行同频采样,获得三轴加速度、三轴角速度、三轴重力加速度、三轴磁场强度和航向角,并针对每次采样,根据三轴重力加速度和三轴磁场强度,计算载体坐标系和导航坐标系之间的旋转矩阵,将三轴加速度和三轴角速度转换到导航坐标系下,并将转换后的三轴加速度和三轴角速度进行低通滤波。终端根据第一采样时间段采样得到的三轴角速度序列进行SFSM行走检测,确定用户完成一步行走后,对该步行走对应采样时间段内的三轴加速度序列进行PCA处理,确定该步行走对应的运动轴,并通过该步行走对应的采样时间段内的航向角序列,对运动轴指示的两个运动方向进行判断,确定行进方向,并根据该步行走的起始位置、及步长,对该步行走后用户的位置进行更新。
基于上述实施例一和实施例二,本申请实施例在如图7所示的测试环境下进行模拟测试,测试终端100为华为荣耀7智能手机,测试环境面积为413m*26.1m,将终端100放在手中甩手行进的姿态下进行模拟测试,采用本申请的SFSM行走检测,联合PCA处理和航向角进行行进方向确定进行定位时,测试结果定位轨迹图如图8所示,在模拟测试中,实际行走了“84”步,本申请检测到了“85”步,现有技术根据航向角确定行进方向的定位误差为3.31m,本申请联合PCA处理和航向角确定行进方向的定位误差为1.65m。相比于利用航向角直接确定行进方向的方法,本申请中的行进方向确定可以降低对用户甩动行走过程中对终端姿态的限制。传统方法需要终端100在行走过程中终端100顶端严格的指向行进方向,本申请只需要限制终端100的顶端大致向前或向后即可,允许终端顶端(顶端向前)或终端尾端(尾端向前)与行进方向具有不超过90°的方向偏差。
此外,通过模拟实验,在将终端放在手中甩手行进的姿态下,不同甩动强度下的6次测试共计1739步实际行走过程中利用SFSM行走检测方法和PD行走检测方法进行步数检测,PD行走检测方法的步数检测准确率为81.04%,SFSM行走检测方法的步数检测准确率为98.77%,相比传统PD方法提高了17.63%,取得了良好的检测结果原因如下:
首先是甩动模式下角速度模值相比加速度模值具有更好的行走同频周期性,且幅值也更稳定;其次是通过有限状态机对完整步态进行检测而非对行走过程中的某个状态点进行检测,提高了行走检测的准确度;第三是通过自适应更新有限状态机状态的阈值的方法可以保证算法的稳定性,在对不同用户不同时间进行行走检测时均可以取得良好的结果;第四是通过峰谷差和一步持续时间对噪声误检和转弯过程出现的极大峰值进行识别和剔除,提高了最终的检测准确度。
【实施例三】
基于相同的构思,图9所示为本申请提供的一种行走检测装置900,该行走检测装置900用于执行上述行走检测中终端执行的操作。如图9所示,行走检测装置900包括:
检测单元901,用于检测获得多个连续的三轴角速度;
处理单元902,用于确定与所述多个连续的三轴角速度对应的多个角速度模值;其中,基于所述多个连续的三轴角速度的检测时间,所述多个角速度模值与四个时间段形成对应关系;所述四个时间段是所述根据第一阈值和第二阈值按照检测时间顺序确定;
所述处理单元902,还用于判断所述多个连续的角速度模值满足条件,确定用户完成一步行走;所述条件包括:对应第一时间段的角速度模值小于所述第一阈值,对应第二时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值,对应第三时间段的角速度模值大于所述第二阈值,对应第四时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值。
可选的,所述装置还包括:
接收单元903,用于接收定位信号;
所述处理单元902,还用于确定所述定位信号的信号强度小于第三阈值时,根据所述一步行走的起始位置、行进方向和行进步长,确定所述一步行走后所述用户的位置。
可选的,所述检测单元901,还用于在采样时间段内检测获得多个连续的三轴加速度和多个连续的航向角;
所述处理单元902,还用于确定与所述多个连续的三轴加速度对应的多个水平面加速度,并基于所述多个连续的三轴加速度的检测时间,对所述多个水平面加速度进行PCA处理,确定所述一步行走对应水平面的运动轴,其中,所述运动轴在水平面上指示两个运动轴方向;将与所述多个连续的航向角的平均航向角的夹角不大于90度的目标运动轴方向,确定为行进方向。
可选的,所述条件还包括:检测获得所述多个连续的三轴角速度的时长不小于第四阈值。
可选的,所述条件还包括:确定的所述多个角速度模值中最大角速度模值与最小角速度模值的差值不大于第五阈值。
可选的,所述处理单元902,还用于根据
Figure BDA0001867298020000141
确定所述第一阈值;以及,根据
Figure BDA0001867298020000151
确定所述第二阈值;其中,Thrv(i)表示所述第一阈值,Thrp(i)表示所述第二阈值,所述i表示完成的第i步行走,i为自然数;maxi-f为第i-f步行走确定的最大角速度模值,maxi-g为第i-g步行走确定的最大角速度模值,mini-f为第i-f步行走确定的最小角速度模值,mini-g为第i-g步行走确定的最小角速度模值,thrp0、thrv0、a、b、c和d为常数,f<g<N、且f、g和N为正整数。
可选的,所述a和所述d为1/3,所述b和所述c为1/6。
可选的,所述f为2,所述g为4。
基于与上述行走检测方法的同一发明构思,本申请实施例还提供了一种终端。
如图10所示,终端1000包括存储器1001、处理器1002和收发器1003。存储器1001、处理器1002和收发器1003通过总线链接。存储器1001用于存储计算机执行指令,当终端设备1000运行时,处理器1002通过收发器1003执行存储器1001中存储的计算机执行指令,以使终端设备1000实现上述任一项行走检测方法,可参考上文及其附图的相关描述,在此不做赘述。
本申请实施例提供了一种计算机存储介质,存储有计算机程序,该计算机程序包括用于执行上述方法实施例描述的行走检测方法的指令。
本申请实施例提供了一种包含指令的计算机程序产品,当其在终端上运行时,使得终端实现上述方法实施例描述的行走检测方法。
本申请实施例提供了一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现上述方法实施例描述的行走检测方法。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请实施例可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括随机存取存储器(random accessmemory,RAM)、只读存储器(Read Only Memory,ROM)、电可擦可编程只读存储器(electrically erasable programmable read only memory,EEPROM)、只读光盘(compactdisc read-Only memory,CD-ROM)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(digital subscriber line,DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本申请实施例所使用的,盘(disk)和碟(disc)包括压缩光碟(compact disc,CD)、激光碟、光碟、数字通用光碟(digital video disc,DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
总之,以上所述仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡根据本申请的揭露,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (20)

1.一种行走检测方法,其特征在于,包括:
终端通过传感器模块检测获得多个连续的三轴角速度;
所述终端通过处理器确定与所述多个连续的三轴角速度对应的多个角速度模值;其中,基于所述多个连续的三轴角速度的检测时间,所述多个角速度模值与四个时间段形成对应关系;所述四个时间段是所述终端根据第一阈值和第二阈值按照检测时间顺序确定;
所述终端通过所述处理器判断所述多个连续的角速度模值满足条件,确定用户完成一步行走;所述条件包括:对应第一时间段的角速度模值小于所述第一阈值,对应第二时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值,对应第三时间段的角速度模值大于所述第二阈值,对应第四时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述终端通过无线通信模块接收定位信号;
所述终端确定所述定位信号的信号强度小于第三阈值时,通过所述处理器根据所述一步行走的起始位置、行进方向和行进步长,确定所述一步行走后所述用户的位置。
3.如权利要求2所述的方法,其特征在于,所述终端通过以下方式确定所述行进方向:
所述终端通过所述传感器模块在采样时间段内检测获得多个连续的三轴加速度和多个连续的航向角;
所述终端通过所述处理器确定与所述多个连续的三轴加速度对应的多个水平面加速度,并基于所述多个连续的三轴加速度的检测时间,对所述多个水平面加速度进行主成分分析PCA处理,确定所述一步行走对应水平面的运动轴,其中,所述运动轴在水平面上指示两个运动轴方向;
所述终端通过所述处理器将与所述多个连续的航向角的平均航向角的夹角不大于90度的目标运动轴方向,确定为行进方向。
4.如权利要求1所述的方法,其特征在于,所述条件还包括:
所述终端检测获得所述多个连续的三轴角速度的时长不小于第四阈值。
5.如权利要求1或4所述的方法,其特征在于,所述条件还包括:
所述终端确定的所述多个角速度模值中最大角速度模值与最小角速度模值的差值不大于第五阈值。
6.如权利要求1所述的方法,其特征在于,所述终端通过以下方式确定所述第一阈值和所述第二阈值:
根据
Figure FDA0001867298010000011
确定所述第一阈值;以及,
根据
Figure FDA0001867298010000012
确定所述第二阈值;
其中,Thrv(i)表示所述第一阈值,Thrp(i)表示所述第二阈值,所述i表示完成的第i步行走,i为自然数;maxi-f为第i-f步行走确定的最大角速度模值,maxi-g为第i-g步行走确定的最大角速度模值,mini-f为第i-f步行走确定的最小角速度模值,mini-g为第i-g步行走确定的最小角速度模值,thrp0、thrv0、a、b、c和d为常数,f<g<N、且f、g和N为正整数。
7.如权利要求6所述的方法,其特征在于,所述a和所述d为1/3,所述b和所述c为1/6。
8.如权利要求6所述的方法,其特征在于,所述f为2,所述g为4。
9.一种行走检测装置,其特征在于,包括:
检测单元,用于检测获得多个连续的三轴角速度;
处理单元,用于确定与所述多个连续的三轴角速度对应的多个角速度模值;其中,基于所述多个连续的三轴角速度的检测时间,所述多个角速度模值与四个时间段形成对应关系;所述四个时间段是根据第一阈值和第二阈值按照检测时间顺序确定;
所述处理单元,还用于判断所述多个连续的角速度模值满足条件,确定用户完成一步行走;所述条件包括:对应第一时间段的角速度模值小于所述第一阈值,对应第二时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值,对应第三时间段的角速度模值大于所述第二阈值,对应第四时间段的角速度模值不小于所述第一阈值且不大于所述第二阈值。
10.如权利要求9所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收定位信号;
所述处理单元,还用于确定所述定位信号的信号强度小于第三阈值时,根据所述一步行走的起始位置、行进方向和行进步长,确定所述一步行走后所述用户的位置。
11.如权利要求10所述的装置,其特征在于,所述检测单元,还用于在采样时间段内检测获得多个连续的三轴加速度和多个连续的航向角;
所述处理单元,还用于确定与所述多个连续的三轴加速度对应的多个水平面加速度,并基于所述多个连续的三轴加速度的检测时间,对所述多个水平面加速度进行主成分分析PCA处理,确定所述一步行走对应水平面的运动轴,其中,所述运动轴在水平面上指示两个运动轴方向;将与所述多个连续的航向角的平均航向角的夹角不大于90度的目标运动轴方向,确定为行进方向。
12.如权利要求9所述的装置,其特征在于,所述条件还包括:检测获得所述多个连续的三轴角速度的时长不小于第四阈值。
13.如权利要求9或12所述的装置,其特征在于,所述条件还包括:确定的所述多个角速度模值中最大角速度模值与最小角速度模值的差值不大于第五阈值。
14.如权利要求9所述的装置,其特征在于,所述处理单元,还用于根据
Figure FDA0001867298010000021
确定所述第一阈值;以及,根据
Figure FDA0001867298010000022
确定所述第二阈值;其中,Thrv(i)表示所述第一阈值,Thrp(i)表示所述第二阈值,所述i表示完成的第i步行走,i为自然数;maxi-f为第i-f步行走确定的最大角速度模值,maxi-g为第i-g步行走确定的最大角速度模值,mini-f为第i-f步行走确定的最小角速度模值,mini-g为第i-g步行走确定的最小角速度模值,thrp0、thrv0、a、b、c和d为常数,f<g<N、且f、g和N为正整数。
15.如权利要求14所述的装置,其特征在于,所述a和所述d为1/3,所述b和所述c为1/6。
16.如权利要求14所述的装置,其特征在于,所述f为2,所述g为4。
17.一种终端,其特征在于,包括处理器、收发器和存储器;
所述存储器,存储有计算机程序;
所述收发器,用于进行数据发送和接收;
所述处理器,用于调用所述存储器中存储的计算机程序,通过所述收发器来执行如权利要求1-8任一项所述的方法。
18.一种计算机存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当计算机程序在终端上运行时,使得所述终端执行如权利要求1-8任一项所述的方法。
19.一种计算机程序产品,其特征在于,当终端读取并执行所述计算机程序产品时,使得终端执行如权利要求1-8任一项所述的方法。
20.一种芯片,其特征在于,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现如权利要求1-8任一项所述的方法。
CN201811360864.9A 2018-11-02 2018-11-15 一种行走检测方法及装置 Active CN111142687B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/113163 WO2020088352A1 (zh) 2018-11-02 2019-10-25 一种行走检测方法及装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811299883 2018-11-02
CN2018112998835 2018-11-02

Publications (2)

Publication Number Publication Date
CN111142687A true CN111142687A (zh) 2020-05-12
CN111142687B CN111142687B (zh) 2022-04-12

Family

ID=70515959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811360864.9A Active CN111142687B (zh) 2018-11-02 2018-11-15 一种行走检测方法及装置

Country Status (1)

Country Link
CN (1) CN111142687B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112237427A (zh) * 2020-10-14 2021-01-19 北京爱笔科技有限公司 步伐检测的方法、装置、检测设备以及计算机存储介质
CN112237426A (zh) * 2020-10-14 2021-01-19 北京爱笔科技有限公司 步伐检测的方法、装置、检测设备以及计算机存储介质
CN114139669A (zh) * 2021-11-19 2022-03-04 歌尔科技有限公司 一种跳绳计数方法、装置及其介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102824177A (zh) * 2012-07-25 2012-12-19 王哲龙 一种三维人体步态定量分析***和方法
CN104406586A (zh) * 2014-12-04 2015-03-11 南京邮电大学 基于惯性传感器的行人导航装置和方法
US20150366740A1 (en) * 2014-06-19 2015-12-24 Honda Motor Co., Ltd. Step counter, step assist device, and computer-readable medium having stored thereon a step count program
US20160047840A1 (en) * 2013-05-15 2016-02-18 Asahi Kasei Kabushiki Kaisha Offset estimation apparatus, offset estimation method, and computer readable medium
US20160123738A1 (en) * 2014-11-04 2016-05-05 Xsens Holding B.V. Pedestrian Dead Reckoning Position Tracker
CN106123911A (zh) * 2016-08-06 2016-11-16 深圳市爱康伟达智能医疗科技有限公司 一种基于加速传感器和角速度传感器的记步方法
US20170029107A1 (en) * 2015-07-29 2017-02-02 Lattice Semiconductor Corporation Wireless control of unmanned aerial vehicle with distance ranging and channel sensing
CN106705967A (zh) * 2016-11-18 2017-05-24 南京邮电大学 一种基于行人航位推算的精度改善的室内定位和方法
CN107966161A (zh) * 2017-11-09 2018-04-27 内蒙古大学 基于fft的步行检测方法
CN108634960A (zh) * 2018-05-11 2018-10-12 浙江大学 一种用于外骨骼穿戴者的步态在线检测方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102824177A (zh) * 2012-07-25 2012-12-19 王哲龙 一种三维人体步态定量分析***和方法
US20160047840A1 (en) * 2013-05-15 2016-02-18 Asahi Kasei Kabushiki Kaisha Offset estimation apparatus, offset estimation method, and computer readable medium
US20150366740A1 (en) * 2014-06-19 2015-12-24 Honda Motor Co., Ltd. Step counter, step assist device, and computer-readable medium having stored thereon a step count program
US20160123738A1 (en) * 2014-11-04 2016-05-05 Xsens Holding B.V. Pedestrian Dead Reckoning Position Tracker
CN104406586A (zh) * 2014-12-04 2015-03-11 南京邮电大学 基于惯性传感器的行人导航装置和方法
US20170029107A1 (en) * 2015-07-29 2017-02-02 Lattice Semiconductor Corporation Wireless control of unmanned aerial vehicle with distance ranging and channel sensing
CN106123911A (zh) * 2016-08-06 2016-11-16 深圳市爱康伟达智能医疗科技有限公司 一种基于加速传感器和角速度传感器的记步方法
CN106705967A (zh) * 2016-11-18 2017-05-24 南京邮电大学 一种基于行人航位推算的精度改善的室内定位和方法
CN107966161A (zh) * 2017-11-09 2018-04-27 内蒙古大学 基于fft的步行检测方法
CN108634960A (zh) * 2018-05-11 2018-10-12 浙江大学 一种用于外骨骼穿戴者的步态在线检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张向刚、唐海等: "一种基于隐马尔科夫模型的步态识别算法", 《计算机科学》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112237427A (zh) * 2020-10-14 2021-01-19 北京爱笔科技有限公司 步伐检测的方法、装置、检测设备以及计算机存储介质
CN112237426A (zh) * 2020-10-14 2021-01-19 北京爱笔科技有限公司 步伐检测的方法、装置、检测设备以及计算机存储介质
CN112237427B (zh) * 2020-10-14 2024-05-28 北京爱笔科技有限公司 步伐检测的方法、装置、检测设备以及计算机存储介质
CN114139669A (zh) * 2021-11-19 2022-03-04 歌尔科技有限公司 一种跳绳计数方法、装置及其介质

Also Published As

Publication number Publication date
CN111142687B (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
CN107976193B (zh) 一种行人航迹推断方法、装置、航迹推断设备及存储介质
CN108596976B (zh) 相机姿态追踪过程的重定位方法、装置、设备及存储介质
CN111142687B (zh) 一种行走检测方法及装置
US10508920B2 (en) Pedestrian dead reckoning position tracker
US10830606B2 (en) System and method for detecting non-meaningful motion
WO2018149324A1 (zh) 一种检测方法及终端设备
US10837794B2 (en) Method and system for characterization of on foot motion with multiple sensor assemblies
US10652696B2 (en) Method and apparatus for categorizing device use case for on foot motion using motion sensor data
CN111829516B (zh) 一种基于智能手机的自主式行人定位方法
US10359289B2 (en) Device state estimation under periodic motion
US11035915B2 (en) Method and system for magnetic fingerprinting
US20160097788A1 (en) Pedestrian direction of motion determination system and method
US10345426B2 (en) Device state estimation under pedestrian motion with swinging limb
CN106441296A (zh) 运动轨迹记录方法和用户设备
KR20160025687A (ko) 웨어러블 워치 및 그것의 디스플레이 방법
Gong et al. Robust inertial motion tracking through deep sensor fusion across smart earbuds and smartphone
CN109725284B (zh) 用于确定物体的运动方向的方法和***
JP7077598B2 (ja) 位置決定及び追跡のための方法、プログラム、及びシステム
TWI687705B (zh) 用於跟蹤和確定物體位置的方法和系統
US11692829B2 (en) System and method for determining a trajectory of a subject using motion data
US10914793B2 (en) Method and system for magnetometer calibration
US10895626B2 (en) Device state estimation with body-fixed assumption
WO2020088352A1 (zh) 一种行走检测方法及装置
JP7279731B2 (ja) 電子機器、マップマッチング方法及びプログラム
Lin et al. A Cnn-Speed-Based Gnss/Pdr Integrated System For Smartwatch

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant