本发明涉及气动肌肉领域,具体涉及一种基于多项式拟合与神经网络的气动肌肉迟滞特性建模方法。
背景技术:
气动肌肉是一种新兴的医学仿生和气动执行元件,在世界医学和工业领域已经取得了广泛的应用。
现阶段对气动肌肉迟滞特性的研究越来越多,其往往是通过建模的方法对气动肌肉迟滞特性的形成原因和特点进行深入分析,但是现有的建模方法只能实现一对一的映射关系,并不能实现对多对多的映射关系,这就造成了气动肌肉迟滞特性研究的局限性,不能精确地反映气动肌肉的迟滞特性,使得实际的应用控制难以取得好的效果。
技术实现要素:
有鉴于此,本发明的目的是克服现有技术中的缺陷,提供基于多项式拟合与神经网络的气动肌肉迟滞特性建模方法,能够精确反映气动肌肉的迟滞特性,适用范围广、输出精度高。
本发明的基于多项式拟合与神经网络的气动肌肉迟滞特性建模方法,包括如下步骤:
s1.采集气动肌肉数据参数;所述气动肌肉数据参数包括输入气压与气动肌肉位移;
s2.对输入气压与气动肌肉位移进行多项式拟合得到气动肌肉迟滞曲线,辨识气动肌肉迟滞曲线参数得到气动肌肉多项式系数,根据气动肌肉多项式系数构建气动肌肉迟滞数学模型;所述气动肌肉迟滞数学模型的输入为气压p,所述气动肌肉迟滞数学模型的输出为位移d;
s3.将气动肌肉迟滞数学模型中的气压p以及位移d作为神经网络的输入,并将神经网络的输出作为气动肌肉的实际位移d′。
进一步,步骤s2中,所述气动肌肉迟滞数学模型包括气动肌肉上升段的迟滞数学模型与气动肌肉下降段的迟滞数学模型;
所述气动肌肉上升段的迟滞数学模型为:
其中,d1为气动肌肉的上升段位移;p1为气动肌肉上升段位移对应的输入气压;
所述气动肌肉下降段的迟滞数学模型为:
其中,d2为气动肌肉的下降段位移;p2为气动肌肉下降段位移对应的输入气压。
进一步,步骤s3中,所述神经网络包括输入层、隐含层以及输出层;所述隐含层的神经元个数根据如下公式确定:
其中,l为隐含层神经元个数,r为输入层神经元个数,s为输出层神经元个数,a为区间[1,10]中的常数。
进一步,选择s型正切函数sigmoid作为隐含层神经元的激励函数;选取s型对数函数tansig作为输出层神经元的激励函数。
本发明的有益效果是:本发明公开的一种基于多项式拟合与神经网络的气动肌肉迟滞特性建模方法,通过多项式拟合将多对多的气动肌肉迟滞非线性映射关系转换为神经网络输入输出之间的一一映射关系,并给神经网络足够的信息量进行网络训练,从而建立神经网络双输入单输出的神经网络迟滞模型,解决了传统建模方法的局限性,提高了输出精度。
附图说明
下面结合附图和实施例对本发明作进一步描述:
图1为本发明的方法流程示意图。
具体实施方式
以下结合说明书附图对本发明做出进一步的说明,如图所示:
本发明的基于多项式拟合与神经网络的气动肌肉迟滞特性建模方法,包括如下步骤:
s1.采集气动肌肉数据参数;所述气动肌肉数据参数包括输入气压与气动肌肉位移;本实施例中,通过实验分别对气动肌肉进行充气以及放气测试,并分别记录气动肌肉在充气和放气过程中的输入气压以及输入气压对应的实时位移数据。
s2.对输入气压与气动肌肉位移进行多项式拟合得到气动肌肉迟滞曲线,辨识气动肌肉迟滞曲线参数得到气动肌肉多项式系数,根据气动肌肉多项式系数构建气动肌肉迟滞数学模型;所述气动肌肉迟滞数学模型的输入为气压p,所述气动肌肉迟滞数学模型的输出为位移d;
s3.将气动肌肉迟滞数学模型中的气压p以及位移d作为神经网络的输入,并将神经网络的输出作为气动肌肉的实际位移d′。
本实施例中,步骤s2中,采用2个多项式表达式分别拟合步骤s1中采集到的输入气压与气动肌肉位移,并得到气动肌肉迟滞曲线的上升段和下降段;所述2个多项式表达式分别对应气动肌肉迟滞曲线的上升段与下降段;其中,所述2个多项式表达式如下:
其中,yu(t)为气动肌肉迟滞曲线的上升段;ai为气动肌肉迟滞曲线上升段对应的多项式系数;
采用matlab中的polyfit函数来辨识上述多项式表达式的参数,所述polyfit函数根据最小二乘法原理编写,采用如下模型进行调用:
本实施例中,k1为气动肌肉迟滞曲线上升段的多项式拟合结果;k2为气动肌肉迟滞曲线下降段的多项式拟合结果;x1为气动肌肉迟滞曲线上升段的输入气压;x2为气动肌肉迟滞曲线下降段的输入气压;y1为气动肌肉迟滞曲线上升段的气动肌肉位移;y2为气动肌肉迟滞曲线下降段的气动肌肉位移;n为多项式次数,n取值为4;
则通过matlab中的polyfit函数辨识处理后得到气动肌肉迟滞数学模型,所述气动肌肉迟滞数学模型包括气动肌肉上升段的迟滞数学模型与气动肌肉下降段的迟滞数学模型;
所述气动肌肉上升段的迟滞数学模型为:
其中,d1为气动肌肉的上升段位移;p1为气动肌肉上升段位移对应的输入气压;
所述气动肌肉下降段的迟滞数学模型为:
其中,d2为气动肌肉的下降段位移;p2为气动肌肉下降段位移对应的输入气压。
本实施例中,步骤s3中,采用bp前馈神经网络对气动肌肉迟滞数学模型进行进一步处理,即通过输入空间扩张的方法将气动肌肉迟滞数学模型映射到一个新的扩张输入空间中进行控制处理,从而实现将多对多的气动肌肉迟滞非线性映射关系转换为神经网络的输入输出之间的一一映射关系。
所述bp前馈神经网络包括输入层、隐含层以及输出层;所述输入层输入气动肌肉迟滞数学模型中的气压p以及位移d,所述气压p包括气动肌肉上升段位移对应的输入气压p1以及气动肌肉下降段位移对应的输入气压p2;所述位移d包括气动肌肉的上升段位移d1以及气动肌肉的下降段位移d2;所述隐含层用于对输入层输入的数据特性进行抽象处理,并进行学习计算,从而逼近气动肌肉迟滞的非线性特征;所述输出层用于输出神经网络训练之后的气动肌肉位移d′;
其中,隐含层神经元个数的确定可以根据经验以及实验来确定,本实施例中,所述隐含层的神经元个数根据如下公式确定:
其中,l为隐含层神经元个数,r为输入层神经元个数,r取值为2,s为输出层神经元个数,s取值为1,a为区间[1,10]中的常数;可以计算出隐含层神经元个数为3~12个,本实施例中,l取值为6;
本实施例中,选择s型正切函数sigmoid作为隐含层神经元的激励函数,使得隐含层能够将输入气压以及气动肌肉的位移等数据值挤压到[0,1]区间进行处理,其中,[0,1]区间与概率的取值范围一致,保证了隐含层的有效输出。选取s型对数函数tansig作为输出层神经元的激励函数,保证了输出层输出[-1,1]范围内的归一数据,利于输出数据的比较与应用。
下面通过搭建气动肌肉的位移与气压特性实验平台,采集对应的位移与气压实验数据,对kp模型和基于多项式拟合与神经网络的两种建模方法的建模效果进行对比分析。
所搭建的实验平台为气动肌肉测试系统,所述气动肌肉测试系统主要包括气动肌肉(型号dmso-20-500n,其初始长度为500mm,内径为20mm)、拉力传感器、位移传感器、电气比例伺服阀、光栅尺以及数据采集卡等。
实验过程如下:在试验时气动肌肉的负载由一定重量的砝码提供,气源向气动肌肉腔室提供压缩气体,在其作用下,气动肌肉收缩产生的力会带动砝码向上运动。一段时间后,气动肌肉完成收缩运动达到稳定状态,气动肌肉与气源之间连接有电气比例阀,向电气比例阀输入负阶跃信号即可使气动肌肉的压力恢复到环境压力,一段时间后,气动肌肉恢复到初始状态,至此完成了一次拉伸收缩的往复运动。在此过程中调节比例调压阀使气动肌肉内部绝对气压缓慢地从0mpa增加到0.6mpa,稳定后再从0.6mpa缓慢降到0mpa。通过labview编写的数据采集程序可得到气动肌肉在上述充放气过程中的试验数据,重复以上动作,计算出位移数据的平均值,从而减小系统误差。最后得到所需的气动肌肉驱动器的位移和气压数据对,将位移转化为收缩率,即可得到气动肌肉的位移/气压迟滞曲线数据。
将上述实验所得数据作为kp模型的辨识数据,通过该kp模型的处理,可以得到kp模型的平均误差为0.9060mm,均方差为1.0450mm。
而经过4次多项式拟合得到的数学模型无论是上升段还是下降段皆与气动肌肉执行器的实际滞回曲线存在较大的建模误差,该模型的最大建模误差为3.7339mm,平均误差为1.1655mm,均方差1.3664mm。
在经过4次多项式拟合处理后,将上述实验测得的数据进行归一化,并归一化数据分为两部分,一部分用于逼近迟滞曲线,一部分用于检查神经网络的泛化能力(神经网络模型的适应性)。
首先,利用偶数气压数据对神经网络进行训练,其中,隐层神经元数目设为6,该神经网络的最大建模误差在3mm以内,平均误差为0.83mm,均方差为0.24148mm。
然后再利用奇数气压数据来检测气动肌肉驱动器神经网络迟滞模型的泛化能力,从检测神经网络泛化能力的仿真结果可以得到,最大误差在2.8mm以内,平均绝对误差为0.8465mm,均方差为0.30493mm。
可以看出,与直接使用kp模型辨识结果相比,通过多项式拟合与神经网络相结合得到的模型能够很好地描述气动肌肉位移/气压迟滞现象,其均方差和平均误差均显著减小,为气动肌肉驱动器的设计提供了有力的支撑。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。