
题 目: 基于RBF神经网络的模型参考自适应
学 院:
班 级:
学 号:
姓 名:
2015年1月5日
前言…………………………………………………………………………………………………1
前言
目前,在控制领域内,神经网络正稳步地发展,尤其是多层前馈神经网络。在神经网络MRAC (ModelReferenceAdaptive Controller)中,多层前馈神经网络一般用于对受控对象进行系统辨识,神经网络所选用算法进行系统辨识要快速、准确,以利于实时、精确控制。已经证明了只要神经元的数目足够大,则径向基网络能够在一个有限维赋范向量空间的紧集上以任意的精度逼近一个非线性函数(只要该非线性函数的性能足够好)。神经网络既可用于对动态系统的辨识也可用于对动态系统的控制。本研究给出了基于MRAC(模型参考自适应控制)的神经网络控制器,该控制器通过使用实际系统与参考模型系统之间的广义误差来调整其参数,控制器中的非线性部分通过RBF网络来实现,用于补偿系统的非线性部分。尽管神经网络能够以任意精度逼近一个非线性函数,但总是存在一定的逼近误差,而对于逼近误差对控制系统所产生的影响,却很少有人讨论,本研究基于Lyapunov稳定性分析,给出了神经网络的参数修正律,并根据神经网络的逼近误差给出了控制误差的估计;用于在线训练RBF神经网络所采用学习规则是R型(R-modi-fication-type)修正律,控制误差渐近收敛于0附近的一个紧集。
针对一类非线性动态系统给出了一种基于RBF(径向基函数)神经网络的模型参考自适应控制算法,控制器的结构中使用RBF网络来动态的补偿系统的非线性性。仿真实例说明了所给出的算法切实可行。
1. 邻聚类算法的RBF神经网络
设有N对输入-输出数据对k=1,2,,,N, 可以构造一个RBF神经网络,它能将这N对数据拟合到任意给定的精度。RBF网络隐单元输出为:
(1)
式中,x是输入矢量; 是第i个隐单元的输出; 是第i个隐单元高斯函数的中心;R是高斯函数的半径。在线学习RBF神经网络的学习过程如下:(1)选择一个适当的半径R,其大小决定了网络的复杂程度,R是一个一维参数,可通过实验和误差信息找到一个适当的值。定义一个矢量S(l)用于存放属于各类的输出矢量之和,定义一个计数器CT(l)用于统计属于各类的样本个数,其中l为类别数。
在线学习RBF神经网络的学习过程如下:
(1)选择一个适当的半径R,其大小决定了网络的复杂程度,R是一个一维参数,可通过实验和误差信息找到一个适当的值。定义一个矢量S(l)用于存放属于各类的输出矢量之和,定义一个计数器CT(l)用于统计属于各类的样本个数,其中l为类别数
(2)从第一个数据对开始,在上建立一个聚类中心,令=, S(1)= , CT(1)=1。这样建立的RBF网络只有一个隐单元,该隐单元的中心为,该隐单元到输出层的权矢量为。
(3)考虑第2个样本数据对 ,求出到这个聚类中心的距离。如果,则为的最近邻聚类,且令S(1) = +,CT(1) =2,= S(1) /CT(1);如果 别求出到这个聚类中心的距离| -|,i =1,2,,, ,设| -|为这些距离中的最小距离,即为的最近邻聚类,则: 如果| -|>R,则将作为一个新聚类中心,并令 =,= ,S() = ,CT() =1。且保持S(i),CT(i)的值不变,i =1,2,,, -1。在上述建立的RBF网络中再添加第个隐单元,该隐单元到输出层的权矢量为= S() /CT()。 如果 (5)根据上述规则建立的在线学习RBF神经网络如图1所示,网络输出为 (2) 2. RBF神经网络的函数逼近理论 设有N对输入-输出数据对(,),k=1,2,,,N,我们可以构造一个在线学习RBF神经网络,它能将这N对数据拟合到任意给定的精度,有如下定理可以证明这一结论。定理 对任意给定的E>0,存在一个R*使得在线学习RBF神经网络在R=时有: (3) 对所有l =1,2,,,N都成立。 图1 RBF神经网络示意图 证明 设为的最近邻聚类,在线学习RBF神经网络输出如式(4)所示。 = = (4) 式中i=1,2,,, ,当i>j时,必有>,对于E>0和任意i,这里的i>j,i =1,2,,, 都能通过适当选择值,使得=时,exp(-)=。当i = j时,能通过适当选择值,使得当=,|-|=,exp(-)=,S(j) /CT(j)=。根据这个结果和式(4)就可以得到如下结论:对所有k=1,2,,,N,一定存在一个值,使得在R=时,满足。 3. RBF神经网络的控制系统设计 图3.1神经网络的模型参考自适应控制系统框图。 图 3.1 基于RBF神经网络的模型参考自适应控制系统 取离散被控对象为 其中,采样周期为,参考模型为,理想跟踪指令为。 取RBF神经网络的输入为、和,在学习速率为动量因子为。 高斯函数参数初值为,,网络初始权值为。 4. 仿真结果 仿真程序见附录,仿真结果如图 3.2与图3.3所示。 图3.2 正弦跟踪 图3.3 控制输入 5. 结语 本研究针对一类非线性动态系统设计了一种基于神经网络的模型参考自适应控制器。神经网络选择在获得系统期望的动态响应和跟踪效果方面起着非常重要的作用,一般要求所选用的神经网络的学习算法具有快速有效的功能,以满足实时控制、适应对象和环境变化的需要。本文提出了一种基于最近邻聚类算法的在线学习RBF神经网络,该算法克服传统前馈神经网络学习算法的缺点,计算量小、跟踪时间短,能在线学习且网络收敛精度高。仿真结果说明本文方法的有效性。与其他传统的设计方法相比,本研究在设计过程中考虑了神经网络的学习误差,设计更为合理,仿真实例说明了算法的实际可行性。本研究所给出的证明方法同样可用于讨论其它的神经网络控制问题,但关于该神经网络自适应控制的鲁棒性还有待进一步研究。 6. 附录 %Model Reference Aapative RBF Control clear all; close all; u_1=0; y_1=0; ym_1=0; x=[0,0,0]'; c=[-3 -2 -1 0 1 2 3; -3 -2 -1 0 1 2 3; -3 -2 -1 0 1 2 3]; b=2; w=rands(1,7); xite=0.35; alfa=0.05; h=[0,0,0,0,0,0,0]'; c_1=c;c_2=c; b_1=b;b_2=b; w_1=w;w_2=w; ts=0.001; for k=1:1:3000 time(k)=k*ts; yd(k)=0.50*sin(2*pi*k*ts); ym(k)=0.6*ym_1+yd(k); y(k)=(-0.1*y_1+u_1)/(1+y_1^2); %Nonlinear plant for j=1:1:7 h(j)=exp(-norm(x-c(:,j))^2/(2*b^2)); end u(k)=w*h; ec(k)=ym(k)-y(k); dyu(k)=sign((y(k)-y_1)/(u(k)-u_1)); d_w=0*w; for j=1:1:7 d_w(j)=xite*ec(k)*h(j)*dyu(k); end w=w_1+d_w+alfa*(w_1-w_2); %Return of parameters u_1=u(k); y_1=y(k); ym_1=ym(k); x(1)=yd(k); x(2)=ec(k); x(3)=y(k); w_2=w_1;w_1=w; end figure(1); plot(time,ym,'r',time,y,'k:','linewidth',2); xlabel('time(s)');ylabel('ym,y'); legend('Ideal position signal','Tracking position signal'); figure(2); plot(time,u,'r','linewidth',2); xlabel('time(s)');ylabel('Contr
