CN110515297B - 基于冗余肌肉骨骼系统的阶段式运动控制方法 - Google Patents
基于冗余肌肉骨骼系统的阶段式运动控制方法 Download PDFInfo
- Publication number
- CN110515297B CN110515297B CN201910807218.0A CN201910807218A CN110515297B CN 110515297 B CN110515297 B CN 110515297B CN 201910807218 A CN201910807218 A CN 201910807218A CN 110515297 B CN110515297 B CN 110515297B
- Authority
- CN
- China
- Prior art keywords
- motion state
- motion
- module
- time
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 264
- 238000000034 method Methods 0.000 title claims abstract description 66
- 210000002346 musculoskeletal system Anatomy 0.000 title claims abstract description 54
- 210000003205 muscle Anatomy 0.000 claims abstract description 77
- 210000002435 tendon Anatomy 0.000 claims abstract description 43
- 230000007383 nerve stimulation Effects 0.000 claims abstract description 40
- 230000000638 stimulation Effects 0.000 claims abstract description 37
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 32
- 230000004913 activation Effects 0.000 claims abstract description 30
- 230000001537 neural effect Effects 0.000 claims abstract description 28
- 238000004088 simulation Methods 0.000 claims abstract description 17
- 230000009471 action Effects 0.000 claims description 36
- 230000006870 function Effects 0.000 claims description 20
- 238000012549 training Methods 0.000 claims description 17
- 230000009467 reduction Effects 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 10
- 210000002569 neuron Anatomy 0.000 claims description 6
- 230000001133 acceleration Effects 0.000 claims description 5
- 230000003247 decreasing effect Effects 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims description 3
- 238000011478 gradient descent method Methods 0.000 claims description 2
- 230000008878 coupling Effects 0.000 abstract description 2
- 238000010168 coupling process Methods 0.000 abstract description 2
- 238000005859 coupling reaction Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 11
- 210000001087 myotubule Anatomy 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004118 muscle contraction Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 206010056720 Muscle mass Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B9/00—Safety arrangements
- G05B9/02—Safety arrangements electric
- G05B9/03—Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Electrotherapy Devices (AREA)
Abstract
本发明属于智能机器人领域,具体涉及一种基于冗余肌肉骨骼系统的阶段式运动控制方法、系统、装置,旨在解决高冗余、高耦合导致神经刺激信号求解难的问题。本系统方法包括获取期望运动状态和简化运动状态;计算平均允许误差;判断迭代次数进行跳转;通过预设规则更新运动简化间隔及简化运动状态;通过Hill肌肉模型得到各肌肉对应的肌肉激活信号及肌腱力;基于各肌腱力获取实际运动状态,并计算实际运动状态和简化运动状态的误差;获取带噪声的实际运动状态;通过Q‑network算法和预设的执行噪声更新神经刺激信号;判断仿真时长;判断迭代次数并输出。本发明降低了肌肉骨骼系统的神经刺激信号的求解难度。
Description
技术领域
本发明属于智能机器人领域,具体涉及一种基于冗余肌肉骨骼系统的阶段式运动控制方法、系统、装置。
背景技术
类人肌肉骨骼机器人通常具有冗余数量的肌肉,即一个关节由多个相互关联的肌肉共同控制。而每块肌肉的控制需要单独的神经刺激信号,在求解信号的过程中,不同于传统机器人关节驱动数与关节数一一对应的情况,冗余的肌肉为刺激信号的解空间带来了冗余的维度。同时,由于每块肌肉是非线性驱动单元,因此大大增加了信号的求解难度。一般的方法,诸如动态优化和强化学习被应用于复杂的肌肉骨骼系统时,通常具有巨大的计算量或不稳定的学习过程,因此不容易探索出一个好的控制效果。
由于肌肉骨骼系统是广泛适用于动物和人的身体结构,而人可以完成各种复杂的运动任务,因此,从人的角度展开探索,探究一种简单、高效的运动学习与控制框架,以方便从冗余且耦合的高维解空间中求解神经刺激信号,具有重要的研究与应用价值。
发明内容
为了解决现有技术中的上述问题,即为了解决类人肌肉骨骼机器人的肌肉骨骼系统的高冗余、高耦合导致神经刺激信号求解难的问题,本发明第一方面,提出了一种基于冗余肌肉骨骼系统的阶段式运动控制方法,该方法包括:
步骤S10,采用逆运动学方法获取肌肉骨骼系统t时刻的期望运动状态,并根据预设的运动简化间隔计算该状态对应的简化运动状态;
步骤S20,基于所述期望运动状态和所述简化运动状态获取平均允许简化误差;
步骤S30,获取当前迭代次数k,若当前迭代次数等于1,执行步骤S50;若当前迭代次数大于1且真实运动误差小于所述平均允许简化误差,执行步骤S40,否则执行步骤S50;
步骤S40,根据真实运动误差和所述平均允许简化误差,通过预设规则更新所述运动简化间隔;根据所述期望运动状态和更新后的运动简化间隔,更新所述简化运动状态;
步骤S50,获取神经刺激信号,通过Hill肌肉模型得到各肌肉对应的肌肉激活信号,并根据各肌肉激活信号计算其对应的肌腱力;
步骤S60,基于各肌腱力,获取肌肉骨骼系统t时刻的实际运动状态,基于t时刻的实际运动状态采用系统动力学方法计算t+1时刻的实际运动状态;并计算所述t时刻的实际运动状态与所述简化运动状态的真实运动误差;
步骤S70,基于所述t时刻的实际运动状态、所述t+1时刻的实际运动状态、预设的传感器噪声,获取t时刻带噪声的实际运动状态和t+1时刻带噪声的实际运动状态;
步骤S80,根据所述t时刻、t+1时刻带噪声的实际运动状态,通过Q-network算法更新各肌肉对应的神经刺激信号,并基于预设的执行噪声对神经刺激信号进行二次更新;所述Q-network算法基于DQN算法构建;
步骤S90,若t小于预设的最大仿真时长,令t=t+1,执行步骤S50,否则执行步骤S100;
步骤S100,若当前迭代次数k小于预设的最大训练迭代次数,令k=k+1,执行步骤S20,否则输出所述神经刺激信号。
在一些优选的实施方式中,步骤S10中“根据预设的运动简化间隔计算该状态对应的简化运动状态”,其计算方法为:
其中,s(t)为期望运动状态,d为运动简化间隔,ceil()为向上取整函数,δ()为冲激函数,sT(t)为t时刻的简化运动状态,t表示时刻。
在一些优选的实施方式中,步骤S40中“通过预设规则更新所述运动简化间隔”,其方法为:
在一些优选的实施方式中,步骤S50中“基于各肌腱力,获取肌肉骨骼系统t时刻的实际运动状态”,其方法为:
基于各肌腱力,获取每个关节对应的实际的关节力矩;
根据各关节的关节力矩,采用牛顿-欧拉算法得到各关节对应的角加速度;
获取关节角度,基于各关节对应的关节角度和角加速度获取肌肉骨骼系统t时刻的实际运动状态。
在一些优选的实施方式中,步骤S80中“通过Q-network更新各肌肉对应的神经刺激信号”,其方法为:
步骤S81,根据所述t时刻带噪声的实际运动状态、所述t+1时刻带噪声的实际运动状态,基于Q-network获取t时刻的行动值和t+1时刻的行动值;
步骤S82,基于所述t时刻的行动值、所述t+1时刻的行动值,采用梯度下降法更新所述t时刻的行动值;
步骤S83,基于更新后的t时刻的行动值,通过Q-network算法的神经元层,得到高激活状态行动值、低激活状态行动值;根据预设的神经刺激信号边界值对所述高激活状态行动值、所述低激活状态行动值进行加权,得到各肌肉对应的神经刺激信号并进行更新。
在一些优选的实施方式中,所述预设的神经刺激信号边界值为0.001、0.999。
在一些优选的实施方式中,步骤S80中“基于预设的执行噪声对神经刺激信号进行二次更新”,其计算方法为:
ui=uNi
uNi=min[max[ui+N2,0],1]
其中,uNi为带执行噪声的神经刺激信号,ui为神经刺激信号,N2为执行噪声。
本发明的第二方面,提出了一种基于冗余肌肉骨骼系统的阶段式运动控制系统,该系统包括运动状态获取模块、获取简化误差模块、判断跳转模块、更新简化模块、获取肌腱力模块、计算真实误差模块、更新实际状态模块、更新刺激信号模块、仿真时长判断模块、迭代输出模块;
所述的运动状态获取模块,配置为采用逆运动学方法获取肌肉骨骼系统t时刻的期望运动状态,并根据预设的运动简化间隔计算该状态对应的简化运动状态;
所述的获取简化误差模块,配置为基于所述期望运动状态和所述简化运动状态获取平均允许简化误差;
所述的判断跳转模块,配置为获取当前迭代次数k,若当前迭代次数等于1,执行获取肌腱力模块;若当前迭代次数大于1且真实运动误差小于所述平均允许简化误差,执行更新简化模块,否则执行获取肌腱力模块;
所述的更新简化模块,配置为根据真实运动误差和所述平均允许简化误差,通过预设规则更新所述运动简化间隔;根据所述期望运动状态和更新后的运动简化间隔,更新所述简化运动状态;
所述的获取肌腱力模块,配置为获取神经刺激信号,通过Hill肌肉模型得到各肌肉对应的肌肉激活信号,并根据各肌肉激活信号计算其对应的肌腱力;
所述的计算真实误差模块,配置基于各肌腱力,获取肌肉骨骼系统t时刻的实际运动状态,基于t时刻的实际运动状态采用系统动力学方法计算t+1时刻的实际运动状态;并计算所述t时刻的实际运动状态与所述简化运动状态的真实运动误差;
所述的更新实际状态模块,配置为基于所述t时刻的实际运动状态、所述t+1时刻的实际运动状态、预设的传感器噪声,获取t时刻带噪声的实际运动状态和t+1时刻带噪声的实际运动状态;
所述的更新刺激信号模块,配置为根据所述t时刻、t+1时刻带噪声的实际运动状态,通过Q-network算法更新各肌肉对应的神经刺激信号,并基于预设的执行噪声对神经刺激信号进行二次更新;所述Q-network算法基于DQN算法构建;
所述的仿真时长判断模块,配置为若t小于预设的最大仿真时长,令t=t+1,执行获取肌腱力模块,否则执行迭代输出模块;
所述的迭代输出模块,配置为若当前迭代次数k小于预设的最大训练迭代次数,令k=k+1,执行获取简化误差模块,否则输出所述神经刺激信号。
本发明的第三方面,提出了一种存储装置,其中存储有多条程序,所述程序应用由处理器加载并执行以实现上述的基于冗余肌肉骨骼系统的阶段式运动控制方法。
本发明的第四方面,提出了一种处理装置,包括处理器、存储装置;处理器,适用于执行各条程序;存储装置,适用于存储多条程序;所述程序适用于由处理器加载并执行以实现上述的基于冗余肌肉骨骼系统的阶段式运动控制方法。
本发明的有益效果:
本发明通过阶段式运动控制方法降低了肌肉骨骼系统的神经刺激信号的求解难度。本发明针对冗余的肌肉骨骼系统,受人类学习过程的启发,提出了一个阶段式的目标运动控制框架,为处于不同进度的系统提供不同的训练目标,以避免在训练过程中出现不稳定现象以及局部最优;另一方面,通过引入反映激活偏好的神经元层,我们改进了传统的DQN(Deep Q-Network)学习方法以产生连续神经刺激。此外,参考神经系统中的信息传递过程,我们在框架中引入了两种生物噪声,以加强对解空间的探索,简化并降低了求解神经刺激信号的难度,提高了神经刺激信号的准确性,增加了机器人运动控制的稳定性。
附图说明
通过阅读参照以下附图所做的对非限制性实施例所做的详细描述,本申请的其他特征、目的和优点将会变得更明显。
图1是本发明一种实施例的基于冗余肌肉骨骼系统的阶段式运动控制方法的流程示意图;
图2是本发明一种实施例的基于冗余肌肉骨骼系统的阶段式运动控制系统的框架示意图;
图3是本发明一种实施例的基于冗余肌肉骨骼系统的阶段式运动控制方法的程序流程示例图;
图4是本发明一种实施例的基于肌肉骨骼手臂的建模示例图;
图5是本发明一种实施例的基于肌肉骨骼手臂的阶段目标学习示例图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明的基于冗余肌肉骨骼系统的阶段式运动控制方法,如图1所示,包括以下步骤:
步骤S10,采用逆运动学方法获取肌肉骨骼系统t时刻的期望运动状态,并根据预设的运动简化间隔计算该状态对应的简化运动状态;
步骤S20,基于所述期望运动状态和所述简化运动状态获取平均允许简化误差;
步骤S30,获取当前迭代次数k,若当前迭代次数等于1,执行步骤S50;若当前迭代次数大于1且真实运动误差小于所述平均允许简化误差,执行步骤S40,否则执行步骤S50;
步骤S40,根据真实运动误差和所述平均允许简化误差,通过预设规则更新所述运动简化间隔;根据所述期望运动状态和更新后的运动简化间隔,更新所述简化运动状态;
步骤S50,获取神经刺激信号,通过Hill肌肉模型得到各肌肉对应的肌肉激活信号,并根据各肌肉激活信号计算其对应的肌腱力;
步骤S60,基于各肌腱力,获取肌肉骨骼系统t时刻的实际运动状态,基于t时刻的实际运动状态采用系统动力学方法计算t+1时刻的实际运动状态;并计算所述t时刻的实际运动状态与所述简化运动状态的真实运动误差;
步骤S70,基于所述t时刻的实际运动状态、所述t+1时刻的实际运动状态、预设的传感器噪声,获取t时刻带噪声的实际运动状态和t+1时刻带噪声的实际运动状态;
步骤S80,根据所述t时刻、t+1时刻带噪声的实际运动状态,通过Q-network算法更新各肌肉对应的神经刺激信号,并基于预设的执行噪声对神经刺激信号进行二次更新;所述Q-network算法基于DQN算法构建;
步骤S90,若t小于预设的最大仿真时长,令t=t+1,执行步骤S50,否则执行步骤S100;
步骤S100,若当前迭代次数k小于预设的最大训练迭代次数,令k=k+1,执行步骤S20,否则输出所述神经刺激信号。
为了更清晰地对本发明基于冗余肌肉骨骼系统的阶段式运动控制方法进行说明,下面结合附图对本发明方法一种实施例中各步骤进行展开详述。
步骤S10,采用逆运动学方法获取肌肉骨骼系统t时刻的期望运动状态,并根据预设的运动简化间隔计算该状态对应的简化运动状态。
本实施例中,针对控制的肌肉骨骼系统,通过逆运动学求出t时刻的期望运动状态期望运动状态包括:关节角度θ(t)、关节角速度以及关节角加速度而表示运动状态的集合。并设定初始化肌肉骨骼系统需要的参数:运动简化的间隔d,最大训练迭代次数K,神经刺激信号ui(t),基于运动简化的间隔得到简化运动状态,记为简化方法如公式(1)所示:
其中,ceil()表示向上取整函数,δ()表示冲激函数,t=1,2,…,T,T为预设的最大仿真时长,当t=T时结束一轮仿真训练。
如图3所示,给出了不同时刻对应的期望运动状态s1,s2,s3…st-1,st,通过优化模型得到肌肉骨骼系统(或肌肉骨骼动力学模型)所需要的神经刺激信号,优化模型基于Q-network构建,最后一层设置带有激活偏好的两个神经元。引入了两种生物噪声(执行噪声和传感器噪声),以加强对解空间的探索,简化并降低了神经刺激信号的难度。基于每一个期望运动状态以及平均允许简化误差,经过运动简化模型得到简化后的运动状态并传入优化模型参与下一轮的优化。
步骤S20,基于所述期望运动状态和所述简化运动状态获取平均允许简化误差。
步骤S30,获取当前迭代次数k,若当前迭代次数等于1,执行步骤S50;若当前迭代次数大于1且真实运动误差小于所述平均允许简化误差,执行步骤S40,否则执行步骤S50。
步骤S40,根据真实运动误差和所述平均允许简化误差,通过预设规则更新所述运动简化间隔;根据所述期望运动状态和更新后的运动简化间隔,更新所述简化运动状态。
在本实施例中,为了不断地简化、缩小运动简化间隔,根据真实运动误差和所述平均允许简化误差的大小,设定规则来更更新运动简化间隔,更新方法如式(3)所示:
其中,d∈N+,d的最大值小于T,N+为正整数,D(d)表示满足D(d)<d的减函数。
根据期望运动状态和更新后的运动简化间隔,更新简化运动状态sT。期望运动状态在最大迭代次数的范围内迭代,其值保持不变。
步骤S50,获取神经刺激信号,通过Hill肌肉模型得到各肌肉对应的肌肉激活信号,并根据各肌肉激活信号计算其对应的肌腱力。
在本实施例中,记此时为第k次迭代的第t时刻。根据Hill肌肉模型与此时的肌肉长度、肌纤维长度、肌肉收缩速度等变量,通过神经刺激信号ui(t)计算肌肉激活信号ai(ui(t))或简写为ai(t),其中下标i为对应第i块肌肉。再利用ai(t)计算对应的肌腱力肌腱力可视为肌肉最终输出的力,其中是第i块肌肉在第t时刻的肌纤维长度(长度关系大致可以理解为:肌肉长度=肌纤维长度+肌腱长度,准确关系为lMT=lMcosα+lT,lMT表示肌肉总长度,lT是肌腱长度,α肌纤维的羽状角)。是第i块肌肉在第t时刻的肌纤维收缩速度,M以及MT为字母上标,分别表示肌纤维和整个肌肉。
步骤S60,基于各肌腱力,获取肌肉骨骼系统t时刻的实际运动状态,基于t时刻的实际运动状态采用系统动力学方法计算t+1时刻的实际运动状态;并计算所述t时刻的实际运动状态与所述简化运动状态的真实运动误差。
在本实施例中,利用肌腱力求出系统每个关节对应的实际的关节力矩τ′,带入牛顿-欧拉方程,求出t时刻各个关节的实际角加速度。再利用系统动力学关系计算t+1时刻系统的实际运动状态sR(t+1),实际运动状态包括关节角度和关节角速度。如图4所示,给出了一个手臂模型,包括多个肌肉块,其共同构成一个冗余的肌肉骨骼系统,对此系统建立手臂模型的坐标系,获取各肌肉块对应的肌肉长度、肌肉收缩速度等物理参数并用于神经刺激信号的求解计算。
根据实际运动状态,计算其与简化运动状态之间的真实运动误差,其计算方法如公式(4)所示:
eR(t)=|sT(t)-sR(t)| (4)
步骤S70,基于所述t时刻的实际运动状态、所述t+1时刻的实际运动状态、预设的传感器噪声,获取t时刻带噪声的实际运动状态和t+1时刻带噪声的实际运动状态。
在本实施例中,引入传感器噪声,模拟传感器接收到的带噪声的运动状态,其方法如公式(5)所示:
sRN(t)=sR(t)+N1 (5)
其中,sRN(t)为t时刻带噪声的实际运动状态,N1为传感器噪声,N1~Pois(λ),Pois(λ)是泊松分布,λ是其参数,这一噪声是模拟的人眼受成像影响而产生的生物噪声。
步骤S80,根据所述t时刻、t+1时刻带噪声的实际运动状态,通过Q-network算法更新各肌肉对应的神经刺激信号,并基于预设的执行噪声对神经刺激信号进行二次更新;所述Q-network算法基于DQN算法构建。
在本实施例中,利用改进的Q-network算法(模型)估计t时刻的行动值函数和t+1时刻的行动值t+1时刻的行动值用于更新Q-network。表示t时刻的第i条肌肉的神经刺激信号为j(j取0或1)的行动值,表示估计的t+1时刻第i条肌肉的神经刺激信号为j(j取0或1)的行动值。值得注意的是,Q-network是在DQN(Deep Q-Network)的基础上,先用浅层的多层感知机替换原先的深度网络,并修改Q网络的更新规则,其更新规则表示如公式(6)所示:
其中,γ是折扣因子,是评价函数对第i条肌肉刺激程度的评价,将在下述步骤中对所有的都进行更新。同时,修改后网络的输出不是神经刺激信号,而是神经刺激信号取值的概率,从而将输出变为连续。具体修改方式如公式(8)。
其中,评价函数g(eR)=min[|eR|,e0],p,m,k,e0>0均为常数,e0是为了防止误差过大导致调整过度的最大误差,表示为梯度,L(Θ)表示算法的损失函数,Θ为网络参数,n为肌肉条数。是通过Q-network预测的t+1时刻的行动值,用来对t时刻的网络进行更新,s代指st,为t时刻的真实运动状态,s′代指st+1,为t+1时刻的真实运动状态,a为t时刻采取的行为,a′为t+1时刻采取的行为。
在Q-network的最后一层即神经元层,设置带有激活偏好的两个神经元,分别为高激活状态、低激活状态,行动值在两个神经元中表示为结合预设的神经刺激信号边界值对进行加权,最终输出肌肉i的神经刺激信号ui,其计算方法如公式(8)所示:
其中,umax=0.999,umin=0.001。
对信号ui引入执行噪声:uNi=min[max[ui+N2,0],1],N2~N(0,(vFT)2),其中v是常数系数,FT是肌腱力。令ui=uNi得到带执行噪声的神经刺激信号,更新神经刺激信号。
步骤S90,若t小于预设的最大仿真时长,令t=t+1,执行步骤S50,否则执行步骤S100。
在本实施例中,如果t<T,即当前第k次迭代的第t时刻没有达到系统预设的最大仿真时长,需要继续进行训练,令t=t+1,返回步骤S50;如果t=T,执行步骤S100;
步骤S100,若当前迭代次数k小于预设的最大训练迭代次数,令k=k+1,执行步骤S20,否则输出各肌肉对应的神经刺激信号。
在本实施例中,如果k<K,其中,k为当前的迭代次数,K为系统预设的最大训练迭代次数,也就是说,当没有达到系统预设的迭代次数时,需要继续训练,令k=k+1,返回步骤S20,开始下一轮的迭代;若达到系统预设的训练迭代次数,则输出训练得到的神经刺激信号ui的序列,完成训练。
如图5所示,横轴t为时间,纵轴θ为角度,Expected Joint Angle为预期的关节角度,Simplified Joint Angle为简化的关节角度,Equivalent Error Region为与简化的关节角度等价的关节角度误差范围,根据最大仿真时长调节运动简化间隔,可以看得到,在不同训练阶段冗余的肌肉骨骼系统中关节角度等价误差范围的变化趋势。
本发明第二实施例的一种基于冗余肌肉骨骼系统的阶段式运动控制系统,如图2所示,包括:运动状态获取模块100、获取简化误差模块200、判断跳转模块300、更新简化模块400、获取肌腱力模块500、计算真实误差模块600、更新实际状态模块700、更新刺激信号模块800、仿真时长判断模块900、迭代输出模块1000;
所述的运动状态获取模块100,配置为采用逆运动学方法获取肌肉骨骼系统t时刻的期望运动状态,并根据预设的运动简化间隔计算该状态对应的简化运动状态;
所述的获取简化误差模块200,配置为基于所述期望运动状态和所述简化运动状态获取平均允许简化误差;
所述的判断跳转模块300,配置为获取当前迭代次数k,若当前迭代次数等于1,执行获取肌腱力模块500;若当前迭代次数大于1且真实运动误差小于所述平均允许简化误差,执行更新简化模块400,否则执行获取肌腱力模块500;
所述的更新简化模块400,配置为根据真实运动误差和所述平均允许简化误差,通过预设规则更新所述运动简化间隔;根据所述期望运动状态和更新后的运动简化间隔,更新所述简化运动状态;
所述的获取肌腱力模块500,配置为获取神经刺激信号,通过Hill肌肉模型得到各肌肉对应的肌肉激活信号,并根据各肌肉激活信号计算其对应的肌腱力;
所述的计算真实误差模块600,配置基于各肌腱力,获取肌肉骨骼系统t时刻的实际运动状态,基于t时刻的实际运动状态采用系统动力学方法计算t+1时刻的实际运动状态;并计算所述t时刻的实际运动状态与所述简化运动状态的真实运动误差;
所述的更新实际状态模块700,配置为基于所述t时刻的实际运动状态、所述t+1时刻的实际运动状态、预设的传感器噪声,获取t时刻带噪声的实际运动状态和t+1时刻带噪声的实际运动状态;
所述的更新刺激信号模块800,配置为根据所述t时刻、t+1时刻带噪声的实际运动状态,通过Q-network算法更新各肌肉对应的神经刺激信号,并基于预设的执行噪声对神经刺激信号进行二次更新;所述Q-network算法基于DQN算法构建;
所述的仿真时长判断模块900,配置为若t小于预设的最大仿真时长,令t=t+1,执行获取肌腱力模块500,否则执行迭代输出模块1000;
所述的迭代输出模块1000,配置为若当前迭代次数k小于预设的最大训练迭代次数,令k=k+1,执行获取简化误差模块200,否则输出所述神经刺激信号。
所述技术领域的技术人员可以清楚的了解到,为描述的方便和简洁,上述描述的系统的具体的工作过程及有关说明,可以参考签署方法实施例中的对应过程,在此不再赘述。
需要说明的是,上述实施例提供的基于冗余肌肉骨骼系统的阶段式运动控制系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
本发明第三实施例的一种存储装置,其中存储有多条程序,所述程序适用于由处理器加载并实现上述的基于冗余肌肉骨骼系统的阶段式运动控制方法。
本发明第四实施例的一种处理装置,包括处理器、存储装置;处理器,适于执行各条程序;存储装置,适于存储多条程序;所述程序适于由处理器加载并执行以实现上述的基于冗余肌肉骨骼系统的阶段式运动控制方法。
所述技术领域的技术人员可以清楚的了解到,未描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考签署方法实例中的对应过程,在此不再赘述。
本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (10)
1.一种基于冗余肌肉骨骼系统的阶段式运动控制方法,其特征在于,该方法包括:
步骤S10,采用逆运动学方法获取肌肉骨骼系统t时刻的期望运动状态,并根据预设的运动简化间隔计算该状态对应的简化运动状态;
步骤S20,基于所述期望运动状态和所述简化运动状态获取平均允许简化误差;
步骤S30,获取当前迭代次数k,若当前迭代次数等于1,执行步骤S50;若当前迭代次数大于1且真实运动误差小于所述平均允许简化误差,执行步骤S40,否则执行步骤S50;
步骤S40,根据真实运动误差和所述平均允许简化误差,通过预设规则更新所述运动简化间隔;根据所述期望运动状态和更新后的运动简化间隔,更新所述简化运动状态;
步骤S50,获取神经刺激信号,通过Hill肌肉模型得到各肌肉对应的肌肉激活信号,并根据各肌肉激活信号计算其对应的肌腱力;
步骤S60,基于各肌腱力,获取肌肉骨骼系统t时刻的实际运动状态,基于t时刻的实际运动状态采用系统动力学方法计算t+1时刻的实际运动状态;并计算所述t时刻的实际运动状态与所述简化运动状态的真实运动误差;
步骤S70,基于所述t时刻的实际运动状态、所述t+1时刻的实际运动状态、预设的传感器噪声,获取t时刻带噪声的实际运动状态和t+1时刻带噪声的实际运动状态;
步骤S80,根据所述t时刻、t+1时刻带噪声的实际运动状态,通过改进的Q-network算法更新各肌肉对应的神经刺激信号,并基于预设的执行噪声对神经刺激信号进行二次更新;所述改进的Q-network算法基于DQN 算法构建;对DQN算法对应的模型,将其的深度网络替换为多层感知机,将其的评价函数由基于误差的减函数替换为增函数,将其的输出由神经刺激信号对应的最大行动值替换为所有行动值,并通过所有行动值更新其的网络梯度;
步骤S90,若t小于预设的最大仿真时长,令t=t+1,执行步骤S50,否则执行步骤S100;
步骤S100,若当前迭代次数k小于预设的最大训练迭代次数,令k=k+1,执行步骤S20,否则输出各肌肉对应的神经刺激信号。
4.根据权利要求1所述的基于冗余肌肉骨骼系统的阶段式运动控制方法,其特征在于,步骤S50中“基于各肌腱力,获取肌肉骨骼系统t时刻的实际运动状态”,其方法为:
基于各肌腱力,获取每个关节对应的实际的关节力矩;
根据各关节的关节力矩,采用牛顿-欧拉算法得到各关节对应的角加速度;
获取关节角度,基于各关节对应的关节角度和角加速度获取肌肉骨骼系统t时刻的实际运动状态。
5.根据权利要求1所述的基于冗余肌肉骨骼系统的阶段式运动控制方法,其特征在于,步骤S80中“通过改进的Q-network算法更新各肌肉对应的神经刺激信号”,其方法为:
步骤S81,根据所述t时刻带噪声的实际运动状态、所述t+1时刻带噪声的实际运动状态,基于改进的Q-network算法获取t时刻的行动值和t+1时刻的行动值;
步骤S82,基于所述t时刻的行动值、所述t+1时刻的行动值,采用梯度下降法更新所述t时刻的行动值;
步骤S83,基于更新后的t时刻的行动值,通过改进的Q-network算法的神经元层,得到高激活状态行动值、低激活状态行动值;根据预设的神经刺激信号边界值对所述高激活状态行动值、所述低激活状态行动值进行加权,得到各肌肉对应的神经刺激信号并进行更新。
6.根据权利要求5所述的基于冗余肌肉骨骼系统的阶段式运动控制方法,其特征在于,所述预设的神经刺激信号边界值为0.001、0.999。
7.根据权利要求1所述的基于冗余肌肉骨骼系统的阶段式运动控制方法,其特征在于,步骤S80中“基于预设的执行噪声对神经刺激信号进行二次更新”,其计算方法为:
ui=uNi
uNi=min[max[ui+N2,0],1]
其中,uNi为带执行噪声的神经刺激信号,ui为神经刺激信号,N2为执行噪声。
8.一种基于冗余肌肉骨骼系统的阶段式运动控制系统,其特征在于,该系统包括运动状态获取模块、获取简化误差模块、判断跳转模块、更新简化模块、获取肌腱力模块、计算真实误差模块、更新实际状态模块、更新刺激信号模块、仿真时长判断模块、迭代输出模块;
所述的运动状态获取模块,配置为采用逆运动学方法获取肌肉骨骼系统t时刻的期望运动状态,并根据预设的运动简化间隔计算该状态对应的简化运动状态;
所述的获取简化误差模块,配置为基于所述期望运动状态和所述简化运动状态获取平均允许简化误差;
所述的判断跳转模块,配置为获取当前迭代次数k,若当前迭代次数等于1,执行获取肌腱力模块;若当前迭代次数大于1且真实运动误差小于所述平均允许简化误差,执行更新简化模块,否则执行获取肌腱力模块;
所述的更新简化模块,配置为根据真实运动误差和所述平均允许简化误差,通过预设规则更新所述运动简化间隔;根据所述期望运动状态和更新后的运动简化间隔,更新所述简化运动状态;
所述的获取肌腱力模块,配置为获取神经刺激信号,通过Hill肌肉模型得到各肌肉对应的肌肉激活信号,并根据各肌肉激活信号计算其对应的肌腱力;
所述的计算真实误差模块,配置基于各肌腱力,获取肌肉骨骼系统t时刻的实际运动状态,基于t时刻的实际运动状态采用系统动力学方法计算t+1时刻的实际运动状态;并计算所述t时刻的实际运动状态与所述简化运动状态的真实运动误差;
所述的更新实际状态模块,配置为基于所述t时刻的实际运动状态、所述t+1时刻的实际运动状态、预设的传感器噪声,获取t时刻带噪声的实际运动状态和t+1时刻带噪声的实际运动状态;
所述的更新刺激信号模块,配置为根据所述t时刻、t+1时刻带噪声的实际运动状态,通过改进的Q-network算法更新各肌肉对应的神经刺激信号,并基于预设的执行噪声对神经刺激信号进行二次更新;所述改进的Q-network算法基于DQN算法构建;对DQN算法对应的模型,将其的深度网络替换为多层感知机,将其的评价函数由基于误差的减函数替换为增函数,将其的输出由神经刺激信号对应的最大行动值替换为所有行动值,并通过所有行动值更新其的网络梯度;
所述的仿真时长判断模块,配置为若t小于预设的最大仿真时长,令t=t+1,执行获取肌腱力模块,否则执行迭代输出模块;
所述的迭代输出模块,配置为若当前迭代次数k小于预设的最大训练迭代次数,令k=k+1,执行获取简化误差模块,否则输出所述神经刺激信号。
9.一种存储装置,其中存储有多条程序,其特征在于,所述程序应用由处理器加载并执行以实现权利要求1-7任一项所述的基于冗余肌肉骨骼系统的阶段式运动控制方法。
10.一种处理装 置,包括处理器、存储装置;处理器,适用于执行各条程序;存储装置,适用于存储多条程序;其特征在于,所述程序适用于由处理器加载并执行以实现权利要求1-7任一项所述的基于冗余肌肉骨骼系统的阶段式运动控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910807218.0A CN110515297B (zh) | 2019-08-29 | 2019-08-29 | 基于冗余肌肉骨骼系统的阶段式运动控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910807218.0A CN110515297B (zh) | 2019-08-29 | 2019-08-29 | 基于冗余肌肉骨骼系统的阶段式运动控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110515297A CN110515297A (zh) | 2019-11-29 |
CN110515297B true CN110515297B (zh) | 2020-08-11 |
Family
ID=68629027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910807218.0A Active CN110515297B (zh) | 2019-08-29 | 2019-08-29 | 基于冗余肌肉骨骼系统的阶段式运动控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110515297B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8864846B2 (en) * | 2005-03-31 | 2014-10-21 | Massachusetts Institute Of Technology | Model-based neuromechanical controller for a robotic leg |
CN103761392B (zh) * | 2014-01-23 | 2017-02-15 | 南京工程学院 | 类人机器人协同运动的肌肉力模型优化方法 |
CN106974649A (zh) * | 2017-04-12 | 2017-07-25 | 东华大学 | 可穿戴式肌肉运动状态识别和肌肉电刺激运动辅助系统 |
CN107544261B (zh) * | 2017-10-26 | 2020-07-24 | 长春工业大学 | 不确定环境接触下的可重构机器人分散学习最优控制方法 |
CN108422421B (zh) * | 2018-03-16 | 2020-10-13 | 中国科学院自动化研究所 | 骨骼肌肉式机器人的肌肉控制和装配方法 |
CN109346176B (zh) * | 2018-08-27 | 2021-08-31 | 浙江大学 | 一种基于人体动力学建模和表面肌电信号修正的肌肉协同分析方法 |
-
2019
- 2019-08-29 CN CN201910807218.0A patent/CN110515297B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110515297A (zh) | 2019-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110909859B (zh) | 基于对抗结构化控制的仿生机器鱼运动控制方法、系统 | |
CN107102644B (zh) | 基于深度强化学习的水下机器人轨迹控制方法及控制系统 | |
Kober et al. | Reinforcement learning to adjust parametrized motor primitives to new situations | |
CN111695690A (zh) | 基于合作式强化学习与迁移学习的多智能体对抗决策方法 | |
CN108319132A (zh) | 用于无人机空中对抗的决策系统及方法 | |
CN111783994A (zh) | 强化学习的训练方法和装置 | |
Zhou et al. | An air combat decision learning system based on a brain-like cognitive mechanism | |
CN114510012A (zh) | 一种基于元动作序列强化学习的无人集群演进系统及方法 | |
CN112405542B (zh) | 基于脑启发多任务学习的肌肉骨骼机器人控制方法及系统 | |
CN114326722B (zh) | 六足机器人自适应步态规划方法、系统、装置及介质 | |
Tieck et al. | Generating pointing motions for a humanoid robot by combining motor primitives | |
CN110515297B (zh) | 基于冗余肌肉骨骼系统的阶段式运动控制方法 | |
CN117540203A (zh) | 一种集群机器人合作导航的多向课程学习训练方法及装置 | |
CN113919475B (zh) | 机器人技能学习的方法、装置、电子设备及存储介质 | |
CN116432539A (zh) | 一种时间一致性协同制导方法、系统、设备及介质 | |
Ganesh et al. | Deep reinforcement learning for simulated autonomous driving | |
CN114967472A (zh) | 一种无人机轨迹跟踪状态补偿深度确定性策略梯度控制方法 | |
CN112525194A (zh) | 一种基于海马-纹状体内源性和外源性信息的认知导航方法 | |
Wu et al. | A developmental learning approach of mobile manipulator via playing | |
CN112621760A (zh) | 基于神经元增益基元组合优化的机器人运动控制方法 | |
CN116842761B (zh) | 基于自博弈的蓝军智能体模型构建方法和装置 | |
CN114872042B (zh) | 基于临界状态循环网络的肌肉骨骼机器人控制方法及装置 | |
Gelenbe et al. | Simulating the navigation and control of autonomous agents | |
CN109583582A (zh) | 基于适合度轨迹的神经网络强化学习方法及系统 | |
Buurman | Utilizing FORCE Learning to Model Adaptive Behavior |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |