基于自适应振荡器的助行器连续步态相位估计控制方法

文档序号:29210033发布日期:2022-03-12 04:29阅读:519来源:国知局
基于自适应振荡器的助行器连续步态相位估计控制方法

1.本发明涉及一种助行器连续步态相位估计控制方法,特别是一种基于自适应振荡器的助行器连续步态相位估计控制方法。


背景技术:

2.借助穿戴式外骨骼机器人来辅助老年人或脑卒中患者实现步行锻炼、康复训练,改善其步行能力,是治疗该类群体运动功能衰退或者障碍的有效手段。采用下肢关节助力的外骨骼辅助锻炼、训练方式可以补偿步行运动过程中下肢欠缺的关节驱动力,同时保障运动过程的安全。
3.目前国内外对于助行器助力控制策略的研究主要可分为三种思路:其一,基于有限状态机(finite state machine,fsm)的方法,通过状态转移条件对离散的步态事件(如摆动相、支撑相)进行切换,在每个步态事件中采用相应的助力控制策略,譬如专利号为cn202011088505.x的专利使用大腿侧的imu检测足跟离地的时刻;专利号为cn201310009489.4的专利使用下肢关节信息判断摆动相和支撑相。其二,基于振荡器(oscillators)对步态进行整周期截取,并对每个周期进行从0-100%的步态相位占比识别。其三,基于大数据的机器学习方法,估计出步态的相位值。三种方法均通过采集当前步行人体运动学数据,并经过处理得到助力控制量对助行器进行髋关节助力控制。
4.但是,使用广泛的fsm助力控制方法,必须预先掌握助行器的所有状态,根据传感器判断目前所处状态,提供助力控制,一旦出现未知的状态发生,算法就会错乱导致安全问题;最先进的机器学习方法,需要采集大量的涵盖所有使用场景的数据,并且模型属于黑盒子,无法从理论上进行解释。具有诸多优势的振荡器算法基本有自适应振荡器(adaptive oscillators aos)和相角振荡器(phase oscillator po)两类,po通过步态角度和角速度进行相位估计,但是其获得的相角具有较大的非线性畸变,用于助行的过程会造成不适,并且在人体下肢角度为0的过程中存在抖动问题。aos属于一种迭代算法,能够预测人体的周期和类周期性运动,但是存在非周期运动下存在难以收敛,周期性下存在收敛速度较慢的情况;其次aos容易收敛到与步态周期成倍数的周期信号分量中;aos在人体运动过程中从一个类周期/周期运动转换到另一个不同频率的类周期/周期运动过程中会产生无法收敛或者收敛错乱的情况;最后aos获取的步态相位与实际的人体运动状态存在一定的随机偏移,该随机偏移量无法提前预知。


技术实现要素:

5.本发明的目的是为了解决上述现有技术的不足而提供一种基于自适应振荡器的助行器连续步态相位估计控制方法。
6.具体为,本控制方法采用aos算法模型,加速收敛模块,步态相位估计检测模块,步态事件对齐模块和助力控制模块。
7.aos模型由一组以ω(t)为基频的hopf振荡器(ho)单元组成,公式如下:
[0008][0009]
μ为振荡器的幅值,ω为振荡器频率特征,x和y分别为振荡器在笛卡尔坐标系下的坐标值,为振荡器外部的周期性的输入,ν为对应的耦合系数。当外部的θ(t)频率与振荡器的频率一致时,发生类似“共振”的现象,坐标(x,y)将会持续的以ω为角速度围绕着原点进行运动震荡。
[0010]
将周期输入信号看作是周期输入信号看作是为保证振荡器能够具备与外部干扰同步的能力,即引入了新的状态变量ω(t)至hopf振荡器中形成自适应ho振荡器,引入反馈,以便振荡器与任何周期输入信号发生“共振”。同时为了实现ho对输入信号幅值和相位的同步/收敛,也引入对应的状态变量α(t),至ho中。ho振荡器的输出表示为
[0011][0012]
其中,对应ho的相位,对应hopf振荡器的幅值。是输入步态信号θr(t)与振荡器同步输出的误差,作为反馈量。ν
ω
,v
η
代表aos模型中的反馈学习参数,决定了aos模型同步输入信号的收敛速度。上述反馈控制能够保证,在有限时间内,振荡器的状态变量ω,α能够收敛到外部耦合输入信号的参数
[0013]
采用多个上述自适应ho振荡器单元形成振荡池,即aos算法。aos中每个ho振荡器包含幅值α(t),频率iω(t)和相位三个状态参数,其中i为ho振荡器的序号,若振荡器数量为n,则i=0...n-1。通过学习输入周期和类周期信号的特征,ao具有动态的同步输入信号的能力:
[0014][0015]
其中,是输入步态信号与振荡器同步输出θ(t)的误差,作为反馈量。
[0016][0016][0017]
加速收敛模块用于改善ao算法在周期和类周期步态信号下收敛速度慢的问题。其动态地实时地估计输入步态信号的周期,据此设置aos算法的学习参数到最优值,实现更加
快速的收敛速度。
[0018]
为简化分析,考虑自适应ho振荡器公式(2),
[0019][0020]
假设aos已经接近了稳定值,即收敛到输入信号的特征:得到:
[0021][0022]

[0023][0024]
将e(t)代入公式(2),可以得到输入输出的状态方程,输入为输出为ω,α:
[0025][0026]
其中,
[0027][0028]bω
=[1 0 0 0]
t
[0029][0030][0031][0032]
假设此时ho振荡器已经接近收敛值,则假设此时ho振荡器已经接近收敛值,则采用平均原理averaging technique简化公式(7)的结果得到:
[0033][0034]
[0035][0036]
ho自适应振荡器的幅值传递函数为:
[0037][0038]
传递函数的时间常数为:
[0039]
τ
α
=2/η
ꢀꢀ
(10)
[0040]
η越大,时间常数越小,收敛速度越快。
[0041]
ho自适应振荡器的频率传递函数为:
[0042][0043]
选择
[0044][0045]
上式(11)可以简化为
[0046][0047]
阶跃响应常数为
[0048][0049]
根据反馈学习参数与收敛时间常数的关系式(10),(12),(14),可以寻找最优的学习参数来实现期望的收敛时间τ
ω
和τ
α
。理论上,在保证收敛条件下收敛时间常数τ
ω
和τ
α
越小越好。由于引入了两个假设前提,1.假设aos已经接近了稳定值,即收敛到输入信号的特征;2.简化为的平均假设。上述关系式存在一定的误差。在实践中,发现收敛常数在0.2t≤τ
α
≤5t,0.2t≤τ
ω
≤5t,上式还是能较好的符合aos收敛特性,且能成功收敛到外部信号的特征。因此取τ
α
=0.2t,τ
ω
=0.2t。
[0050]
最终推导出的最优学习参数如下:
[0051][0052]
其中ν

η


ω
,和是最优的学习参数;τ
α τ
ω
分别为幅值和频率的收敛时间常数,t是估计的步态周期。
[0053]
步态相位估计检测模块提供一种aos算法步态相位估计失败的检测方法和应对机制:通过aos算法估计获得的各个振荡器的状态参数幅值α(t),频率ω(t)
·
i和相位三个状态参数,去预测未来的步态信号参数,将实际的信号量与预测的信号量误差进行比较,如果超过设定阈值则表明aos算法的步态相位估计存在较大误差,相位估计错误。同时为避
免aos收敛到其他频率分量,α1(t)占实际信号的幅值的比例也需要达到50%的比例。模块检测出上述问题后将自动重新赋予振荡器初值和学习参数,其中振荡器相位,幅值初值随机赋予,频率初值为输入信号的估计频率,学习参数为上述加速收敛模块中的最优参数。以实现安全稳健的估计结果。为防止频繁的重新赋予aos模型参数新的值,使得相邻两次的赋值操作间隔大于设定时间间隔,采用定时器计时的方法。每次赋值操作后,定时器启动,在定时器达到设定的时间前,无法重复进行赋值操作。
[0054]
步态事件对齐模块提出aos估计出的相位与步态事件对应的平滑解决方法。在aos的算法的实践中,由于aos并没有限制aos内部ω(t)状态的正负,常常会出现ω(t)为负,导致计算出的会出现从100%降低到0%的情况。因此,从aos收敛值估计出的人体步态相位需要根据频率ω(t)的正负分别考虑。
[0055][0056]
一般默认人体步态起始于足尖离地时刻,将此刻的步态相位设为0%。随后获取每个步态周期此刻的估计相位值即需要补偿的相位。如下是实时在线误差补偿方法,确保估计的步态相位的光滑性:
[0057][0058]
为在线学习误差补偿量,为补偿后的步态相位,可以用后续的行走助力。filter可以采用iir和fir滤波器。
[0059]
助力控制模块将根据当前估计出的步态相位来提供预先定义好的助力值给穿戴者,实现日常活动中的助力。
[0060]
本发明提出的基于自适应振荡器的助行器控制方法,保留了aos助力顺滑,传感器布置简单等优点的基础上,能够实现快速的收敛。其次,能够保证在人体的不同日常周期运动切换过程中实现快收敛。最后,本发明通过预测误差可实现aos工作正常与否的判断,保证助行器助力的安全可靠性。
附图说明
[0061]
图1是本控制方法的系统示意图;
[0062]
图2是传感器布置方案的示意图;
[0063]
图3是助行机器人系统架构的示意图;
[0064]
图4是助行机器人实验照片;
[0065]
图5是匀速行走下传统的aos算法和本专利提出的步态相位估计控制实验结果对比(收敛速度);竖直虚线为对应的收敛时刻;
[0066]
图6是日常活动中的步态相位估计算法的安全性检测和应对结果;
[0067]
图7是加减速行走下估计的步态相位与实际步态事件对齐效果。
具体实施方式
[0068]
本发明一种基于自适应振荡器的助行器连续步态相位估计控制方法,采用aos算
法模型,加速收敛模块,步态相位估计检测模块,步态事件对齐模块和助力控制模块,如图1所示。
[0069]
aos模型由一组以ω(t)为基频的hopf振荡器(ho)单元组成,公式如下:
[0070][0071]
μ为振荡器的幅值,ω为振荡器频率特征,x和y分别为振荡器在笛卡尔坐标系下的坐标值,为振荡器外部的周期性的输入,ν为对应的耦合系数。当外部的θ(t)频率与振荡器的频率一致时,发生类似“共振”的现象,坐标(x,y)将会持续的以ω为角速度围绕着原点进行运动震荡。
[0072]
将周期输入信号看作是周期输入信号看作是为保证振荡器能够具备与外部干扰同步的能力,即引入了新的状态变量ω(t)至hopf振荡器中形成自适应ho振荡器,引入反馈,以便振荡器与任何周期输入信号发生“共振”。同时为了实现ho对输入信号幅值和相位的同步/收敛,也引入对应的状态变量α(t),至ho中。ho振荡器的输出表示为
[0073][0074]
其中,对应ho的相位,对应hopf振荡器的幅值。是输入步态信号θr(t)与振荡器同步输出的误差,作为反馈量。ν
ω

η
代表aos模型中的反馈学习参数,决定了aos模型同步输入信号的收敛速度。上述反馈控制能够保证,在有限时间内,振荡器的状态变量ω,α能够收敛到外部耦合输入信号的参数
[0075]
采用多个上述自适应ho振荡器单元形成振荡池,即aos算法。aos中每个ho振荡器包含幅值α(t),频率iω(t)和相位三个状态参数,其中i为ho振荡器的序号,若振荡器数量为n,则i=0...n-1。通过学习输入周期和类周期信号的特征,ao具有动态的同步输入信号的能力:
[0076][0077]
其中,是输入步态信号与振荡器同步输出θ(t)的误差,作为反
馈量。馈量。
[0078]
加速收敛模块用于改善ao算法在周期和类周期步态信号下收敛速度慢的问题。其动态地实时地估计输入步态信号的周期,据此设置aos算法的学习参数到最优值,实现更加快速的收敛速度。
[0079]
为简化分析,考虑自适应ho振荡器公式(2),
[0080][0081]
假设aos已经接近了稳定值,即收敛到输入信号的特征:得到:
[0082][0083]

[0084][0085]
将e(t)代入公式(2),可以得到输入输出的状态方程,输入为输出为ω,α:
[0086][0087]
其中,
[0088][0089]bω
=[1 0 0 0]
t
[0090][0091][0092][0093]
假设此时ho振荡器已经接近收敛值,则假设此时ho振荡器已经接近收敛值,则采用平均原理averaging technique简化公式(7)的结果得到:
[0094]
[0095][0096][0097]
ho自适应振荡器的幅值传递函数为:
[0098][0099]
传递函数的时间常数为:
[0100]
τ
α
=2/η
ꢀꢀ
(10)
[0101]
η越大,时间常数越小,收敛速度越快。
[0102]
ho自适应振荡器的频率传递函数为:
[0103][0104]
选择
[0105][0106]
上式(11)可以简化为
[0107][0108]
阶跃响应常数为
[0109][0110]
根据反馈学习参数与收敛时间常数的关系式(10),(12),(14),可以寻找最优的学习参数来实现期望的收敛时间τ
ω
和τ
α
。理论上,在保证收敛条件下收敛时间常数τ
ω
和τ
α
越小越好。由于引入了两个假设前提,1.假设aos已经接近了稳定值,即收敛到输入信号的特征;2.简化为的平均假设。上述关系式存在一定的误差。在实践中,发现收敛常数在0.2t≤τ
α
≤5t,0.2t≤τ
ω
≤5t,上式还是能较好的符合aos收敛特性,且能成功收敛到外部信号的特征。因此取τ
α
=0.2t,τ
ω
=0.2t。
[0111]
最终推导出的最优学习参数如下:
[0112]
[0113]
其中v

η


ω
,和是最优的学习参数;τ
α τ
ω
分别为幅值和频率的收敛时间常数,t是估计的步态周期。
[0114]
步态相位估计检测模块提供一种aos算法步态相位估计失败的检测方法和应对机制:通过aos算法估计获得的各个振荡器的状态参数幅值α(t),频率ω(t)
·
i和相位三个状态参数,去预测未来的步态信号参数,将实际的信号量与预测的信号量误差进行比较,如果超过设定阈值则表明aos算法的步态相位估计存在较大误差,相位估计错误。同时为避免aos收敛到其他频率分量,α1(t)占实际信号的幅值的比例也需要达到50%的比例。模块检测出上述问题后将自动重新赋予振荡器初值和学习参数,其中振荡器相位,幅值初值随机赋予,频率初值为输入信号的估计频率,学习参数为上述加速收敛模块中的最优参数。以实现安全稳健的估计结果。为防止频繁的重新赋予aos模型参数新的值,使得相邻两次的赋值操作间隔大于设定时间间隔,采用定时器计时的方法。每次赋值操作后,定时器启动,在定时器达到设定的时间前,无法重复进行赋值操作。
[0115]
步态事件对齐模块提出aos估计出的相位与步态事件对应的平滑解决方法。在aos的算法的实践中,由于aos并没有限制aos内部ω(t)状态的正负,常常会出现ω(t)为负,导致计算出的会出现从100%降低到0%的情况。因此,从aos收敛值估计出的人体步态相位需要根据频率ω(t)的正负分别考虑。
[0116][0117]
一般默认人体步态起始于足尖离地时刻,将此刻的步态相位设为0%。随后获取每个步态周期此刻的估计相位值即需要补偿的相位。如下是实时在线误差补偿方法,确保估计的步态相位的光滑性:
[0118][0119]
为在线学习误差补偿量,为补偿后的步态相位,可以用后续的行走助力。filter可以采用iir和fir滤波器。
[0120]
助力控制模块将根据当前估计出的步态相位来提供预先定义好的助力值给穿戴者,实现日常活动中的助力。
[0121]
以下是采用本发明提出的步态相位估计控制方法的助行机器人应用实例,及传统的aos算法和本发明提出的步态相位估计控制实验结果对比:
[0122]
如图2,3所示,助行机器人样机系统主要包括机械本体结构、控制电路模块、绑带部件、驱动关节模块、运动感知模块以及供能模块。其中机械本体结构由腰部结构、髋关节屈伸结构及大腿杆组成;机器人后背安装有微处理器控制电路,实现感知信息的处理及助力值计算,输出左右髋关节力矩控制指令;在腰部结构上安装有腰部绑带以实现机器人腰部与人体腰部的固联,在大腿杆上安装有大腿绑带以实现机器人腿杆与人体大腿固联从而传递助力;驱动关节模块由maxon ec 90flat伺服电机配合二级行星齿轮减速器组成,电机驱动器选用escon 50/5模块,可实现力矩控制;运动感知模块主要包括布置在大腿绑带下侧的imu和布置于大腿绑带内部的压力传感器,分别测量髋关节屈伸角度信息和人机力交互信息;供电模块为24v锂电池,分别为电机驱动器和微处理器(24v转5v)供电。微处理器通
过蓝牙模块实现与上位机的无线数据传输。整体算法布置于微处理器stm32f103中。为补偿人体足跟着地的时刻步态相位到0%,还在人体的足底安装了压力传感器,检测人体足跟着地的时刻。
[0123]
对大腿的摆动角度信息采用本算法处理,步态周期的估计通过检测相邻的髋关节角度曲线峰值间隔获取;光滑对齐步态相位的filter()函数采用一阶巴特沃斯滤波器。算法可以得到步行过程中相角在每个步态周期的往复振荡变化,因此以相角为助力矩计算输入,选用正弦函数对其做归一化处理,并通过助力调节系数κ实现助力峰值的调整。并且如果算法预测未来的角度误差超过了某个阈值,那么不同公助力,采用跟随模式。助力方程可表示为:
[0124][0125]
穿戴者在穿戴助行器设备过程中,进行匀速行走,加减速行走和日常活动,如图4所示。实时的采集imu信号,进行步态相位估计和助力运算。传统的aos算法和本发明提出的步态相位估计控制实验结果对比如图5-7所示。图5展现了匀速行走下传统的aos算法和本专利提出的步态相位估计控制实验对比结果,可以看到本算法经过优化后可以得到最佳的收敛速度,两步后即可实现收敛。图6是日常活动中的步态相位估计算法的安全性检测和应对结果,可以看到在跑步-休息-再次行走过程中,跑步和行走都是类周期活动,但是aos算法在行走过程中难以收敛,本算法对这种日常活动状态更加适用。可以明显发现预测误差在本算法未收敛、相位估计错误时较大,可用于本算法估计步态相位的准确性、安全性的检测和初始化内部参数的时间点的确定,确保助力更加安全。图7为加减速行走下估计的步态相位与实际通过压力传感器检测到的足跟着地时刻的对齐效果。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1