基于foot-mounted IMU 零速区间的行人步态检测算法

2019-09-05 01:10李飞王朋远
城市勘测 2019年4期
关键词:跨步角速度步态

李飞,王朋远

(1.广东科学技术职业学院建筑工程学院,广东 珠海 519090; 2.珠海市测绘院,广东 珠海 519000)

1 引 言

室内外无缝定位已经成为位置服务的研究热点。惯性导航系统作为一种自主导航定位技术,能够独立于环境,实时获取载体的位置、姿态信息,辅助实现全空间无缝定位,尤其在无任何设施的全新特殊环境如紧急灾害现场、矿井、勘测的地下环境等。微型机电系统(Micro-electro mechanical Systems,MEMS)为行人惯性导航技术提供了便携式微型惯性测量单元(Inertial measurement unit,IMU)[1,2]。但由于MEMS微型惯性传感器精度低,输出数据含有大量的噪声,造成捷联积分误差迅速积累至不可用,因此基于足部MEMS-IMU捷联惯性导航技术,多应用零速修正(Zero-velocity Update,ZUPT)集成算法有效补偿累计误差[3,4],该算法关键在于步态检测能够提供精确的零速区间。除此之外,行人航位推算(Pedestrian Dead-Reckoning,PDR)算法推算行人航迹变化需要精确的航向、步长及计步信息。综上,精确的步态检测算法是高精度行人惯性导航技术的关键保障。

在足部IMU捷联惯性导航技术的研究中,R Feliz等人[5]首次设计出类似的ZUPTs系统,在零速时更正速度和位置。Antonio Jiménez等人[5]给出了一个较为完整的ZUPT实施过程。Hassen[7],Henar[8],Jimenez[9],Yan Li[10]等人利用零速修正算法融合Kalman滤波算法、EKF算法,对零速阶段的速度和位置修正,实现位置、航向约束,提供室内定位或室内外无缝定位的解决方案。田晓春[11]、张金亮[12]等人,利用足部传感器输出参量的模值、方差、幅值、峰值等,进行多条件约束降低零速区间误判。上述基于足部传感器的行人导航定位中,步态检测算法多采用方差阈值进行判断,计算量大;而行人在跑步状态下剧烈运动,导致零速阶段不明显,现有的算法极少实现跑步状态零速检测。针对以上问题,利用行走过程中足部的静止着地时间与跨步时间,修正伪运动状态点与伪零速点,减少计算量;并针对行人跑步状态,利用步伐探测和跨步阶段探测建立了一个多条件约束的零速检测算法,实现不同运动状态的零速检测与步态划分。

2 步态检测算法

2.1 运动模型分析

利用足部传感器数据变化分析行人足部运动模型,实验捆绑传感器于单脚上采集100Hz加速度和角速度数据,如图1和图2所示,数据变化具有明显周期性特征。图1中垂向加速度呈现出一段正弦曲线和一段平滑水平线组合为一个周期的变化,正弦曲线部分为该脚的跨步过程;平滑水平线部分为该脚跟着地到脚跟离地前的静止阶段(另一只脚在跨步过程),速度接近于零,形成了零速区间,图2所示的加速度模值与角速度模值的变化具有同样的零速区间,为步态检测和惯性定位误差修正提供了有利的条件。

2.2 步态检测算法

2.2.1 行走状态零速区间检测算法

为精确判断行走过程中脚着地的静止阶段,较多研究者采用足部传感器的加速度、加速度方差和角速度3个阈值条件综合检测数据的零速区间[11~13],方差计算需要恰当的方法选择合适的窗口,为避免计算方差和方差窗口设置不当,提出了利用脚着地时间与跨步时间修正运动状态的判断,剔除伪跨步状态点与伪零速点,过程如下:

图1 行走时足部垂向加速度

图2 行走时足部加速度模值与角速度模值

(1)计算k时刻加速度模值|ak|,利用零速状态的加速度阈值进行判断得到C1:

(1)

(2)

式中:akx、aky、akz为k时刻三轴向加速度值。thamin、thamax为行走状态的零速区间加速度阈值。

(2)计算角速度模值|wk|,利用角速度阈值条件进行判断结果为C2:

(3)

(4)

式中:wkx、wky、wkz为k时刻三轴向角速度值;thwmax为行走状态零速区间角速度阈值。将判断结果C1、C2进行逻辑与运算得到C3:

C3=C1∩C2

(5)

(3)判断伪零速点并删除:以加速度和角速度阈值进行判断,结果显示仍有零碎的跨步状态数据点判断错误,成为伪零速区间点,根据常速行走的经验得出,足部着地时间约为 0.1 s~0.3 s[14],因此将连续零速区间不足0.1s的判断为伪零速点并剔除,修正为跨步状态点,得到C4。

(4)判断伪跨步点并删除;在脚着地时,由于踏步不稳易将部分采样点误判为跨步状态,根据跨步时间约为 0.1 s~0.3 s[14],将连续跨步时间不足 0.1 s的修正为零速点,获得最终步态检测结果C,C值为1表示为脚着地阶段的零速区间。步态检测算法的逻辑运算结果如图3所示,其中tup到tdown区间表示抬起脚跟开始跨步到脚着地,完成一个跨步过程,tdown到tend区间为算法检测出的零速区间。

图3 行走状态零速检测算法逻辑图

2.2.2 多条件约束的跑步状态零速区间检测算法

跑步相对剧烈,步频快,脚着地时间短且不稳定,加速度和角速度数据波动杂乱,相比行走状态时零速区间不明显,如图4和图5所示。图4的3名实验者实测跑步状态的角速度曲线显示,3名实验者跑步时脚步运动特征差异较大,角速度无法独立作为步态判断的依据。但不同实验者在脚着地期间角速度数值均较小,当抬脚的瞬间会出现峰值,可辅助判断零速区间。

跑步状态加速度如图5所示,曲线零速区间不明显,跨步阶段加速度与静止阶段加速度接近,若利用零速检测算法简单扩大阈值,将造成较多的虚假检测。但加速度数据显示每跑一步存在一个峰值点,可作为跑步状态特征点,因此可利用峰值点探测,完成跑步一步的步伐探测,再利用跨步阶段探测进行零速区间和跨步阶段划分,建立了跑步状态的多条件约束零速检测算法。

图4 跑步状态角速度分析

图5 跑步状态加速度特征

(1)步伐探测

步态周期分为4个阶段:脚着地静止、脚跟抬起、跨步、脚跟着地。如图5加速度在达到峰值后迅速降低接近零值,该时刻是跑步中脚完成跨步阶段后,脚跟碰地时刻,此时脚跟撞击地面迅速停下,造成加速度剧烈变化。因此,该峰值点可作为跑步完成一个跨步的标志性点,步伐探测即完成该峰值点的探测,进行步数更新。

根据以上分析,跑步状态步伐探测利用波峰检测算法,过程如下:

①选取20个历元的滑动窗口,获得当前窗口内加速度波峰进行阈值判断,经过多次试验数据分析,若峰值在区间[30 m/s2,90 m/s2]内即判断为跑步状态;

②计算窗口内波峰与前一波峰时间差,利用时间阈值进行判断,在[0.2 s,1.4 s]内为跑步状态,该时长为跑步时该脚着地静止与跨步时间总和。

③将波峰与前后邻域10个历元比较,若为伪波峰则进行剔除,若仍为邻域内峰值点则更新计步,完成步伐探测。

(2)跨步阶段探测

跨步阶段探测是确定跨步的起止时间,防止因扩大阈值而产生虚假检测。算法在步伐探测到峰值点的基础上,进行多条件约束,实现零速区间与跨步阶段的划分,过程如下:

①根据步伐探测的峰值点向后查找,利用加速度阈值区间[8 m/s2,15 m/s2]进行条件约束,检测出峰值点后的零速区间,结果为C5。

②利用角速度阈值Ts=2进行约束,辅助检测零速区间,如式(6)所示,结果为C6。

(6)

将角速度与加速度条件约束结果进行逻辑与运算,完成多条件限制确定跑步状态零速区间C7。跨步阶段则从零速区间的下一历元开始,直至下一峰值点后的零速区间为止。

3 实验与结果分析

3.1 实验设计

步态检测实验使用美国MicroStrain公司的高精度微型惯性传感器3DM-GX3-25,如图6所示,将传感器3DM-GX3-25固定于脚上如图7所示,采集数据频率 100 Hz,实验于中国矿业大学环境与测绘学院三楼的不同场景下进行,建筑分布如图8所示,邀请不同性别、身高、体重人员进行两种运动状态的直线和回形路线的实验,验证算法有效性。

图6 硬件设备3DM-GX3-25

图7 传感器固定示意图

图8 环测学院三楼建筑地图

3.2 实验与分析

3.2.1 行走状态实验与分析

为验证行走状态零速检测算法,对身高体重行走姿态差别较大的4名实验者的7组实验数据进行处理,结果如表1所示,计步误差最大为一步,步态检测正确率达99%以上,因此,行走状态零速检测算法可实现有效步态检测。

行走状态零速检测算法统计 表1

3.2.2 跑步状态实验与分析

为验证跑步状态步态检测算法是否有效,4名身高体重差异较大的实验者进行了10组实验,算法处理结果如表2所示,计步误差最大为一步,步态判断准确率达99%以上,实现了跑步状态高精度的步态检测与计步。其中,回形跑步计步错误是因为该实验者转角处速度过慢,加速度未满足条件所致。

跑步状态零速检测统计 表2

跑步状态步态检测算法包括步伐探测和跨步阶段探测,其中直线路线和回形路线实验的步伐探测结果如图9和图10所示,探测出峰值点用圆圈标记,算法有效探测出脚着地瞬间产生的加速度峰值点,实现步伐更新。在此基础上,跨步阶段探测如图11所示,其中“*”标志为零速静止阶段,其他为跨步阶段。图11中可以看出,算法有效探测出跑步状态的零速区间,准确划分零速静止阶段与跨步阶段。

图9 30 m跑步实验步伐探测结果

图10 回形路线实验步伐探测结果

图11 跨步阶段探测

4 结 论

基于足部微型传感器的行人惯性导航定位研究中,步态检测具有举足轻重的作用。本文提出利用足部着地和跨步时间条件限制的行走步态检测算法,正确率在99%以上;并针对行人跑步状态,将跑步状态划分为静止阶段和跨步阶段,利用步伐探测和跨步阶段探测设计了跑步状态零速区间检测算法,正确率达99%,避免了简单扩大阈值引入的运动状态误判。综上,针对行走与跑步状态的步态检测算法满足了步态检测高精度要求,为行人惯性导航的误差修正,提高导航精度奠定基础;不足之处在于未将行走状态与跑步状态算法统一,此为进一步研究的方向。

猜你喜欢
跨步角速度步态
基于步态参数分析的老年跌倒人群步态特征研究
顺应网络时代发展 向化解网购纠纷跨步
基于面部和步态识别的儿童走失寻回系统
基于Kinect的学步期幼儿自然步态提取
圆周运动角速度测量方法赏析
篮球运动员行进间投篮跨步起跳能力的测量与分析
步态研究及其在踝关节不稳中的应用进展
半捷联雷达导引头视线角速度提取
基于构架点头角速度的轨道垂向长波不平顺在线检测
一种无角速度信息的挠性航天器姿态控制方法