-
2021-04-19 07:19:59
专家PID控制系统Matlab仿真
摘要:分析了一个速度控制器的控制仿真。其传递函数为:
使用专家PID控制系统,输入信号为阶跃信号,取采样时间为1ms,画出阶跃响应曲线和误差变化曲线。
0引言
专家控制(Expert Control)的实质是基于受控对象和控制规律的各种知识,并以智能的方式利用这些知识来设计控制器。利用专家经验来设计PID参数便构成专家PID控制。
典型的二阶系统单位阶跃响应误差曲线如图1、2所示。对于典型的二阶系统阶跃响应过程作如下分析,根据误差及其变化,可设计专家PID控制器,该控制器可分为五种情况进行设计。
1设计
根据误差及其变化,可设计专家PID控制器,该控制器可分为以下五种情况进行设计:
(1)当时,说明误差的绝对值已经很大,不论误差变化趋势如何,都应考虑控制器的输出应按最大〔或最小)输出,以达到迅速调整误差,使误差绝对值以最大速度减小。此时,它相当于实施开环控制。
(2)当时,说明误差在朝误差绝对值增大方向变化,或误差为某一常值,未发生变化。此时,如果,说明误差也较大,可考虑由控制器实施较强的控制作用,以达到扭转误差绝对值朝减小方向变化,并迅速减小误差的绝对值。此时,如果,说明尽管误差朝绝对值增大方向变化,但误差绝对值本身并不很大,可考虑控制器实施一般的控制作用,只要扭转误差的变化趋势,使其初误差绝对值减小方向变化。
(3)当,或时,说明误差的绝对值朝减小的方向变化,或者已经达到平衡状态。此时,可考虑采取保持控制器输出不变。
(4)当,时,说明误差处于极值状态。如果此时误差的
绝对值较大,可考虑实施较强的控制作用。
(5)当时,说明误差的绝对值很小,此时加入积分,减少稳态误差。
2仿真图
图1 阶跃响应曲线
图2 误差曲线
3程序
%Expert PID Controller
clear all;
close all;
ts=0.001;
sys=tf(5.235e005,[1,87.35,1.047e004,0]);
dsys=c2d(sys,ts,'z');
[num,den]=tfdata(dsys,'v');
u_1=0.0;u_2=0.0;u_3=0.0;
y_1=0;y_2=0;y_3=0;
x=[0,0,0]';
x2_1=0;
kp=0.6;
ki=0.03;
kd=0.01;
error_1=0;
for k=1:1:500
time(k)=k*ts;
rin(k)=1.0; %Tracing Jieyue Signal
u(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID Controller
%Expert control rule
if abs(x(1))>0.8 %Rule1:Unclosed control firstly
u(k)=0.45;
elseif abs(x(1))>0.40
u(k)=0.40;
elseif abs(x(1))>0.20
u(k)=0.12;
elseif abs(x(1))>0.01
u(k)=0.10;
end
if x(1)*x(2)>0|(x(2)==0) %Rule2
if abs(x(1))>=0.05
u(k)=u_1+2*kp*x(1);
else
u(k)=u_1+0.4*kp*x(1);
end
end
if (x(1)*x(2)<0&x(2)*x2_1>0)|(x(1)==0) %Rule3
u(k)=u(k);
end
if x(1)*x(2)<0&
更多相关内容 -
一个专家控制系统的Matlab程序实现.pdf
2021-10-31 22:53:30一个专家控制系统的Matlab程序实现.pdf -
专家PID控制matlab程序
2022-04-17 10:42:10专家PID控制是一种直接型专家控制器。 典型的二阶系统单位阶跃响应误差曲线如图2一5所示。 令e(k)表示离散化的当前采样时刻的误差值,e(k-1),e(k-2)分别表示前一个和前两个采样时刻的误差值,则有 施,相当于...专家PID控制matlab程序
1 专家PID控制
专家PID控制的实质是:基于受控对象和控制规律的各种知识,无须知道被控对象的精确模型,利用专家经验来设计PID参数。专家PID控制是一种直接型专家控制器。
典型的二阶系统单位阶跃响应误差曲线如图2一5所示。
令e(k)表示离散化的当前采样时刻的误差值,e(k-1),e(k-2)分别表示前一个和前两个采样时刻的误差值,则有
施,相当于实施开环控制;II,IV,VI,…区域,误差绝对值朝增大的方向变化,此时,可根据误差的大小分别实施较强或一般的控制作用,以抑制动态误差。2 实例状态
求三阶传递函数的阶跃响应
其中采样时间间隔为1ms。
3 仿真结果
1)轨迹跟踪
2)实时误差
4 matlab程序%% 专家PID控制 clc clear close all; ts=0.001; sys=tf(5.235e005,[1,87.35,1.047e004,0]); %Plant dsys=c2d(sys,ts,'z'); [num,den]=tfdata(dsys,'v'); u_1=0;u_2=0;u_3=0; y_1=0;y_2=0;y_3=0; x=[0,0,0]'; x2_1=0; kp=0.6; ki=0.03; kd=0.01; error_1=0; for k=1:1:500 time(k)=k*ts; r(k)=1.0; %目标轨迹 u(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID 控制器 %专家控制规则 %规则1 if abs(x(1))>0.8 %Rule1:Unclosed control rule u(k)=0.45; elseif abs(x(1))>0.40 u(k)=0.40; elseif abs(x(1))>0.20 u(k)=0.12; elseif abs(x(1))>0.01 u(k)=0.10; end 。。。。。。略
-
matlab模糊PID控制和专家PID控制
2021-10-07 00:27:37基于自适应模糊补偿的倒立摆PD控制\基于模糊规则表的模糊PD控制 -
基于Matlab的控制系统仿真实例
2021-04-22 14:19:02以弹簧自身质量不可忽略的阻尼器系统为例,通过Matlab的Control System Toolbox讲解控制系统的仿真,设弹簧控制系统的框图如下: 取m=1,k=1,c=2。1、建立传递函数:m=1;k=1;c=2;G1=tf(1,[1,0]);H=tf(k,[m,c]);ph=...以弹簧自身质量不可忽略的阻尼器系统为例,通过Matlab的Control System Toolbox讲解控制系统的仿真,设弹簧控制系统的框图如下:
取m=1,k=1,c=2。
1、建立传递函数:
m=1;k=1;c=2;
G1=tf(1,[1,0]);
H=tf(k,[m,c]);
ph=feedback(G1,H);
G2=tf(1,[m,c]);
syst=G2*ph;%传递函数
[A,B,C,D]=ssdata(syst);
syss=ss(A,B,C,D);%或syss=ss(syst) %状态空间表达式
syszp=zpk(syst);%零-极-增益模型
2、系统响应
t=0:.2:15;
y=impulse(syss,t);%冲激响应
figure(1)
plot(t,y,'r'),grid
y=step(syss,t);%阶跃响应
figure(2)
plot(t,y,'r'),grid
t=0:0.01:5;%自定义输入响应
u=sin(t);
lsim(syss,u,t)
%系统对由u和t描述的自定义输入信号的响应。对MIMO系统,u是一个矩阵,第i行是输人信号在T(i)时刻的值
3、留数定理
disp('Residue Form')
[num,den]=tfdata(syst);
num=num{1};den=den{1};%将元胞数组转化成向量
[r,p,k]=residue(num,den)
disp('hit any key to continue'),pause4、频域仿真
w=logspace(-2,2,100);%定义频率的对数区间
[re,im]=nyquist(syss,w);%state space形式,w可省略
re1=re(:);im1=im(:);
g=re1+i*im1;
mag=20*log10(abs(g));%幅值
phase=angle(g)*180/pi;%相角
semilogx(w,mag,'b') %%幅值曲线
semilogx(w,phase,'b'),grid %相角曲线
nyquist(systf),grid %绘制奈奎斯特图,或者用plot(re1,im1)
暂时到这吧,日后有需要再更新。。。
-
基于自适应模糊补偿的倒立摆PD控制以及专家PID控制matlab仿真 +代码操作视频
2022-06-01 21:01:051.领域:matlab,基于自适应模糊补偿PD控制算法和专家PID控制算法 2.内容:基于自适应模糊补偿的倒立摆PD控制以及专家PID控制matlab仿真 +代码操作视频 3.用处:用于基于自适应模糊补偿PD控制算法和专家PID控制... -
matlab-采用专家PID控制算法,这个算法名字叫做专家算法,审核的人仔细看
2022-05-13 18:43:29专家PID控制就是基于被控对象和控制规律的各种知识,而不需要知道被控对象的精确模型,利用专家经验来设计PID参数。 答1疑2咨3询4企q鹅q号:1762016542 3、仿真分析 %Expert PID Controller clear all; close all;...1、内容简介
略
2、内容说明专家PID控制就是基于被控对象和控制规律的各种知识,而不需要知道被控对象的精确模型,利用专家经验来设计PID参数。
3、仿真分析
%Expert PID Controller
clear all;
close all;
ts=0.001;sys=tf(5.235e005,[1,87.35,1.047e004,0]);
dsys=c2d(sys,ts,'z');
[num,den]=tfdata(dsys,'v');
u_1=0.0;u_2=0.0;u_3=0.0;
y_1=0;y_2=0;y_3=0;x=[0,0,0]';
x2_1=0;kp=0.6;
ki=0.03;
kd=0.01;
Kp=0.6;
Ki=0.03;
Kd=0.01;
error_1=0;
for k=1:1:200
time(k)=k;
rin(k)=1.0; %Tracing Jieyue Signalu(k)=kp*x(1)+kd*x(2)+ki*x(3); %PID Controller
%Expert control rule
if abs(x(1))>0.8 %Rule1:Unclosed control firstly
u(k)=0.45;
elseif abs(x(1))>0.40
u(k)=0.40;
elseif abs(x(1))>0.20
u(k)=0.12;
elseif abs(x(1))>0.01
u(k)=0.10;
endif x(1)*x(2)>0|(x(2)==0) %Rule2
if abs(x(1))>=0.05
u(k)=u_1+2*kp*x(1);
else
u(k)=u_1+0.4*kp*x(1);
end
end
if (x(1)*x(2)<0&x(2)*x2_1>0)|(x(1)==0) %Rule3
u(k)=u(k);
endif x(1)*x(2)<0&x(2)*x2_1<0 %Rule4
if abs(x(1))>=0.05
u(k)=u_1+2*kp*error_1;
else
u(k)=u_1+0.6*kp*error_1;
end
endif abs(x(1))<=0.001 %Rule5:Integration separation PI control
u(k)=0.5*x(1)+0.010*x(3);
end%Restricting the output of controller
if u(k)>=10
u(k)=10;
end
if u(k)<=-10
u(k)=-10;
end%Linear model
yout(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(1)*u(k)+num(2)*u_1+num(3)*u_2+num(4)*u_3;
error(k)=rin(k)-yout(k);%----------Return of PID parameters------------%
u_3=u_2;u_2=u_1;u_1=u(k);
y_3=y_2;y_2=y_1;y_1=yout(k);
x(1)=error(k); % Calculating P
x2_1=x(2);
x(2)=(error(k)-error_1)/ts; % Calculating D
x(3)=x(3)+error(k)*ts; % Calculating Ierror_1=error(k);
end
figure(1);
plot(time,rin,'b',time,yout,'r');
xlabel('time(s)');ylabel('rin,yout');sys=tf(5.235e005,[1,87.35,1.047e004,0]);
PID = tf([kd kp ki],[1 0]);
sys_1 = feedback(sys*PID,1);
figure
step(sys_1,200*ts)
% figure(2);
% plot(time,rin-yout,'r');
% xlabel('time(s)');ylabel('error');
4、参考论文略
-
智能系统控制 PID控制器和专家PID控制器的控制效果对比实验 matlab实现
2021-12-16 19:13:24代码清晰有详细注释!可直接运行! 通过matlab模拟仿真PID控制系统和专家PID控制系统,对各参量单独变化对系统控制作用的影响进行讨论,得出结论。专家PID程序五条规则与算法五种情况对应。 -
基于MATLAB的温室温度模糊专家控制仿真研究.pdf
2021-10-31 21:51:31基于MATLAB的温室温度模糊专家控制仿真研究.pdf -
PID专家控制matlab仿真
2019-09-10 18:34:50PID专家控制matlab仿真 一、实验目的 使用matlab针对某二阶或三阶系统,结合专家控制规则,设计相应的专家PID控制器,使得其闭环系统能快速跟踪阶跃信号。 (1)画出闭环输出响应,误差响应曲线; (2)画出... -
毕业设计-基于Matlab的专家PID控制在快速系统中的仿真及应用.pdf
2020-10-01 08:56:26本科毕业论文 设计 论文 设计题目 专家PID 控制在快速系统中的仿真及应用 学 院 专 业 班 级 学 号 学生姓名 指导教师 2010 年 06 月 07 日 贵州大学本科毕业论文 设计 诚信责任书 本人郑重声明本人所呈交的毕业论文... -
专家PID控制Matlab仿真
2021-01-22 13:11:52专家PID控制,专家PID控制不同于常规意义下的PID控制,是专家经验与PID控制算法的结合,是基于PID控制器的智能化优化。 专家PID控制就是基于被控对象和控制规律的各种知识,而不需要知道被控对象的精确模型,利用... -
模糊PID控制和专家PID控制matlab仿真程序
2013-01-14 21:21:01倒立摆稳定的PID控制 自营模糊补偿的倒立摆PD控制 模糊自适应控制 -
基于MATLAB的空调系统专家PID控制的建模与仿真
2021-04-22 00:58:27基于 MA TLAB 的空调系统专家PID 控制的建模与仿真 天津大学 曹国庆 ☆ 涂光备 安大伟 娄承芝 摘要 以一个典型的空调系统为研究对象 ,建立了空调房间的简化数学...关键词 空调系统 专家控制 PID 控制 计算机仿真 ... -
matlab代码_matlab_专家PID_
2021-10-03 16:17:12基于matlab的PID和专家PID控制,用于工业控制过程 -
专家PID的控制算法-MATLAB实现
2020-08-07 10:09:20PID专家控制的实质,是基于受控对象和控制规律的各种知识,利用专家经验设计一些规则并结合的PID参数进行控制,无需知道被控对象的精确模型。 控制对象设置 采用专家控制对一个3阶的传递函数进行控制,Gp(s)=... -
基于Matlab的倒立摆系统实时模糊控制研究
2021-02-01 06:22:04研制出一种低成本、高可靠性和高稳定性的倒立摆硬件系统,同时提出一种专家模糊控制策略以及基于Matlab的实时控制途径。采用模糊组合变量来减少模糊规则数,并根据摆角来选择不同模糊规则库从而提高控制性能。用... -
一个专家控制系统的Matlab程序实现
2021-04-19 07:20:00一个专家控制系统的Matlab程序实现梁洁【期刊名称】《微计算机信息》【年(卷),期】2007(000)05X【摘要】本文首先简述基于粗集方法的专家控制系统的基本构成、知识表达方式及学习推理方法,通过研究导师的知识与学习者... -
电加热炉温专家PID控制算法的设计及仿真研究
2018-10-12 17:46:45其次,针对电加热炉炉温控制系统的非线性、迟滞性等问题,传统PID控制器存在参数整定困难等问题,搭建普通PID和专家PID控制器两种控制器的模型,采用MATLAB建模仿真分析,利用采用本文的专家系统PID模型进行仿真分析... -
先进PID控制MATLAB仿真
2018-07-04 09:26:18全书共分14章,包括基本的PID控制、PID控制器的整定、时滞系统的PID控制、基于微分器的PID控制、基于观测器的PID控制、自抗扰控制器及其PID控制、PD鲁棒自适应控制、模糊PD控制和专家PID控制、神经PID控制、基于遗传... -
模糊控制matlab主程序
2017-09-13 11:24:36这种控制方法既保持了基于规则方法的价值和用模糊集处理带来的灵活性,同时把专家系统技术的表达与利用知识的长处结合起来,能够处理更广泛的控制问题。模糊控制以现代控制理论为基础,同时与自适应控制技术、人工... -
matlab仿真 无刷直流电机双闭环控制系统 程序源码.zip
2022-02-04 22:06:40资源名:matlab仿真 无刷直流电机双闭环控制系统 程序源码.zip 资源类型:程序源代码 源码说明: 基于matlab的无刷直流电机双闭环控制系统仿真程序,包含转速外环、电流内环,包含完整源码和注释 非常适合借鉴学习 ... -
matlab智能控制课件及程序刘金琨-第2章.ppt
2019-08-13 10:40:23第二章 专家控制 第三章 模糊控制理论基础 第四章 模糊控制 第五章 自适应模糊控制 第六章 神经网络基础 第七章 典型神经网络 第八章 高级神经网络 第九章 神经网络控制 第十章 遗传算法 -
先进PID控制MATLAB仿真电子书及配套光碟-先进PID控制MATLAB仿真光盘.rar
2019-08-14 19:34:12专家PID和模糊PID控制;神经PID控制;遗传算法PID控制;多变量PID控制;几种先进的PID控制;灰色PID控制;伺服系统PID控制;机器人的PID控制;PID实时控制。 随书光盘以前好象有了,但电子书好象还没有,... -
先进PID控制MATLAB(第3版)仿真程序
2017-10-08 22:22:49包括基本的PID控制、PID控制器的整定、时滞系统PID控制、基于微分器的PID控制、基于观测器的PID控制、自抗扰控制器及其PID控制、PD鲁棒自适应控制、专家PID控制和模糊PD控制、神经网络PID控制、基于差分进化的PID... -
毕业设计基于Matlab的专家PID控制在快速系统中的仿真及应用.doc
2021-12-06 17:51:13毕业设计基于Matlab的专家PID控制在快速系统中的仿真及应用.doc -
matlab编程如何专家PID控制二自由度机械臂的正弦跟踪
2021-04-22 00:57:25Completed has driven the type hydraulic servo straight the design, used Matlab for the system to make the step signal response, as well as different frequency, different inertial load sine signal ... -
模糊PID控制程序源代码算法 模糊PID液位控制系统的设计与实现 ...模糊PID控制和专家PID控制matlab仿真程序
2022-03-17 22:06:21模糊PID控制程序源代码算法Matlab/STM32/simulink/LabVIEW 1、基于Matlab的模糊自适应PID控制器仿真研究源代码(传统PID在对象变化时,控制器 的参数难以自动|但整。将模糊控制与PID控制结合,利用模糊推理方法实现... -
模糊控制系统的MATLAB实现
2021-04-24 13:51:28基于MATLAB 的模糊控制器设计及仿真专业:学号:姓名:控制科学与工程 [1**********]7 许兴培摘 要在深入了解系统的基础上针对传统控制精度不高、系统稳定性差的问题进行创新和探索研究详细介绍了模糊控制原理和实现... -
matlab模糊控制工具箱使用和模糊控制pid实例参考
2019-02-28 13:26:17Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便。...