基于IMU和自适应振荡器算法的步态周期相位识别方法与流程

文档序号:32463843发布日期:2022-12-07 04:49阅读:304来源:国知局
基于IMU和自适应振荡器算法的步态周期相位识别方法与流程
基于imu和自适应振荡器算法的步态周期相位识别方法
技术领域
1.本发明涉及助行外骨骼的步态识别技术领域,具体涉及一种基于imu和自适应振荡器算法的步态周期相位识别方法,可用于在人体行走时实时识别出当前的步态周期相位,指导外骨骼当前的控制策略。


背景技术:

2.人类步行的行为特征称为步态,具有周期性,且会随着周期相位的推进而不断循环变化,因此按所处的步态周期相位不同,人体步行的辅助需求也不同。在用于助行的外骨骼的技术栈中,如何识别当前步态周期相位是关键的一环,其作用在于给外骨骼指示出当前人体步行所处的步态周期相位,进而使外骨骼能够按预设的控制策略更新对人体的输出,实现在不同的步态周期相位时所需的不同的外骨骼辅助效果。现有的外骨骼步态周期相位识别方法多是基于时域滑窗,即通过惯性测量单元(imu)或足底压敏电阻等传感器采集和记录人体肢体的姿态信号或作用力信号,并构建滑窗来追溯前若干周期内的信号特征点,以此计算出平均步态周期时长,再除当前周期计时得出当前的步态周期相位。虽然该方法的稳态抗干扰性较好,但它弊端是依赖了历史数据,实时性不足,导致瞬态响应容易滞后,无法快速反映如急停等的步态变化。


技术实现要素:

3.本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于imu和自适应振荡器算法的步态周期相位识别方法。该方法基于频域识别步态周期相位,即步态周期是在按一个当前频率进行,其进度会反映在频率积分上,其与全周期(2π)之间的比值即为当前的步态周期相位。该方法的优点是隐去了对步态周期时长的识别需求,改为识别更具有实时性的频率,利于提高识别的响应速度;另外,由于不受原始数据的时域延迟的影响,大大降低对传感器性能的需求,利于减少器械成本。
4.本发明的目的可以通过采取如下技术方案达到:
5.一种基于imu和自适应振荡器算法的步态周期相位识别方法,所述步态周期相位识别方法包括以下步骤:
6.s1、固定惯性测量单元于大腿肢体上并采集大腿的矢状面摆动角信号,其中,惯性测量单元简称imu;
7.s2、提取摆动角信号中第一谐波得到角频率特征显著的信号;
8.s3、通过自适应hopf振荡器算法学习角频率特征显著的信号得到频率适应值;
9.s4、由频率适应值计算当前的步态周期相位并判断当前运动状态。
10.进一步地,为消除imu测量信号中噪声对适应hopf振荡器算法学习效率的影响,需去除信号中功率较高的直流分量并简化信号为方波,最终达到提取测得摆动角信号中的角频率信息目的。因此所述步骤s2中提取摆动角信号中第一谐波得到角频率特征显著的信号,过程如下:
11.每接收当前imu摆动角信号θ,相应地采样数n从0开始累加1,将n个θ累计至去直流分量累计池i
θ
,再将第n个摆动角θn减去i
θ
与n的商得到去除直流分量后的第一谐波信号θ
′n:
[0012][0013]
再将第一谐波信号θ
′n转化为角频率特征显著的方波信号θ
″n,即θ
′n大于零则令θ
″n等于1,θ
′n小于零则令θ
″n等于-1。
[0014]
进一步地,基于dynamic hebbian learning学习算法改进hopf振荡器对方波信号等简单信号有较高学习效率,频率适应值的收敛速度可以满足实时性要求。因此所述步骤s3中通过自适应hopf振荡器算法学习角频率特征显著的信号得到频率适应值,过程如下:
[0015]
基于dynamic hebbian learning学习算法改进hopf振荡器模型:
[0016][0017][0018][0019]
其中,x和y是hopf振荡器振子的直角坐标分量,初始值不同时为0,优选地,分别设为0和1;x、y对时间t的一阶微分为0和1;x、y对时间t的一阶微分初始值设置为0;ω适应频率,初始值设置为任意正数;ω对时间t的一阶微分的初始值设置为0;μ是hopf振荡器极限环的半径,初始值设置为方波的第一谐波分量幅值的倒数;f为方波信号θ
″n与x之间的误差;ε为控制识别强度的增益系数;对作数值积分得到ω。
[0020]
进一步地,由hopf振荡器计算得到的频率适应值可通过积分计算得到步态相,也可以作为人体步行状态稳定性的判断依据,是外骨骼机器人的上层控制策略的重要环节。因此所述步骤s4中由频率适应值计算当前的步态周期相位并判断当前运动状态,过程如下:
[0021]
对ω作数值积分得到频率累计池i
ω
,若ω的数值高于最小适应频率阈值ω
min
,则i
ω
与2π的商的绝对值即为当前的步态周期相位否则表示当前人体已不处于步行状态,报送当前的步态周期相位为空值。
[0022]
本发明相对于现有技术具有如下的优点及效果:
[0023]
(1)本发明结合基于dynamic hebbian learning学习算法改进hopf振荡器技术,提出了一种步态周期相位识别的创新方法。与传统的时域滑窗方法相比,本发明充分利用了步行作为周期性运动的特点,隐去了对步态周期时长的需求,因此具有更强的实时性,在应对急停或提速等情况时瞬态响应性能更好。
[0024]
(2)本发明通过对人体大腿摆动信号的信噪特征深入分析,提出了从imu原始信号中提取角频率特征的方法。该方法滤除了信号中功率较高的直流分量并简化信号为方波,排除了噪声的干扰,因此与其他基于振荡器的步态周期相位识别算法相比具有更快的收敛速度和更小的步态周期相位识别误差。
[0025]
(3)本发明在保证较高步态周期相位识别速度和准确率的前提下,使用了更加简化的算法,而且该算法对imu的采集精度和延迟不敏感,因此相对于其他步态周期相位识别算法,本发明占用计算存储空间更小,对器械性能要求更低。
附图说明
[0026]
此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0027]
图1是本发明中基于imu和自适应振荡器算法的步态周期相位识别方法的步骤图;
[0028]
图2是本发明中基于imu和自适应振荡器算法的步态周期相位识别方法的实施流程图;
[0029]
图3是本发明实施例1中大腿摆角信号测量值和步态周期计算结果图;
[0030]
图4是本发明实施例2中大腿摆角信号输入值、适应频率计算结果和步态周期计算结果图。
具体实施方式
[0031]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0032]
实施例1
[0033]
本实施例公开了一种基于imu和自适应振荡器算法的步态周期相位识别方法。为验证本发明对步态周期相位识别的准确性,在本场景中,受试者以1.25m/s的步速穿戴外骨骼行走,使用基于imu和自适应hopf振荡器算法的步态周期相位识别方法实时获取步态周期相位。
[0034]
如图1和图2所示,本实施例公开了一种基于imu和自适应振荡器算法的步态周期相位识别方法,该方法包括如下步骤:
[0035]
s1、进行如下的硬件和软件初始化:
[0036]
1)硬件上,固定imu于大腿肢体上并将其中一轴平行于人体的冠状轴,设置imu以采集频率100hz采集该轴的摆动角信号,即大腿的矢状面摆动角,如图3所示;
[0037]
2)软件上,初始化自适应hopf振荡器算法和其他过程参数。其中基于dynamic hebbian learning学习算法改进hopf振荡器模型:
[0038]
[0039][0040][0041]
其中:μ设置为4/π;x及y初始值在本实施例中分别设为0和1;及初始值设置为0;ω的初始值设置为1rad/s;的初始值设置为0;ε为控制识别强度的增益系数,在本实施例中设置为8;由于f为实时输入量,无须初始化;
[0042]
其他过程参数:当前imu采样数n初始值设置为0;上一周期的第一谐波信号θ
pre
初始值设置为0;去直流分量累计池i
θ
初始值设置为0;频率累计池i
ω
初始值设置为0。
[0043]
s2、初始化后按如下步骤重复执行:
[0044]
s21、接收当前imu摆动角信号θ,相应地采样数n增加1;
[0045]
s22、去除摆动角信号中的直流分量。将n个θ累计至去直流分量累计池i
θ
,再将第n个摆动角θn减去i
θ
与n的商得到去除直流分量后的第一谐波信号θ
″n;
[0046]
s23、修正振荡器算法的移相现象。因为去除直流信号后的大腿摆角在每个步态周期中只有一个导数为正的零点和一个导数为负的零点,选取其中的导数为负的零点作为相位零点,规定θ
′n若经过该零点,即θ
′n与上一周期的第一谐波信号θ
pre
的乘积小于0时,则修正步态周期相位为0;
[0047]
s24、记录数据。将当前的θ
′n覆盖到θ
pre
中;
[0048]
s25、将θ

转换为方波信号θ
″n,以稳定地扩大信号频谱中基频分量(即步态周期运行频率)的功率与其他杂质分量的功率之间的差距,加快后续自适应hopf振荡器算法识别正确频率的速度以及去除高频噪声分量的干扰。本实施例中的具体方式是当θ
′n《0时将θ
″n置-1,当θ

≥0时将θ
″n置1;
[0049]
s26、自适应hopf振荡器算法环节。令θ
″n与的差作为实时输入f导入到自适应hopf振荡器算法,进行运算得到和两者除以采样频率100hz后各自累计至x和y,然后进一步从自适应hopf振荡器算法中得到同样除以采样频率100hz后累计至频率适应值ω;
[0050]
s27、对频率适应值ω积分得到识别结果。将ω除以采样频率100hz后累计至频率累计池i
ω
,若ω的数值高于最小适应频率阈值ω
min
,本实施例中取3rad/s,则i
ω
与2π的商的绝对值即为当前的步态周期相位结果如图3所示;否则表示当前人体已不处于步行状态,报送当前的步态周期相位为空值。
[0051]
以上实施例中,大腿摆角信号测量值和步态周期计算结果如图3所示,尽管测得的大腿摆角信号并非严格的简单正弦信号,但hopf振荡器准确收敛到了跟大腿摆角信号同一震荡频率,且完成了对步态周期相位的计算任务,满足了外骨骼控制所需要的准确性。
[0052]
实施例2
[0053]
本实施例公开了一种基于imu和自适应振荡器算法的步态周期相位识别方法。为验证本发明对步态周期相位识别的实时性,在本场景中,将预先采集的受试者以1.25m/s步速行走的大腿摆动角度数据作为输入,如图4所示;再用基于自适应hopf振荡器算法的步态周期相位识别方法仿真计算步态周期相位。
[0054]
s1、进行如下软件初始化,具体内容可以参照实施例1中步骤s1的软件初始化过程;
[0055]
s2、初始化后按如下步骤重复执行:
[0056]
s21、接收当前imu摆动角信号θ,相应地采样数n增加1;
[0057]
s22、去除摆动角信号中的直流分量。具体方法可以参照实施例1中步骤s22的计算过程;
[0058]
s23、修正振荡器算法的移相现象。具体方法可以参照实施例1中步骤s23的计算过程;
[0059]
s24、记录数据。将当前的θ
′n覆盖到θ
pre
中;
[0060]
s25、将θ

转换为方波信号θ
″n,具体方法可以参照实施例1中步骤s25的计算过程;
[0061]
s26、自适应hopf振荡器算法环节。具体方法可以参照实施例1中步骤s26的计算过程,得到的适应频率结果ω,如图4所示;
[0062]
s27、对频率适应值ω积分得到识别结果。具体方法可以参照实施例1中步骤s26的计算过程,得到步态周期相位结果如图4所示。
[0063]
以上实施例中,大腿摆角信号输入值、适应频率计算结果和步态周期计算结果,如图4所示。从2.5秒开始,仅经过约3.5秒hopf振荡器就准确收敛到了跟大腿摆角信号同一震荡频率,且完成了对步态周期相位的计算任务,满足了外骨骼控制所需要的实时性。
[0064]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1