陈婕CHEN Jie;罗天洪②LUO Tian-hong;范磊FAN Lei
(①重庆交通大学机电与车辆工程学院,重庆400074;②重庆文理学院智能制造工程学院,重庆402160)
气动肌肉因其柔顺性较好,功重比大,而被广泛应用于康复机器和多自由度平台等领域。虽然具有上述诸多优点,但在实际应用中,由于橡胶管的变形能、橡胶管与编织网间的摩擦以及端部约束等因素的影响[1],气动肌肉的特性参数之间呈迟滞非线性关系,从而对其建立精确数学建模的难度较大,使其输出精度大大降低。因而,对气动肌肉进行精确建模具有重要意义。
在气动肌肉模型的建立方面,主要分为理论建模与实验数据拟合[2]。孙丽娜[3]等将PID 控制和神经网络相结合建立了改进理论模型,提高了气动肌肉的输出位置精度;于海涛[4]等利用改进Tondu 模型更好地描述了气动肌肉拉力与其收缩率之间的关系。然而,现有的气动肌肉模型还存在如下问题:①气动肌肉的内部构造和相关参数难以获得,利用理论模型实现精确的气动肌肉建模比较困难;②线性迟滞模型模型误差大,建模精度低。
近年来,神经网络发展越来越迅猛,该技术被应用到越来越广泛的领域,对未知且复杂的非线性系统进行建模就是其他一个重要的领域。然而,在实际建模中,现有的神经网络难以识别迟滞非线性特性,并且不能很好地拟合实际情况,因此神经网络的结构有待改进。例如王冬青等[5]采用三层递归神经网络构建了气动肌肉手臂的非线性动力学模型,提高了末端的输出精度。
基于以上研究,针对气动肌肉迟滞非线性特性,本文提出了一种基于曲线拟合的神经网络建模方法,通过多项式拟合模型来构建扩张输入空间,从而构造一对一的神经网络迟滞模型,该方法既有多项式拟合的简洁又具有神经网络的高速计算能力。
为了获得气动肌肉在一定载荷下的收缩率ε 与充入气压P 的关系,本文通过调节电气比例阀的电压,使得气动肌肉的内腔气压发生变化。经过一段时间的工作,气动肌肉完成收缩运动达到稳定状态,然后再输入负阶跃信号,使气动肌肉逐渐恢复为初始状态。实验流程如图1。通过数据采集卡可以获得气动肌肉在工作过程中的实验数据,重复以上动作,计算出位移数据的平均值,从而减小系统误差。将实验得到的气动肌肉的位移数值转换为相应的收缩率()即可得到收缩位移与气压之间的关系,如图2 所示。
由图2 可知在负载外力相同的情况下,气动肌肉在放气伸长和充气收缩过程中的位移不同,即实验结果为两条并不重合的曲线,两条曲线之间的不重合现象即为气动肌肉的迟滞非线性现象。
本节将对多项式模型的原理进行简单的介绍,并利用最小二乘法对多项式拟合模型的未知参数进行辨识。
通过文献可知,气动肌肉非线性迟滞曲线的上升段和下降段可以分别采用2 个多项式进行拟合,故气动肌肉多项式模型参照如下形式:
图1 非线性特性实验流程
图2 气动肌肉收缩率/气压迟滞曲线
式中:yu、yd——非线性迟滞曲线的上升部分和下降部分;x(t)——系统的输入;Pi——多项式模型的系数;n——多项式模型的次数。
可以调用Matlab 中成熟的polyfit 函数对多项式拟合模型的未知参数进行辨识,其调用格式如下式所示:
式中:P1、x1、y1——气动肌肉上升部分迟滞拟合结果、输入实验数据和输出实验数据;P2、x2、y2——气动肌肉下降部分迟滞拟合结果、输入实验数据和输出实验数据;n——多项式模型的次数(此处n 采取4)。
利用实验得到的气压和位移数据对多项式未知系数进行拟合,通过Matlab 计算可以分别得到上升部分与下降部分的迟滞模型,如式(3)和式(4)。
将气动肌肉的上升部分/下降部分实验所得的实际迟滞曲线与多项式拟合曲线比较,得到图3。
图3 多项式模型辨识结果
通过比较可以看到,4 次多项式拟合得到的数学模型无论是上升段还是下降段皆与气动肌肉驱动器的实验曲线存在较大的建模误差,在气压最大处的误差最为明显。多项式拟合模型的最大建模误差3.7339mm,平均误差为1.1655mm,均方差1.3664mm。
由于气动肌肉具有多对多的非线性迟滞现象,而传统的神经网络只能对一对一的映射进行辨识和建模。为了实现将神经网络与迟滞建模相结合的目的,利用多项式拟合模型进行输入空间的构建与扩张,将这种多对多的映射关系转换为一一映射,最终建立神经网络迟滞模型。首先,通过多项式拟合的方法对气动肌肉非线性迟滞现象进行建模;然后将系统输入气压P 和多项式拟合模型的输出位移d 一起作为自变量作为神经网络的输入,实际迟滞位移输出d′作为因变量作为神经网络的输出,即给足够的信息量对神经网络进行训练,建立一个双输入单输出的迟滞神经网络模型。
输入层、隐含层与输出层三个部分组成了BP 前馈神经网络。为了确定隐层神经元的个数,本文参照了如式(5)的经验公式:
式中:n——输入层的神经元数目;m——输出层的神经元数目;a——[1,10]之间的常数。
通过计算最终建立了一个隐含层节点数为6 的双输入单输出的BP 神经网络。通过反复的计算,本文选用的BP 前馈神经网络的最大训练次数设定为50000,利用期望输出的均方差代表网络误差。在Matlab 中调整各参数后,将数据分别代入神经网络进行训练。
首先,将通过多项式拟合模型得到的输出d、实际的输入气压P 和实际的位移输出d′进行归一化处理,并将其分为两个部分。第一部分通过逼近迟滞曲线从而建立对应的神经网络模型,第二部分则用于对所建立的神经网络模型的泛化能力进行检验,即检验神经网络模型的适应性。首先,利用偶数气压所对应的数据训练神经网络,得到如图4~图6 所示的建模结果。
图4 神经网络模型的辨识结果
基于多项式拟合的神经网络模型最大建模误差为2.258mm,平均误差为0.83mm,均方差为0.0381mm。
从图4~图6 可以看出,基于多项式拟合的神经网络模型几乎与实验数据吻合,泛化能力也满足要求,相比于多项式拟合模型,该模型整体光滑,平均误差、最大误差和均方差均有所降低,模型精度显著提高。
图5 神经网络模型的训练图
图6 神经网络模型辨识误差
本文利用多项式拟合构建扩张了神经网络的输入空间,建立双输入单输出的神经网迟滞模型,解决了现有的神经网络只能对一对一的映射关系进行辨识的问题。对比多项式拟合模型,基于多项式拟合算法的神经网络模型均方差和平均误差均显著减小,精度也有了显著的提高,证明了所建模型可以较为准确地反映气动肌肉的非线性迟滞特性。