Adaptive optimal multi-critic based neuro-fuzzy control of MIMO  human musculoskeletal arm model

摘要:

人体利用电流刺激肌肉运动。但有时由于脊髓损伤大脑和肌肉之间的电信号断开,导致半身不遂。功能性电刺激(Fuctional electrical stimulation, FES)是用电来刺激肢体功能障碍的周围神经。应该适当选择这些电信号的电平以便成功地完成所需的任务。用适当的控制器可以实现人的行为并完成所期望的任务已成为一个重要的研究领域。这篇文章研究了具有六块肌肉的手臂的多输入多输出(MIMO)肌肉骨骼模型,提出了一种基于自适应最优临界神经模糊控制器来控制手臂模型的终点。通过计算机仿真验证了神经模糊控制结构的有效性。自适应和肌肉力优化是神经模糊控制器的重要特征。结果表明,该方法具有良好的性能。

1.简介

脊髓的损伤阻止了大脑和肌肉之间的电信号,并导致半身不遂。功能性电刺激(FES)是一种利用电流激活残肢周围神经的技术。通过智能地选择电流的大小,患者可以成功地完成预期的任务。因此,需要合适的控制器来完成复杂和目标导向的运动,比如伸展到达目标点。由于有大量的关节,人体的四肢变得非常灵活的,而且在一个关节上活动的肌肉的数量通常超过了那个关节的自由度。人体的这两个重要特性分别称为运动学和动力学冗余,这引起了许多研究者对冗余系统控制的研究。具有运动冗余的肢体可以通过关节角度的大量变化来进行运动,而相同的关节旋转可以是由于动态冗余导致的各种肌肉激活模式的结果。(非线性和动态冗余是为了消除多肌肉信号得输入误差?)这个问题是由Bernstin提出的。迄今为止,许多生理学家和机器人研究人员都面临着通过引入多种优化准则来解决这些不适定问题的挑战。实验数据表明,人体运动具有一些不变的特征。

在他的工作中,发现了人类双臂在水平面上运动的一些不变特征。当一个人想要将他的手从一个视觉目标移动到一个期望的目标时,他的手臂端点轨迹大致是一条直线,其速度剖面是钟形的。与这种简单的图形相比,角度和角速度并不遵循任何特定的图形和基于工作空间的变化。这将导致一种假设,即手臂的动作是在执行动作的面向任务的坐标中规划的。Flash等人(1985)提出了一个数学模型,称为最小颠簸模型。在此基础上,将臂端点位置的抖度平方积分减到最小。他证明了手端点轨迹是一条直线,这是由Morasso的实验结果所陈述的。Uno等人提出了考虑人手臂动力学和运动学的最小转矩变化模型。其报告的结果与最小抖度模型的结果相当一致。中野等人提出了最小指令转矩变化模型作为最小运动指令变化模型的可计算版本,并指出,考虑到手臂和肌肉的动力学,利用运动指令的表示形式来控制肌肉张力,大脑可以规划最佳轨迹。但它们都是用来描述人类手臂接触控制机制的模型。因此,FES控制算法应遵循最优策略,以实现类人运动。

Arimoto等引入了“流形稳定性”的概念,并指出存在从任务空间到关节空间的感觉反馈信号,使得整个闭环动态系统能够自然收敛,完成给定的运动任务。Tahara等研究了手臂的感觉运动控制,并采用两自由度手臂模型建立了非线性肌肉动力学模型。众所周知,人类的自然运动是通过一个适当的组合感觉反馈方式使用几个外部传感器,如视觉和前馈方式通过复杂的学习和估计策略实现的。Tahara针对人体平面手臂模型提出了反馈和前馈控制策略,并将它们结合到手臂运动控制中。Jagodnik等人提出了一种比例导数(PD)控制器用于瘫痪对象手臂的平面控制。提出的PD控制器增益需要重新调整,以适应被试手臂动态的变化。为了解决这个问题,Thomas等人[24]提出了用FES控制人手臂的动作评价体系结构。动作评价体系结构都是神经网络,他们使用Jagodnik等人提出的PD监督来训练提出的结构。他声称,控制器能够在合理集数上适应没有监督的动态变化。Thomas等人提出的控制器对训练的要求和对动态变化的适应时间,这二者使得FES对人手臂的控制效率低下。Dong等[25,26]提出了一种具有双关节肌肉的仿人机器人手臂的自适应滑模控制。根据[25,26]中提出的结构,动态参数是实时更新的,因此可以解释运行过程中的扰动和干扰。Zadravec[27]提出了一种基于最小联合转矩代价函数的最优控制方法。在这项工作中,作者预测了最佳的手轨迹时,肌肉功能的约束模型。他们提出的方法需要精确的人体手臂动态模型参数,但这些参数的精确计算是不可能的,而且这些参数依赖于瘫痪的人。根据上述文献,自适应和最优性是人类中枢神经系统的主要重要特征,目前缺乏合适的自适应最优控制器来控制手臂末端而不需要进行预训练。

本文提出了一种新的基于自适应最优多评价神经模糊控制器(AOMCNFC)的控制结构,用于研究水平面上的有六块肌肉的非线性手臂模型的控制目的。所提出的控制器具有将手臂末端引导到所需要的位置又同时优化各肌肉的激活水平的优点。模型参数的独立性是该控制器在生物医学工程中的重要特点。本文的组织结构如下:第2节提出了肌肉骨骼臂的非线性模型,第3节阐述了控制器的结构,第4节报告了所完成的数值模拟结果。最后,第五部分对全文进行总结。

2.人类手臂模型

这两个自由度的人类手臂有两个转动关节代表肩膀和肘部。该模型对平面手臂运动进行了简化,忽略了重力的影响。在下图中,所考虑的平面双臂和有效肌肉的示意图模型被显示。该模型包含附着在手臂连杆上的六块肌肉。每个关节都由相关的肌肉驱动,而这些肌肉只能产生拉力。这些肌肉被认为是无质量的,并直接附着在连杆上。每个关节对应的肌肉力矩与关节角度和肌肉张力有关。

人手臂简化图

2.1关节与末端坐标之间的运动学

机械臂末端位置向量和关节角度向量关系如下:

其中分别是第一连杆长度和第二连杆长度。是第一个关节的关节角,是第二个关节的关节角。臂端点的速度与连杆的角速度的关系用雅可比矩阵联系起来:

是机械臂末端的线速度,是关节的角速度。

带肌肉人体手臂结构示意图

肌肉长度向量定义如下所示:

其用表示为:

这里a和b代表着每条肌肉的力臂。对上述方程对时间进行微分,可以得到以下方程:

其中为肌肉收缩速度相对于关节角速度的雅可比矩阵。利用虚功原理,得到的肌肉力力矩计算如下:

其中是肌肉张力向量,是关节力矩向量,定义如下:

2.2手臂模型的动力学方程

在这一节中,介绍了手臂肌肉骨骼模型的动力学方程。利用拉格朗日公式,得到动力学方程如下:

其中矩阵M、C和D说明了机械手的惯性矩、科里奥利力和离心效应,以及关节的阻尼系数。其具体参数如下:

其中:

;

然后,将关节力矩T用线绳张力F进行表示,得:

2.3非线性肌肉模型

骨骼肌行为受强非线性控制。这里使用的是Tahara等人提出的骨骼肌常见的张力-速度关系。该模型考虑了肌肉收缩元件的阻尼效应。这个力-速度模型被写成:

其中:

f是肌肉张力,是肌肉的收缩速度,是肌肉的固有粘度,是控制输入,其定义为:

其中,是肌肉的最大等轴张力,它取决于肌肉的长度。

3.控制器设计

提出了一种新的神经模糊控制结构——自适应最优多评价智能体神经模糊控制器(AOMCNFC)。准确测定人臂的质量、惯量等参数是一项艰巨的任务。该控制器与模型参数的独立性吸引我们在问题中实现它。

本文平面人体手臂模型有两个输出,分别是臂端执行器的X坐标和Y坐标。我们正在寻求设计一个适当的控制器,可以导致这一点到所需的位置从任何初始位置。控制输入是肌肉的张力。因此,一个多输入多输出(MIMO)系统应该考虑6个输入2个输出。对于每个肌肉力量作为控制输入,应该设计一个单独的AOMCNFC。

3.1.AOMCNFC基于自适应最优多评价指标神经模糊控制器

自适应评价设计是基于强化学习的概念。在强化学习中,控制系统的性能由一个评价智能体来评价。该智能体产生一个用于更新神经模糊控制器参数的信号。因此,所提出的神经模糊控制器结构由神经模糊控制器和评价智能体两大部分组成,并且所提出的结构最重要的优先级是其朝向最优输入的方法,这在生物力学工程中是非常重要的。

3.2.模糊神经网络

模糊系统是基于规则的系统。模糊If-Then规则是模糊系统中最重要的知识库。从人类专家那里获得一组模糊If-Then规则或基于领域知识,是构造模糊系统的开始。下一步是将这些规则合并到单个系统中。不同的模糊系统采用不同的组合原则。文献中常用的模糊系统有两种:具有模糊化和去模糊化的模糊系统以及TSK模糊系统。

AOMCNFC系统采用TSK型模糊系统。多输入单输出TSK系统由以下配置中的一些规则组成。

IFandand...and

THEN

其中,j是规则编号,i是输入编号,以其隶属函数为特征。

每个规则的触发值是根据乘积t范数算出的:

TSK系统的净输出为:

其中N为TSK系统的规则数。在AOMCNFC中,它是应用于arm端点控制的,TSK模糊系统的输入端为。对于每个输入,定义了三个三角形隶属函数,分别用N、Z、P表示负、零、正,如图所示。

TSK系统的三角隶属函数

因此,每个TSK控制器将有81条规则。所提出的TSK模糊系统的臂端控制原理图如图所示。

TSK控制器结构

TSK模糊系统的输出可以用向量形式定义如下:

其中:

其中矩阵C可以用误差进行表示:

进而输出可以用误差表示。

3.3.评价

评价是AOMCNFC结构中使用的主要基本单元。评价智能体通过对平台输出的评估来产生名为r的强化信号进而评估控制系统的行为。强化信号r允许含有实值,其范围为[-1,1],学习元素的目的是对TSK控制器的可调参数进行调整,使该信号最小,达到零值,说明不需要进一步学习。在多输出系统中,为了使所有的临界信号归零,需要考虑几个临界信号。在这种系统中,代价函数设计如下:

其中是第i个评价信号的权重,定义如下:

并且

其中的最大值,是系统的第个期望输出,系统的第个输出,是任意的正实数,s是系统中输出的数量。

在这项研究中,为了实现控制器的最优性,我们正在寻求另一个目标,即肌肉张力的最小化。为此,代价函数可以修改如下:

其中:以第j个肌肉张力作为模型的控制输入,是它的最大值,是这个模型中考虑了肌肉的总数,是常数正实数作为权重系数,上述代价函数可以进一步简写为:

其中

下图显示了控制器的框图和评价智能体的作用:

TSK控制器框图

3.4.情绪学习

如前所述,情绪学习的主要目标是更新神经模糊控制器的参数,以减少基于代价函数的评价压力。换句话说,评价智能体更新神经模糊控制器参数的算法被称为情绪学习。因此,学习目标是最小化式中定义的代价函数。神经模糊控制器的可调参数为式中定义的矩阵。这个过程是用最速下降法来完成的,可以表示为:

其中,的控制器的学习速率。

在上述肌肉骨骼模型的控制中,目标是在手臂的末端达到一个期望的点,同时最小化每一块肌肉的张力。如前所述,模型的工作空间在水平面上,因此该系统有两个输出。这个系统的临界信号定义如下:

肌肉有六种力量。利用链式法则可以得到:

其中,是输入索引。

第一项可以化简为:

输入力矩与输出角之间的雅可比矩阵是批评家的主要部分,不需要计算其精确值。Nasseroleslami等人设计了一个神经网络来估计雅可比矩阵。由于质量矩阵定义了动态系统的主要特性,因此,在本工作中,估计如下:

其中,

同样,也可简化为:

同时,

其中:

4.仿真结果

在这一节中,我们对由两自由度人臂模型和自适应最优神经模糊控制器组成的闭环系统进行了数值模拟。表1和表2显示了人臂模型的参数值。

需要注意的是,图2中的em分别被选为ex和ey的0.1和e_x和e_y的0.4,这大约是仿真中对应最大值的一半。在[-50,50]范围内随机选取TSK控制器系数的初值。 正如前面提到的,每一个肌肉力量应该有一个单独的AOMCNFC设计,以实现预期的目标。在闭环系统中有6个。评价智能体同时考虑了末端执行器位置的误差和各肌肉的张力值,并试图降低它们。该控制器可用于人手臂末端的定位点控制和参考轨迹控制。实验结果表明,该控制器在设定点和参考轨迹控制任务中均取得了良好的控制效果。

4.1.案例1:set-point控制

在人臂端点的设定值控制中,控制器试图将人臂端点从水平面上任意初始位置引导到期望位置。顺便说一下,每块肌肉的拉力不能超过其最大允许值。表3给出了手臂端点的初始位置和期望位置、控制器的参数、各肌肉的最大允许拉力和模拟肌肉的固有粘度。

本节研究了控制输入优化项对损失函数的影响。因此,我们进行了两个仿真,一个考虑了评价智能体的损失函数中的控制输入,另一个不考虑成本函数中的控制输入项,即Kn=0,n=1,2,...,6。为了验证所提控制器的结果,将其与Tahara等人的工作进行了比较。他的工作基于虚拟弹簧,它将任务空间中的一个势场引入到arm的端点。当肌肉中始终存在足够的内力时,这种势能可以使臂端指向所需要的位置。他设计的肌肉激活水平矢量如下:

其中,

的伪逆,K是虚拟弹簧的刚度矩阵,ke是一个矢量,它定义了肌肉中额外的内力。在这个模拟中,这些参数的值选择如下:

并且

图5所示为手臂端点从初始位置到所期望位置的轨迹。可以看出,手臂的端点经过2 s后到达了期望的位置,但是在控制输入优化的情况下,轨迹更加平滑,与基于Tahara[20]的结果非常接近。图6显示了肌肉相对于时间的拉力。这表明,未优化的肌肉输入力值比其他肌肉输入力值高得多。另一个重要观点是,力量得到零当手臂到达期望的位置与输入优化控制的情况下,但在其他两个有一个的一些肌肉的力量即使当端点到达期望的位置。需要强调的是,Tahara提出的方法不是最优的。所提出的控制器相对于FES中其他先前的控制方法的优先级是其最优性。图7为肩关节和肘关节肌肉张力的有效转矩。在输入优化的情况下,有效力矩的大小要小得多。

4.2.案例2:路径追踪控制

在路径跟踪控制中,arm的端点应该到达预定的路径并永远停留在该路径上。为了模拟这种控制策略,我们考虑了一个圆形轨迹作为手臂末端的期望轨迹。同样,手臂端点的初始位置不在期望的路径上。下式是考虑的关于时间的期望路径方程。图8所示为臂末端点的轨迹及其相对于时间的X、Y坐标。它表明,手臂端点可以跟踪一个可接受的小误差圆的路径。

4.3.鲁棒性分析

在本节中,我们藉由数值模拟来验证所提出的神经模糊控制器在参数化、回馈讯号及控制输入讯号不确定情况下的稳健性。参数不确定性可能存在于质量、惯性、臂长和矩阵w中。例如,假设质量、惯性、长度有20%的不确定性,连杆和矩阵W同时存在。这样,在计算Eqs时。(3)(42)考虑了控制器结构中的不确定性。AOMCNFC控制结构的其他参数与4.1节中用于输入优化设定值控制的参数相同。分别考虑了反馈信号不确定性的影响。在信号中加入了20%的不确定度,并对其鲁棒性进行了研究。同时考虑了控制输入不确定性对控制器性能的影响。最后,将所有的不确定性一起实现。图9显示了末端执行器的轨迹和X、Y坐标相对于时间的关系。可以看出,在上述任何一种情况下,控制器的性能都没有下降。

 5.结论

人体中存在着大量的冗余。所以身体的运动应该以一些最佳的标准为基础。本文将自适应最优神经模糊控制器应用于人手臂的二连杆六肌肉模型。通过改变临界结构实现了控制器的最优性。将非线性人手臂模型作为MIMO系统,完成了两项控制任务:手臂末端执行器的设定点和轨迹跟踪。结果表明,该控制器能有效地控制手臂的端点位置,无论是在定位点控制还是轨迹跟踪控制中。控制器与模型参数的独立性是该控制器的重要特征。该控制器的另一个优点是对控制输入进行了优化,得到了与实验结果基本一致的手臂端点位置。

基于自适应最优多评价神经模糊控制的MIMO人体肌肉骨骼臂模型相关推荐

  1. 基于人脑神经元与神经信息交流机制的类脑计算模型研究

    基于人脑神经元与神经信息交流机制的类脑计算模型研究 摘 要:在当下社会人工智能发展得如火如荼,但在发展火热的背后,以深度学习为代表的传统人工智能算法已经到达瓶颈期,所需的巨大的数据样本和和计算资源使研 ...

  2. 低耗时、高精度,微软提基于半监督学习的神经网络结构搜索算法

    作者 | 罗人千.谭旭.王蕊.秦涛.陈恩红.刘铁岩 来源 | 微软研究院AI头条(ID:MSRAsia) 编者按:近年来,神经网络结构搜索(Neural Architecture Search, NA ...

  3. 低耗时、高精度,微软提出基于半监督学习的神经网络结构搜索算法 SemiNAS

    编者按:近年来,神经网络结构搜索(Neural Architecture Search, NAS)取得了较大的突破,但仍然面临搜索耗时及搜索结果不稳定的挑战.为此,微软亚洲研究院机器学习组提出了基于半 ...

  4. ​基于BCI的现代神经反馈有助于认知增强

    神经反馈是一种人类增强技术,旨在提供心理变量(例如记忆力,注意力,处理速度或执行功能)的认知改善.  什么是认知增强神经反馈? 神经反馈是一种人类增强技术,其最终目标是优化大脑功能,以实现对记忆.注意 ...

  5. 基于AI的便携式神经假肢让截肢14年患者操作自如,高精度、低延迟

    近日,来自明尼苏达大学的研究团队及其合作者,共同开发出了一种基于深度学习的便携式独立神经假肢. 据了解,研究人员基于递归神经网络(RNN)架构设计了该神经解码器,并部署在边缘计算平台NVIDIA Je ...

  6. ​基于BCI的现代神经反馈有助于认知增强(二)

    脑机接口神经反馈工作 该视频显示了现代神经反馈方法是如何实时工作的.首先,记录原始的脑电图活动:左上图显示脑电图记录在位于顶枕区上方的五个电传感器中.使用短期傅里叶变换,特别是在最后一个EEG秒(灰色 ...

  7. 深化学习(RL)概念应用以及基于表格型、神经网络型、策略梯度、连续动作空间求解RL​​​​​​​

    深化学习(RL)概念应用以及基于表格型.神经网络型.策略梯度.连续动作空间求解RL 目录 一.概念以及应用 二.基于表格型求解RL--Sarsa和learning 表格型方法--Sarsa 1. Sa ...

  8. 基于Keras的卷积神经网络模型预测--狗的品种识别

    基于Keras的卷积神经网络模型预测–狗的品种识别 from sklearn.datasets import load_files from keras.utils import np_utils i ...

  9. 基于淘宝评价的采集与产品爆款挖掘分析

    基于淘宝评价的采集与产品爆款挖掘分析 知已知彼,方能百战不殆.在已经成熟的电商环境中尤是如此.无论您是从事公司企业店铺的运营专家,还是从事个人店铺的打理.了解对手行业.了解同行最受欢迎的产品,是必须的 ...

最新文章

  1. 温故一下Linux CentOS的VI/VIM命令
  2. OpenStack——基于EXSI安装OpenStack解决方案
  3. c语言坐标输出图片,tc 如何在指定坐标处 输出bmp图片??
  4. Tomcat server launch debug - OrderAnalytics
  5. ZooKeeper,策展人以及微服务负载平衡的工作方式
  6. Go语言与数据库开发:01-11
  7. JSP向Servlet传递数据以及与STM32、ESP8266通信过程
  8. iPhone开发内存管理
  9. python开发k8s管理平台_将Python项目部署到Kubernetes
  10. 16S多样性组成谱研究,9.13分的Water Research轻松二连发!
  11. 搜狗站群代码之搜狗批量推送工具
  12. 什么叫特立独行,其实不过是活在自己的节奏里
  13. 易懂介绍Java中类与对象、构造方法、继承
  14. catia制作物料明细_CATIA导出装配文件的部件列表BOM清单到Excel文件 | 坐倚北风
  15. Keras实例教程(1)
  16. HSQLDB数据库使用详解(入门)及快速使用
  17. C语言 - 巧解正数,负数以及零的按位取反
  18. make install - make uninstall - make clean 命令介绍
  19. unity报错出现Asset database transaction committed twice!
  20. vue-router路由重复点击时报错的解决方案

热门文章

  1. 【校招VIP】前端网络之IGMP协议
  2. C# Show()和ShowDialog()
  3. 计算机计算出负数,cfa计算器 负数
  4. 如何创建springboot项目
  5. linux命令gunzip_Linux gunzip命令示例教程
  6. 企业中常见的ERP运维问题!
  7. ctf中stegsolve的应用
  8. 开发艺术探索阅读笔记—01
  9. linux下限制CPU使用率的3种方法
  10. Android 热修复 Tinker接入及源码浅析