发明名称 一种三维人体步态定量分析系统和方法
摘要 本发明公开了一种三维人体步态定量分析系统和方法。在双足上同时使用两个惯性测量节点,将两个惯性测量节点的数据进行分析融合,测量更准确的步态参数。获得单足测量方式所不能测量的信息。在行走过程中将所采集数据首先存储在测量节点的存储单元,待行走过程完成后再通过有线或无线的方式传输给分析计算装置。可以获得对行走过程中所有步态信息的高速采集,不遗漏有特征的步态信息点。采用所设计的惯性测量节点的足部绑定装置,消除行走过程中惯性测量节点的固定位置移动所带来的测量误差,保证多次重复测量时惯性测量节点的固定位置的同一性。步态分析计算程序模块采用滑动窗口搜值法确定步态信息的特征点,能够更准确提取步态特征信息。
申请公布号 CN102824177A 申请公布日期 2012.12.19
申请号 CN201210268628.0 申请日期 2012.07.25
申请人 王哲龙 发明人 王哲龙
分类号 A61B5/11(2006.01)I 主分类号 A61B5/11(2006.01)I
代理机构 代理人
主权项 1.一种三维人体步态定量分析方法,包括以下步骤:步骤100:左足惯性测量节点(4)、右足惯性测量节点(5)中的六轴微惯性传感器(11)分别获取人体行走过程中左足和右足的加速度信息和角速度信息;步骤200:接收节点(2)采集左足和右足的加速度信息和角速度信息,形成双足步态数据,并将双足步态数据传送至步态信息分析计算装置(1);步骤300:步态信息分析计算装置(1)分析计算出人体步态参数,所述人体步态参数包括:步频、步长、步速、步行周期、步行时相、角度信息、廓清和划圈半径;所述步行时相包括:脚跟离地期、摆动相、脚跟击地期、完全站立相;所述角度信息包括:足偏角、足滚角、足俯角;包括以下子步骤:步骤310:步态信息分析计算装置(1)中的数据采集程序模块(5)采样采集到的双足步态数据,并将采样采集到的双足步态数据送入步态信息分析计算装置(1)中的步态数据分析程序模块(6);步骤320:步态数据分析程序模块(6)将采样采集到的双足步态数据进行滤波,剔除误差,减少器件偏移;步骤330:步态数据分析程序模块(6)将滤波后的双足步态数据进行分离,分别得到人体行走过程中左足和右足的加速度信息和角速度信息;步骤340步态数据分析程序模块(6)通过测量单位时间内z轴角速度的周期,计算得到人体行走的步频,具体步骤如下:提取z轴的角速度的周期数,即是测量时间内行走的步数strides;步频计算公式为:<img file="FSA00000757664500011.GIF" wi="688" he="109" />其中,f<sub>stride</sub>为步频,T为测量时间,strides为测量时间内行走的步数;步骤350:步态数据分析程序模块(6)将左足的加速度信息和角速度信息进行数据融合,得到左足的步行周期;其中,步行周期:行走一步所用的步行时间;步行周期分为脚跟离地、摆动相、脚跟击地、完全站立四个部分;滑动方差可以衡量信号的波动剧烈程度,可以由以下公式计算:计算窗口平均值:<maths num="0001"><![CDATA[<math><mrow><msub><mi>E</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mi>M</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mi>M</mi></munderover><mi>a</mi><mrow><mo>(</mo><mi>j</mi><mo>+</mo><mi>i</mi><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>窗口内滑动方差大小:<maths num="0002"><![CDATA[<math><mrow><mi>D</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mi>M</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mi>M</mi></munderover><msup><mrow><mo>[</mo><mi>a</mi><mrow><mo>(</mo><mi>j</mi><mo>+</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mi>E</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>]</mo></mrow><mn>2</mn></msup><mo>;</mo></mrow></math>]]></maths>其中,M是窗口大小,根据采样频率的大小,这里按照经验值取M=20;E<sub>i</sub>(j)是窗口的平均值;D(i)是滑动窗口中的滑动方差;i与j是采样序列号。t<sub>HO</sub>(i)脚跟离地时间点:在每一步开始时,当滑动方差满足:D(i)>λ时,是脚跟离地时间点;其中D(i)是滑动方差,阈值λ是经验值,是根据本专利的采样条件以及信号水平选取的值;t<sub>SW</sub>(i)摆动相时间点:z轴角速度第一次改变为正处所对应的时刻是摆动相时间点;t<sub>HS</sub>(i)脚跟击地时间点:在一个步行周期内,y轴加速度达到最大负值的时刻是脚跟击地时间点;t<sub>FF</sub>(i)完全站立时间点:当滑动方差满足:D(i)<λ时,该时刻是完全站立时间点;其中D(i)是滑动方差,阈值λ是经验值,是根据采样条件以及信号水品选取的值;综上所述,步态时相可以用以下各式表达和计算:脚跟离地期:T<sub>HO</sub>(i)=t<sub>SW</sub>(i)-t<sub>HO</sub>(i);摆动期:T<sub>SW</sub>(i)=t<sub>HS</sub>(i)-t<sub>SW</sub>(i);脚跟着地期:T<sub>HS</sub>(i)=t<sub>FF</sub>(i)-t<sub>HS</sub>(i);完全站立期:T<sub>FF</sub>(i)=t<sub>HO</sub>(i+1)-t<sub>FF</sub>(i);步伐总时间:T(i)=t<sub>HO</sub>(i+1)-t<sub>HO</sub>(i);其中i代表第i步,i+1代表第i+1步;同理,得到右足的步态时相;步骤360:步态数据分析程序模块(6)将将左足步行周期和右足步行周期融合,得到双足运动步态周期;双足运动步行周期分为单支撑相、双支撑相和摆动相;当左脚脚跟离地时候到开始摆动相期间是左脚前双足支撑相DSP1;接着左脚发生摆动相SW,同时右脚处于单支撑相SSP;然后左脚脚跟击地,并且右脚脚跟离地,这个期间是左脚后双支撑相DSP2;最后左脚处于单支撑相SSP,同时右脚离地发生摆动相SW;其中,双足步态时相是根据以下过程得到的:检测双足步态周期的过程如下:首先,从左脚脚跟离地时候到开始摆动相期间是左脚前双足支撑相DSP1,检测到左脚与地面接触的时间,并且同时满足右脚与地面接触的时间为左脚前双足支撑相;左脚发生摆动相,同时右脚处于单支撑相SSP;检测到左脚的摆动相的同时,并且判断右脚是否与地面接触,得到了右脚的单支撑相;左脚在摆动相完成后,与地面接触,同时判断右脚是否与地面接触,这个期间是左脚后双支撑相DSP2;右脚摆动相开始,并且判断左脚与地面接触的时间段内,发生了左脚的单支撑相SSP;步骤370:步态数据分析程序模块(6)通过坐标系的投影将惯性系坐标下的加速度换算到世界坐标系下,计算得到足角度;通过数值积分的方法分别计算得到左足步长和右足步长;坐标系变换:X-Y-Z是实际物理坐标系,x-y-z是六轴微惯性传感器(12)的坐标系;坐标系相对位置的动态变化过程是在四个步行时相内的相对位置;足角度的计算:在行走过程中,足俯仰角有正角度和负角度两个阶段;该角度可以根据如下公式计算:在脚跟离地期发生的负角度:<maths num="0003"><![CDATA[<math><mrow><msub><mi>&theta;</mi><mrow><mi>p</mi><mrow><mo>(</mo><mo>-</mo><mo>)</mo></mrow></mrow></msub><mo>=</mo><munderover><mo>&Integral;</mo><mrow><msub><mi>t</mi><mi>HO</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>t</mi><mi>SW</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></munderover><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mi>Z</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mi>dt</mi><mo>+</mo><msub><mi>&theta;</mi><mi>init</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>在摆动期发生的正角度:<maths num="0004"><![CDATA[<math><mrow><msub><mi>&theta;</mi><mrow><mi>p</mi><mrow><mo>(</mo><mo>+</mo><mo>)</mo></mrow></mrow></msub><mo>=</mo><munderover><mo>&Integral;</mo><mrow><msub><mi>t</mi><mi>HO</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>t</mi><mi>HS</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></munderover><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mi>Z</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mi>dt</mi><mo>+</mo><msub><mi>&theta;</mi><mi>init</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>其中,<img file="FSA00000757664500041.GIF" wi="111" he="66" />是测量得到的z轴的角速度信号;θ<sub>init</sub>(i)是初始角由以下公式计算:<maths num="0005"><![CDATA[<math><mrow><msub><mi>&theta;</mi><mi>init</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mo>[</mo><msub><mi>t</mi><mrow><mi>HO</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mi>N</mi></mrow></msub><mo>]</mo></mrow><mrow><mo>[</mo><msub><mi>t</mi><mi>HO</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>]</mo></mrow></munderover><msup><mi>tan</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mfrac><mrow><msub><mi>a</mi><mi>y</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>a</mi><mi>x</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mfrac><mo>;</mo></mrow></math>]]></maths>其中i代表第i步;N按照经验取N=10;a<sub>y</sub>、a<sub>x</sub>是测量得到的加速度序列;另外滚转方向还有偏转方向的角度由以下公式来评估:足滚角:步行过程中,前进方向为轴的滚转角;<maths num="0006"><![CDATA[<math><mrow><msub><mi>&theta;</mi><mi>r</mi></msub><mo>=</mo><munderover><mo>&Integral;</mo><msub><mi>t</mi><mrow><mi>HO</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mrow><msub><mi>t</mi><mi>SW</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></munderover><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mi>y</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mi>dt</mi><mo>;</mo></mrow></math>]]></maths>其中,<img file="FSA00000757664500044.GIF" wi="108" he="67" />是测量得到的y轴角速度信号。足偏角:步行过程中垂直方向为轴与中心线的偏移角;<maths num="0007"><![CDATA[<math><mrow><msub><mi>&theta;</mi><mi>y</mi></msub><mo>=</mo><munderover><mo>&Integral;</mo><mrow><msub><mi>t</mi><mi>HO</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>t</mi><mi>SW</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></munderover><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mi>x</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mi>dt</mi><mo>;</mo></mrow></math>]]></maths>其中,<img file="FSA00000757664500046.GIF" wi="105" he="66" />是测量得到的y轴角速度信号;步骤380:步态数据分析程序模块(6)通过坐标系的投影将惯性系坐标下的加速度换算到世界坐标系下,通过数值积分的方法分别计算得到步伐长度即每一步的长度;具体步骤如下:加速度信号在Y方向上投影为:a<sub>Y</sub>(t)=a<sub>y</sub>(t)cosθ<sub>z</sub>(t)+a<sub>x</sub>(t)sinθ<sub>z</sub>(t);其中,a<sub>y</sub>(t)是y轴加速度;a<sub>x</sub>(t)是x轴加速度;θ<sub>z</sub>(t)是惯性测量节点转过的角度;对加速度积分可以得到步伐长度L(i)为:<img file="FSA00000757664500047.GIF" wi="425" he="137" />步骤390:步态数据分析程序模块(6)通过坐标系的投影将惯性系坐标下的加速度换算到世界坐标系下,计算得到廓清与划圈半径;具体步骤如下:廓清:行走过程中足部离开地面的高度;加速度信号在竖直方向的投影为:a<sub>X</sub>(t)=a<sub>y</sub>(t)sinθ<sub>z</sub>(t)+a<sub>x</sub>(t)sinθ<sub>z</sub>(t)-g;其中,a<sub>y</sub>(t)是y轴加速度信号;a<sub>x</sub>(t)是x轴加速度;g是初始的重力加速度;计算廓清的公式:<maths num="0008"><![CDATA[<math><mrow><mi>K</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><munderover><mrow><mo>&Integral;</mo><mo>&Integral;</mo></mrow><mrow><msub><mi>t</mi><mi>HO</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>t</mi><mi>FF</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></munderover><msub><mi>a</mi><mi>x</mi></msub><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow><mi>d&tau;</mi><mo>;</mo></mrow></math>]]></maths>其中a<sub>x</sub>是x轴加速度信号;划圈半径:脚向横向划圈运动时的距离;在水平方向的,划圈半径由以下公式来计算:<img file="FSA00000757664500052.GIF" wi="429" he="136" />其中a<sub>y</sub>是y轴加速度信号。
地址 116001 辽宁省大连市中山区祝贺街35号