基于CMAC神经网络的PID参数自整定方法的研究

2009-12-03 20:26:56来源: 中国传动网

0 引言

  控制器的参数整定是通过对PID控制器参数(KP,KI,KD)的调整,使得系统的过渡过程达到满意的质量指标要求。PID参数的整定一般需要经验丰富的工程技术人员来完成,既耗时又耗力,加之实际系统千差万别,又有滞后非线性等因素,使PID参数的整定有一定的难度,致使许多PID控制器没能整定的很好;这样的系统自然无法工作在令人满意的状态,为此人们提出了自整定PID控制器。将过程动态性能的确定和PID控制器参数的计算方法结合起来就可实现PID控制器的自整定[1,2]。

  笔者设计出一种基于CMAC小脑模型神经网络的PID参数自整定的控制系统,从而实现PID参数的快速整定,并且使得PID的参数整定达到一定的精度。

CMAC神经网络

  CMAC(Cerebellar model articulation controller)是J. S. Albus在1975年提出的一种模拟小脑功能的神经网络模型。CMAC是一种联想网络,对每一输出只有小部分神经元(由输入决定)与之相关,它的联想具有局部泛化能力,即相似的输入将产生相似的输出,而远离的输入产生几乎独立的输出。CMAC与感知器比较相似,虽然从每个神经元看其关系是一种线性关系,但从结果总体看,它适合一种非线性的映射,因而可以把CMAC看作一个用于表达非线性映射(函数)的表格系统[3]。由于它的自适应调节(学习)是在线性映射部分,所以其学习算法是简单的 算法,收敛速度比BP快得多,且不存在局部极小问题[4]。CMAC神经网络结构如图1所示。


图1 CMAC结构

2 系统原理

  系统的工作原理为:当闭环控制系统受到扰动时,对系统误差 的时间特性进行模式识别,首先得出系统误差曲线的峰值及时间,如图2所示。


图2 给定值阶跃变化时的误差e(t)曲线

  再根据以下公式得出该过程响应曲线的多个特征参数ei(i=1,2,3)分别为:超调量σ,阻尼比ζ和衰减振荡周期T。

  

  将识别出的三个特征参数作为输入送入CMAC参数整定网络,经计算后得出相应的PID参数的变化量( ),再将所得参数送入PID控制器,从而实现PID参数的自整定。PID参数自整定系统如图3所示。


图3 PID参数自整定控制系统

  在本CMAC神经网络中,获取系统误差特性曲线中的三个特征参数,每个特征参数根据表的划分,成为一个特征参数等级。当每个区域的特征参数大小都确定时,就组成了一个特征参数模式。当获取的特征值发生变化时,相应的模式也发生变化。因而本文建立的CMAC网络的输入是一个3个分量组成的向量,即选取的三个特征值(阻尼比 ,超调量百分比 ,衰减振荡周期 )也可称为特征参数模式。由于PID控制器需整定的参数为3个,所以,CMAC网络的输出为3个分量组成的向量。每一个元素与PID控制器中的一个待整定参数相对应。

3 CMAC神经网络的改进与实现[5]

  1)基函数的布置和总数


  2)高阶基函数

  当初始CMAC网络使用二值基函数时,它的输出是分段连续的,即在每个网格内是连续的,在输入轴节点处是间断的。要使网络有连续的输出,必须要求基函数的输出在其定义域的边界上为0。本设计中,用表示距离,表示单变量函数,采用无穷大泛数基函数实现连续输出。

  并利用无穷大泛数计算距离时,可以使基函数在定义域边界的输出为0,在定义域中心的输出为1/ρ。在一维情况下,其他输出值是在这两个极值间的线性插值。在二维输入空间中,基函数输出呈“金字塔”型。

  3)内存杂散技术

  CMAC网络对内存的需求量正比于 的指数倍,所以它是很大的。对高维输入 ,基函数的数量 可以由公式(5)近似地计算出来。由于要求基函数的数量要小于网格的数量(p<

  4 ) CMAC神经网络的编程实现

  CMAC神经网络的算法主要函数是由C语言编程实现的。本设计中的代码是在Visual C++平台上调试实现的。int allocate_cmac(int num_state, int *qnt_state, int num_cell, int memory, int field_shape, int collision_flag); allocate函数用指定的参数为CMAC网络在内存中分配空间。num_state是输入向量的维数; *qnt_state是指向 维数组的指针,这个数组定义了每一维输入向量的量化精度;num_cell是泛化系数ρ; memory占用内存空间的数量; field_shape设置基函数的类型;collision_flag训练冲突标记,若冲突发生返回TRUE,反之为FALSE。

  MATLAB中的编译与调用时,采用MEX技术来完成MATLAB中调用CMAC网络算法的C语言代码

4 CMAC神经网络训练

  CMAC神经网络的主要参数有:输入变量的量化精度、泛化参数以及基函数的种类。对CMAC神经网络的三个输入分别进行量化,阻尼比ζ分为23级,超调量百分比σ分为12个等级,衰减振荡周期Tc分为20个等级,共有23*12*20=5520种训练模式。

  在所有5520种训练模式中选取2000种,作为CMAC参数整定网络的选练样本。再在2000组特征参数模式中选取1620组特征参数模式作为训练集对网络进行训练。

  建立输入到物理存储空间的映射,同时建立了物理存储空间与输出的关系。泛化参数 选为32,学习算法采用了误差纠正算法。学习率β为0.6,采用样条函数SPLINE替代传统的ALBUS函数作为CMAC神经网络的基函数。ALBUS函数的输出只有0和1,因此输出的曲线分段连续,仅在内节点之间连续,在内节点的分界处往往是不连续的。而样条函数则可以较好的解决这个问题。相应的内存使用量为300。

      训练收敛后,权值体现了特征参数与PID控制器的待整定参数的关系。图4所示为CMAC神经网络对1620组特征参数模式的训练误差曲线。


图4 CMAC训练误差曲线
Fig.4 Training error curve of CMAC

  图5所示为1620组训练数据送入CMAC神经网络训练后,训练数据在各个误差区间中的个数,可看出超过90%的训练数据具有较高的误差精度,即误差精度<0.1。


图5 训练数据在各误差区间中的个数
Fig.5 Numbers of training data in different section of error

  把选取的2000种特征参数模块中剩下的380组作为测试集,对训练后的CMAC参数整定网络进行测试。输出的控制参数变化值与学习样本期望结果进行对比,错误率为7.8%,说明CMAC网络训练比较成功,具有一定的泛化能力。图6所示为CMAC神经网络的测试误差曲线。图7所示为测试数据在各误差区间中的个数。


图6 CMAC测试误差曲线
Fig.6 Testing error curve of CMAC

图7 测试数据在各误差区间中的个数
Fig.7 Numbers of testing data in different section of error

5 仿真结果

  选取被控对象为: ,原控制器对此对象的控制性能达到要求,阶跃扰动曲线如图8中线1所示。当进行PID参数自整定,整定后的响应曲线为图8中线2,把特征参量送入CMAC参数整定网络,整定后参数为。从仿真图中,我们可以看出PID参数的整定效果比较理想,且CMAC神经网络的达到稳定的训练时间也比较短。


图8 整定前后的响应曲线

6 结论

  仿真结果表明,CMAC神经网络的特性使其适合在PID参数自整定中使用。CMAC神经网络权值的调整是局部的,学习速度快,收敛性好,而且PID参数的整定效果也满足整定要求。文章的创新点:在基于模式识别的PID参数自整定系统中,直接利用CMAC网络获取整定规则,避免了传统的大量专家整定经验的建立。

关键字:CMAC神经网络  PID参数自整定  训练

编辑:金海 引用地址:http://www.eeworld.com.cn/gykz/2009/1203/article_2422.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
CMAC神经网络
PID参数自整定
训练

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved