1.本发明涉及生物力学领域,特别涉及一种考虑神经反射的人体模型建模方法。
背景技术:
2.在人产生运动需求中,大脑根据经验生成一些列成运动指令,通过神经系统将指令下达到脊髓,脊髓再将指令传递如肌肉中的运动神经单元,刺激肌肉收缩或舒张,肌肉互相作用产生带动关节转动的关节力矩,同时,肌肉中的本体感受器感受到肌纤维的复杂变化,通过感觉神经末梢向脊髓和中枢神经系统大脑等运动控制器官传递信息,大脑对当前的运动状态进行确认,以保证中枢神经系统发送的指令使人体达到目标运动状态,从而形成一个能够抵抗外界干扰的闭环反馈控制回路。此外,前庭器官也是人体运动感知重要的器官,其对人体平衡感的产生和空间的导向定位具有非常重要的作用。
3.现有的骨肌动力学模型尚未形成有效的且能抵抗外界干扰的闭环反馈控制回路,缺乏本体感受器官对神经控制调节的模型。
技术实现要素:
4.针对上述现有技术存在的问题,本发明的目的是通过数学模型表述个本体感受器官的特征,并设计合乎真实人体反馈回路机制的传递路径,从而模拟人体真实运动状态下的神经反射以及运动调节情况。该方法有助于实现在虚拟环境下模拟人体运动中真实的神经反馈情况,输出更真实的模拟运动效果。
5.本发明的技术方案提供了一种考虑神经反射的人体模型建模方法,包括如下步骤:
6.步骤s1,脊髓运动神经元模块发送运动指令α信号;
7.其中,脊髓运动神经元模块负责发送目标运动指令,以α信号驱动对应肌肉产生相关激活;
8.步骤s2,肌肉运动模块根据α信号驱动肌肉开始收缩;
9.肌肉运动模块根据α信号驱动肌肉开始收缩,并使得对应关节产生旋转,形成具象肢体运动;
10.步骤s3,肌梭模块采集肌肉收缩速度、长度变化信息,计算反馈信号ia;
11.肌肉运动模块还存储着肌肉优化长度l
op
,肌肉弹簧系数k
pr
、肌肉最大等长收缩力f
max
信息;肌梭模块m1能够采集肌肉当前的收缩速度信息与长度变化信息,包含动态核纤维模块m11、静态核纤维模块m12、核链纤维模块m13;其中,动态核纤维模块m11用于检测肌肉的收缩速度信息,静态核纤维模块m12、核链纤维模块m13用于检测肌肉的长度变化信息;
12.步骤s4,高尔基腱器模块采集肌肉力变化信息,计算反馈信号ib;
13.步骤s5,前庭本体感受模块采集运动位置信息,计算反馈信号iv;
14.前庭本体感受模块m2能够采集人体运动位置信息,包含半规管模块m21、耳石模块m22;半规管模块m21能够检测旋转运动信息,耳石模块m22能够检测线性运动信息;
15.步骤s6,脊髓运动神经元模块根据ia、ib、iv信号调整α信号。
16.进一步地,在步骤s2中还包括以下步骤:
17.步骤s21,基于骨肌动力学模型根据α信号输出对应的肌肉长度l、收缩速度l
′
、收缩加速度l
″
、肌肉力f;骨肌动力学模型还包含有肌肉优化长度l
op
,肌肉弹簧系数k
pr
、肌肉最大等长收缩力f
max
;
18.步骤s22,根据对应肌肉长度l实现对应关节的运动轨迹,计算对应关节线性加速度a
l
、对应关节旋转加速度aw;
19.进一步地,在步骤s3中还包括以下步骤:
20.步骤s31,计算动态核纤维模块内部张力t1;
21.其数学模型为:
22.t1=0.0002*l
″
β1*c*(l-0.5*l
op
)*sign(l
′
)*abs(l
′
) k
pr
*(l-0.8*l
op
) v123.其中,β1代表了输入激活对动态核纤维产生的阻尼,c为肌肉力-速度曲线的不对称,l
op
表示肌肉优化长度,k
pr
表示肌肉弹簧系数;v1表示动态核纤维主动张力,其值为0.0289*α,l,l
′
,l
″
代表了肌肉长度、速度和加速度;
24.步骤s32,根据动态核纤维模块肌纤维内部张力t1,计算动态核纤维模块反馈fv;
25.其数学模型为:
[0026][0027]
其中,其中g为缩放项,其值为0.2;k
sr
为肌梭敏感区的弹簧常数,其值为10.4649,为肌梭敏感区的阈值长度,其值为0.0424*l
op
,为敏感区的松弛长度,其值为0.04*l
op
;
[0028]
步骤s33,计算静态核纤维模块内部张力t2;
[0029]
其数学模型为:
[0030][0031]
其中,β1代表了输入激活对静态核纤维产生的阻尼,其值为0.0605 0.2592*α,v2表示静态核纤维主动张力,其值为0.0636*α;
[0032]
步骤s34,根据静态核纤维模块肌纤维内部张力t2,计算静态核纤维模块反馈f
l1
;
[0033]
其数学模型为:
[0034][0035]
步骤s35,计算核链纤维模块内部张力t3;
[0036]
其数学模型为:
[0037][0038]
其中,β3代表了输入激活对核链纤维产生的阻尼,其值为0.0822-0.069*α,v3表示
核链纤维主动张力,其值为0.0954*α;
[0039]
步骤s36,根据动态核纤维模块肌纤维内部张力t3,计算动态核纤维模块反馈f
l2
;
[0040]
其数学模型为:
[0041][0042]
步骤s37,将静态核纤维模块反馈信号与核链纤维模块反馈信号求和,
[0043]
步骤s38,计算肌梭模块反馈信号ia[0044]
其数学模型为:
[0045]
ia=(min(fv,f
l1
f
l2
)*0.156 max(fv,f
l1
f
l2
))/30
[0046]
其中,min(fv,f
l1
f
l2
)即为取fv与步骤s37计算值的最小值,max(fv,f
l1
f
l2
)即为取fv与步骤s37计算值的最大值。
[0047]
进一步地,在步骤s4中还包括以下步骤:
[0048]
步骤s41,高尔基腱器官模块采集肌肉力信号,肌肉力大小为f;
[0049]
步骤s42,判断肌肉力f是否超过最大等长肌力f
max
的0.7倍;
[0050]
步骤s43,计算高尔基腱器官模块反馈信号ib;
[0051]
其数学模型为:
[0052][0053]
其中,p表示高尔基腱器官的最大激活,其值为0.08;
[0054]
进一步地,在步骤s5中还包括以下步骤:
[0055]
步骤s51,半规管模块m21检测旋转运动信息,反馈信号fc;
[0056]
其数学模型为:
[0057][0058]
步骤s52,耳石模块m22检测线性运动信息,反馈信号fo;
[0059]
其数学模型为:
[0060][0061]
步骤s53,基于fc、fo计算前庭本体感受模块反馈信号iv;
[0062]
其数学模型为:
[0063]iv
=fc fo[0064]
步骤s6,脊髓运动神经元模块根据ia、ib、iv信号调整α信号;
[0065]
其数学模型为:
[0066]
α=α i
a-ib iv[0067]
其中 ia表示肌梭模块反馈在神经激活α信号中起增益作用,-ib表示高尔基腱器官模块反馈在神经激活α信号中起抑制作用, iv表示肌梭模块反馈在神经激活α信号中起增
益作用。
[0068]
本发明的有益效果:
[0069]
1、该方法有助于实现在虚拟环境下模拟人体运动中真实的神经反馈情况,输出更真实的模拟运动效果。
[0070]
2、通过合理的步骤及流程完成对人体神经反射回路的模拟,并通过调节神经激活α信号使得模型肌肉运动更符合人体真实运动情况。
附图说明
[0071]
下面结合附图和具体实施方式对本发明作进一步详细说明。
[0072]
如图1为本发明的流程示意图;
[0073]
如图2为肌梭模块组成示意图;
[0074]
如图3为前庭本体感受模块组成示意图;
[0075]
如图4为步骤s2的肌肉运动模块根据α信号驱动肌肉开始收缩的流程示意图;
[0076]
如图5为步骤s3的肌梭模块采集肌肉收缩速度、长度变化信息,计算反馈信号ia的流程示意图;
[0077]
如图6为步骤s4的高尔基腱器模块采集肌肉力变化信息,计算反馈信号ib的流程示意图;
[0078]
如图7为步骤s5的前庭本体感受模块采集运动位置信息,计算反馈信号iv的流程示意图;
具体实施方式
[0079]
以下将结合附图1-7对本发明的技术方案进行详细说明。
[0080]
在该实施例中,结合骨肌动力学仿真平台opensim与python二次开发程序进行考虑神经反射的人体模型建模。
[0081]
如图1,该实施例提供了一种考虑神经反射的人体模型建模方法,当人体开始运动时,通过以下方式实现:
[0082]
步骤s1,脊髓运动神经元模块发送运动指令α信号;
[0083]
步骤s2,肌肉运动模块根据α信号驱动肌肉开始收缩;
[0084]
如图4,步骤s2通过以下方式实现:
[0085]
步骤s21,基于现有骨肌动力学模型根据α信号输出对应的肌肉长度l、收缩速度l
′
、收缩加速度l
″
、肌肉力f;
[0086]
步骤s22,根据对应肌肉长度l实现对应关节的运动轨迹,计算对应关节线性加速度a
l
、对应关节旋转加速度aw;
[0087]
步骤s3,肌梭模块采集肌肉收缩速度、长度变化信息,计算反馈信号ia;
[0088]
其中,步骤s3分为:
[0089]
如图5,步骤s31,计算动态核纤维模块内部张力t1;
[0090]
其数学模型为:
[0091]
t1=0.0002*l
″
β1*c*(l-0.5*l
op
)*sigm(l
′
)*abs(l
′
) k
pr
*(l-0.8*l
op
) v1[0092]
其中,β1代表了输入激活对动态核纤维产生的阻尼(其值为0.0605 0.2592*α,α即
为α信号),c为肌肉力-速度曲线的不对称系数(当速度收缩速度小于0时,c=0.42;当收缩速度大于0时,c=1),l
op
表示肌肉优化长度,k
pr
表示肌肉弹簧系数(其值为0.15);v1表示动态核纤维主动张力(其值为0.0289*α),l,l
′
,l
″
代表了肌肉长度、速度和加速度;
[0093]
如图5,步骤s32,根据动态核纤维模块肌纤维内部张力t1,计算动态核纤维模块反馈fv;
[0094]
其数学模型为:
[0095][0096]
其中,其中g为缩放项(其值为0.2),k
sr
为肌梭敏感区的弹簧常数(其值为10.4649),为肌梭敏感区的阈值长度(其值为0.0424*l
op
),为敏感区的松弛长度(其值为0.04*l
op
);
[0097]
如图5,步骤s33,计算静态核纤维模块内部张力t2;
[0098]
其数学模型为:
[0099][0100]
其中,β1代表了输入激活对静态核纤维产生的阻尼(其值为0.0605 0.2592*α),v2表示静态核纤维主动张力(其值为0.0636*α);
[0101]
如图5,步骤s34,根据静态核纤维模块肌纤维内部张力t2,计算静态核纤维模块反馈f
l1
;
[0102]
其数学模型为:
[0103][0104]
如图5,步骤s35,计算核链纤维模块内部张力t3;
[0105]
其数学模型为:
[0106][0107]
其中,β3代表了输入激活对核链纤维产生的阻尼(其值为0.0822-0.069*α),v3表示核链纤维主动张力(其值为0.0954*α);
[0108]
如图5,步骤s36,根据动态核纤维模块肌纤维内部张力t3,计算动态核纤维模块反馈f
l2
;
[0109]
其数学模型为:
[0110][0111]
如图5,步骤s37,将静态核纤维模块反馈信号与核链纤维模块反馈信号求和,
[0112]
如图5,步骤s38,计算肌梭模块反馈信号ia[0113]
其数学模型为:
[0114]
ia=(min(fv,f
l1
f
l2
)*0.156 max(fv,f
l1
f
l2
))/30
[0115]
其中,min(fv,f
l1
f
l2
)即为取fv与步骤s37计算值的最小值,max(fv,f
l1
f
l2
)即为取fv与步骤s37计算值的最大值。
[0116]
步骤s4,高尔基腱器模块采集肌肉力变化信息,计算反馈信号ib;
[0117]
其中,步骤s4分为:
[0118]
如图6,步骤s41,高尔基腱器官模块采集肌肉力信号,肌肉力大小为f;
[0119]
如图6,步骤s42,判断肌肉力f是否超过最大等长肌力f
max
的0.7倍;
[0120]
如图6,步骤s43,计算高尔基腱器官模块反馈信号ib;
[0121]
其数学模型为:
[0122][0123]
其中,p表示高尔基腱器官的最大激活(其值为0.08);
[0124]
步骤s5,前庭本体感受模块采集运动位置信息,计算反馈信号iv;步骤s6,脊髓运动神经元模块根据ia、ib、iv信号调整α信号实现
[0125]
其中,脊髓运动神经元模块负责发送目标运动指令,以α信号驱动对应肌肉产生相关激活;
[0126]
肌肉运动模块根据α信号驱动肌肉开始收缩,并使得对应关节产生旋转,形成具象肢体运动;
[0127]
肌肉运动模块还存储着肌肉优化长度,肌肉弹簧系数、肌肉最大等长收缩力等信息;
[0128]
如图2,肌梭模块m1能够采集肌肉当前的收缩速度信息与长度变化信息,包含动态核纤维模块m11、静态核纤维模块m12、核链纤维模块m13;
[0129]
其中,动态核纤维模块m11可检测肌肉的收缩速度信息,静态核纤维模块m12、核链纤维模块m13可检测肌肉的长度变化信息;
[0130]
高尔基腱器模块可以采集肌肉力的信息;
[0131]
如图3,前庭本体感受模块m2能够采集人体运动及空间方向信息,包含半规管模块m21、耳石模块m22;
[0132]
其中,半规管模块m21能够检测旋转运动信息,耳石模块m22能够检测线性运动信息;
[0133]
其中,如图7,步骤s5分为:
[0134]
步骤s51,半规管模块m21检测旋转运动信息,反馈信号fc;
[0135]
其数学模型为:
[0136][0137]
步骤s52,耳石模块m22检测线性运动信息,反馈信号fo;
[0138]
其数学模型为:
[0139][0140]
如图7,步骤s53,基于fc、fo计算前庭本体感受模块反馈信号iv;
[0141]
其数学模型为:
[0142]iv
=fc fo[0143]
步骤s6,脊髓运动神经元模块根据ia、ib、iv信号调整α信号;
[0144]
其数学模型为:
[0145]
α=α i
a-ib iv[0146]
其中 ia表示肌梭模块反馈在神经激活α信号中起增益作用,-ib表示高尔基腱器官模块反馈在神经激活α信号中起抑制作用, iv表示肌梭模块反馈在神经激活α信号中起增益作用;
[0147]
将本模型应用在头颈部屈伸运动的建模中,当人体产生主观头部屈曲运动意识时,如将驱动头颈部进行俯仰运动时,脊髓运动神经元向对应肌肉发送驱动信号,即
[0148]
步骤s1,脊髓运动神经元模块发送运动指令α信号;
[0149]
当对应肌肉,如胸锁乳突肌收到α信号时,肌肉开始产生收缩,实际情况中为屈肌群整体均收缩,此处以胸锁乳突肌为代表,驱动头颈部开始屈曲运动,即
[0150]
步骤s2,肌肉运动模块根据α信号驱动肌肉开始收缩;
[0151]
步骤s21,基于现有骨肌动力学模型根据α信号输出对应的肌肉长度l、收缩速度l
′
、收缩加速度l
″
、肌肉力f;现有骨肌动力学模型还包含有肌肉优化长度l
op
,肌肉弹簧系数k
pr
、肌肉最大等长收缩力f
max
;
[0152]
步骤s22,根据对应肌肉长度l实现对应关节的运动轨迹,计算对应关节线性加速度a
l
、对应关节旋转加速度aw;
[0153]
其中,肌肉在收缩时,其内部肌纤维长度发生变化,肌肉收缩速度l
′
、长度变化信息l被肌梭模块m1采集,肌肉力信f息被高尔基腱器官模块采集,人体运动及空间方向信息关节线性加速度a
l
、对应关节旋转加速度aw被前庭本体感受模块m2采集;
[0154]
肌梭模块m1采集信息后的处理流程为:即
[0155]
步骤s3,肌梭模块采集肌肉收缩速度、长度变化信息,计算反馈信号ia;
[0156]
步骤s31,计算动态核纤维模块内部张力t1;
[0157]
其数学模型为:
[0158]
t1=0.0002*l
″
β1*c*(l-0.5*l
op
)*sign(l
′
)*abs(l
′
) k
pr
*(l-0.8*l
op
) v1[0159]
其中,β1代表了输入激活对动态核纤维产生的阻尼,其值为0.0605 0.2592*α,α即为α信号,c为肌肉力-速度曲线的不对称系数,当速度收缩速度小于0时,c=0.42;当收缩速度大于0时,c=1,l
op
表示肌肉优化长度,k
pr
表示肌肉弹簧系数,其值为0.15,;v1表示动态核纤维主动张力,其值为0.0289*α,l,l
′
,l
″
代表了肌肉长度、速度和加速度;
[0160]
步骤s32,根据动态核纤维模块肌纤维内部张力t1,计算动态核纤维模块反馈fv;
[0161]
其数学模型为:
[0162]
[0163]
其中,其中g为缩放项(其值为0.2),k
sr
为肌梭敏感区的弹簧常数,其值为10.4649,为肌梭敏感区的阈值长度,其值为0.0424*l
op
,为敏感区的松弛长度,其值为0.04*l
op
;
[0164]
步骤s33,计算静态核纤维模块内部张力t2;
[0165]
其数学模型为:
[0166][0167]
其中,β1代表了输入激活对静态核纤维产生的阻尼,其值为0.0605 0.2592*α,v2表示静态核纤维主动张力,其值为0.0636*α;
[0168]
步骤s34,根据静态核纤维模块肌纤维内部张力t2,计算静态核纤维模块反馈f
l1
;
[0169]
其数学模型为:
[0170][0171]
步骤s35,计算核链纤维模块内部张力t3;
[0172]
其数学模型为:
[0173][0174]
其中,β3代表了输入激活对核链纤维产生的阻尼,其值为0.0822-0.069*α,v3表示核链纤维主动张力,其值为0.0954*α;
[0175]
步骤s36,根据动态核纤维模块肌纤维内部张力t3,计算动态核纤维模块反馈f
l2
;
[0176]
其数学模型为:
[0177][0178]
步骤s37,将静态核纤维模块反馈信号与核链纤维模块反馈信号求和,
[0179]
步骤s38,计算肌梭模块反馈信号ia[0180]
其数学模型为:
[0181]
ia=(min(fv,f
l1
f
l2
)*0.156 max(fv,f
l1
f
l2
))/30
[0182]
其中,min(fv,f
l1
f
l2
)即为取fv与步骤s37计算值的最小值,max(fv,f
l1
f
l2
)即为取fv与步骤s37计算值的最大值。
[0183]
高尔基腱器官模块采集信息后的处理流程为:
[0184]
步骤s4,高尔基腱器模块采集肌肉力变化信息,计算反馈信号ib;
[0185]
步骤s41,高尔基腱器官模块采集肌肉力信号,肌肉力大小为f;
[0186]
步骤s42,判断肌肉力f是否超过最大等长肌力f
max
的0.7倍;
[0187]
步骤s43,计算高尔基腱器官模块反馈信号ib;
[0188]
其数学模型为:
[0189][0190]
其中,p表示高尔基腱器官的最大激活,其值为0.08;
[0191]
前提本体感受器模块m2采集信息后的处理流程为:
[0192]
步骤s5,前庭本体感受模块采集运动位置信息,计算反馈信号iv;
[0193]
步骤s51,半规管模块m21检测旋转运动信息,反馈信号fc;
[0194]
其数学模型为:
[0195][0196]
步骤s52,耳石模块m22检测线性运动信息,反馈信号fo;
[0197]
其数学模型为:
[0198][0199]
步骤s53,基于fc、fo计算前庭本体感受模块反馈信号iv;
[0200]
其数学模型为:
[0201]iv
=fc fo[0202]
当肌梭模块、高尔基腱器官模块、前庭本体感受器模块都输出了反馈后,该反馈实时传送至脊髓运动神经元,脊髓运动神经元根据ia、ib、iv信号判断当前头颈屈曲运动的状态,并输出新的α信号继续调整肌肉收缩状态,例如意识驱动头颈屈曲15
°
,初始α信号使得肌肉收缩,屈曲运动了1
°
,则继续输出调整后α信号的刺激肌肉收缩,若肌肉驱动头颈屈曲>15
°
时,则反向抑制肌肉继续收缩,使得目标位置得以稳定。即
[0203]
步骤s6,脊髓运动神经元模块根据ia、ib、iv信号调整α信号;
[0204]
其数学模型为:
[0205]
α=α i
a-ib iv[0206]
本建模方法在人体运动的模拟中循环执行,通过本体感受模型不断修正神经激活信号,直至实现目标动作。
[0207]
在本说明书的描述中,术语“一个实施例/方式”、“一些实施例/方式”、“具体实施例/方式”等的描述意指结合该实施例/方式或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例/方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例/方式或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例/方式或示例中以合适的方式结合。
[0208]
以上仅为本发明的优选实施例/方式而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。