m基于RBF和模糊控制的smith控制器simulink仿真

158 阅读6分钟

1.算法仿真效果

matlab2022a仿真结果如下:

6d5828386208b756044a8b5df443fa81_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要

        Smith控制器是一种广泛应用于工业控制和自动化领域的经典控制算法。它通过引入一个延迟时间来补偿系统的时间滞后效应,从而提高系统的稳定性和控制性能。然而,传统的Smith控制器往往依赖于系统模型的精确性和参数的准确性,容易受到外部干扰和模型误差的影响,导致控制精度和鲁棒性较差。为了克服这些问题,一些研究者提出了基于RBF和模糊控制的Smith控制器。本文将详细介绍该算法的数学原理和实现过程。

 

1、基于RBF和模糊控制的Smith控制器的数学原理

RBF神经网络

       RBF神经网络是一种常用的人工神经网络,具有较强的非线性逼近能力和泛化能力。其基本结构包括输入层、隐含层和输出层。其中,隐含层的神经元数目通常比较少,且每个神经元都带有一个径向基函数(RBF),用于对输入数据进行非线性映射和特征提取。常用的径向基函数包括高斯函数、多项式函数和大津函数等,其中高斯函数最为常用,其数学表达式如下:

1a88c64c42af736970806d9e40eee16f_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

      其中,xx 是输入数据,cc 是径向基函数的中心向量,σ\sigma 是径向基函数的宽度参数,用于控制函数的变化速率和曲线的平滑程度。

 

模糊控制

      模糊控制是一种基于模糊逻辑的控制方法,它能够有效地处理复杂的非线性系统和模糊的输入输出关系。其基本思想是将输入和输出映射到一组模糊集合中,并通过一组模糊规则来实现对系统的控制。模糊规则通常采用IF-THEN形式,如下所示:

 

IF xx is AA THEN yy is BB

 

      其中,xxyy 分别代表输入和输出变量,AABB 分别代表模糊集合,用于描述输入输出变量的模糊特征。模糊集合通常采用三角形或梯形函数等形式来表示。

 

基于RBF和模糊控制的Smith控制器

       基于RBF和模糊控制的Smith控制器是一种结合了RBF神经网络和模糊控制的控制算法。其基本思想是利用RBF神经网络学习系统的输入输出数据,通过训练优化神经网络的权重系数和中心向量,从而实现对系统的精确控制;同时利用模糊控制器构建模糊规则,通过模糊推理实现对系统的鲁棒控制。具体来说,该算法的控制器输出可以表示为:

bfb5f5706b105d933a4f7e67c9078388_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png  

该控制器能够充分发挥RBF神经网络和模糊控制的优势,实现对系统的高精度鲁棒控制。

 

2、基于RBF和模糊控制的Smith控制器的实现过程

数据采集和预处理

      首先需要采集系统的输入输出数据,并对数据进行预处理,包括去除噪声、归一化和降维等操作。预处理后的数据可以作为RBF神经网络的输入和输出数据。

 

RBF神经网络的训练

      将预处理后的数据用于训练RBF神经网络,通过优化神经网络的权重系数和中心向量,让神经网络能够学习系统的输入输出特征。训练过程通常采用误差反向传播算法(BP算法)或最小二乘法等方法,具体实现可参考相关文献。

 

模糊控制器的设计

      根据系统的特性和控制要求,构建一组模糊规则,用于描述输入输出之间的模糊关系。模糊规则的设计需要考虑到系统的非线性程度和控制精度等因素,通常需要经过多次试验和优化,并结合专家经验进行调整和优化。

 

前馈控制器和反馈控制器的设计

      根据系统的传递函数和控制要求,设计前馈控制器和反馈控制器的传递函数,并确定比例、积分和微分系数。控制器的设计需要考虑到系统的响应速度和稳定性等因素,通常需要经过多次试验和优化,并结合专家经验进行调整和优化。

 

控制器的实现和调试

     将前面设计好的控制器实现到硬件或软件平台上,并进行调试和优化。调试过程需要根据实际情况对控制器的参数进行调整和优化,以达到最佳的控制效果。调试过程中,可以通过监测系统的输入输出数据和控制误差等指标,来评估控制器的性能和稳定性,并根据需要进行调整和优化。

 

实验验证和应用

    最后,可以通过实验验证和应用来评估控制器的性能和适用性。实验验证可以采用仿真模拟或实际系统测试等方式,通过对系统的输入输出数据进行监测和分析,来评估控制器的精度和鲁棒性。应用方面,可以将控制器应用于实际工业控制和自动化系统中,来提高系统的控制性能和稳定性。

 

3、总结

      基于RBF和模糊控制的Smith控制器是一种结合了RBF神经网络和模糊控制的控制算法,具有高精度和鲁棒性等优点,在工业控制和自动化领域得到广泛应用。该算法的实现过程包括数据采集和预处理、RBF神经网络的训练、模糊控制器的设计、前馈控制器和反馈控制器的设计、控制器的实现和调试、实验验证和应用等步骤。控制器的设计和调试需要结合实际情况和专家经验进行优化和调整,以达到最佳的控制效果和稳定性。

 

3.MATLAB核心程序

c0f05b8a7ce327d1599618c3dbc2f048_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

eaed0851d04f0144607e22002cfdd452_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

`str=[];

ts=[];

c1=12/3*[-5 -4 -3 -2 -1 0 1 2 3 4 5];

c2=16/3*[-5 -4 -3 -2 -1 0 1 2 3 4 5];

c=[c1;c2];

b=5;

function sys=mdlDerivatives(t,x,u)

global c b

y  = u(1);

ut = u(2);

x1p= u(1);

x2p= u(2);

 

xp=[x1p x2p]';

yp=x2p;

ye=y-yp;

h=zeros(11,1);

for j=1:1:11

    h(j)=exp(-norm(xp-c(:,j))^2/(2*b^2));

end

h_bar=x(23:1:33);

F1=1*eye(11);

F2=0.5*eye(11);

k1=0.001;k2=0.001;

W1=[x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8) x(9) x(10) x(11)];

W2=[x(12) x(13) x(14) x(15) x(16) x(17) x(18) x(19) x(20) x(21) x(22)];

dW1=F1h_barye    - k1F1abs(ye)*W1';

dW2=F2h_baryeut - k2F2*abs(ye)*W2';

for i=1:1:11

    sys(i)=dW1(i);

    sys(i+11)=dW2(i);

end

for i=23:1:33

    sys(i)=h(i-22)-0.5*x(i);

end

function sys=mdlOutputs(t,x,u)

global c b

W1=[x(1) x(2) x(3) x(4) x(5) x(6) x(7) x(8) x(9) x(10) x(11)];

W2=[x(12) x(13) x(14) x(15) x(16) x(17) x(18) x(19) x(20) x(21) x(22)];

h_bar=x(23:1:33);

fxp=W1*h_bar;

gxp=W2*h_bar;

sys(1)=fxp;

sys(2)=gxp;

sys(3)=[fxp-gxp];

if sys(1)>=0.0025

   sys(1)=0.0025;

end

if sys(1)<=-0.0025

   sys(1)=-0.0025;

end

if sys(2)>=0.0025

   sys(2)=0.0025;

end

if sys(2)<=-0.0025

   sys(2)=-0.0205;

end

if sys(3)>=0.0025

   sys(3)=0.0025;

end

if sys(3)<=-0.0025

   sys(3)=-0.0025;

end`