最新控制系统综合课程设计切换系统的仿真精品版.docx
- 文档编号:371113
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:29
- 大小:253.59KB
最新控制系统综合课程设计切换系统的仿真精品版.docx
《最新控制系统综合课程设计切换系统的仿真精品版.docx》由会员分享,可在线阅读,更多相关《最新控制系统综合课程设计切换系统的仿真精品版.docx(29页珍藏版)》请在冰点文库上搜索。
最新控制系统综合课程设计切换系统的仿真精品版
2020年控制系统综合课程设计—切换系统的仿真精品版
有机化学试题及答案
教学设计与反思免费下载
数学工程问题
新时代的爱国主义
数字语文资源网
有理数的加减混合运算
数学方案问题
景山学校通州校区施工情况
数学与应用数学专业代码
教师名言
题目:
切换系统的仿真2
课程设计报告摘要3
1引言4
2一般控制系统4
2.1控制器的设计4
2.2仿真实例5
2.3改变参数对系统性能的影响6
2.3.1时滞环节对系统性能的影响7
2.3.2切换函数对系统性能的影响8
2.4状态观测器的设计10
2.4.1仿真实例10
3非线性系统11
3.1非线性切换系统的稳定性12
3.2改变参数对非线性系统性能的影响15
3.2.1时滞环节对系统性能的影响15
3.2.2切换函数对系统性能的影响17
3.3非线性系统的控制器设计17
3.3.1仿真实例18
4结论20
参考文献22
题目:
切换系统的仿真
问题描述:
利用Matlab软件仿真如下随机切换系统
1、一般控制系统:
«SkipRecordIf...»
其中x为状态,u为控制。
2、非线性系统:
«SkipRecordIf...»
要求:
(1)给出仿真程序,系统的状态曲线;
(2)改变参数,探索控制算法的设计及其性能。
课程设计报告摘要
摘要:
本文通过对两种切换系统的仿真,研究了切换系统的稳定性能。
第一章简单介绍了切换系统的定义以及其稳定性能的特点。
第二章通过对一般控制系统的仿真,探讨了状态反馈控制器的设计及对系统稳定性能的影响,改变时延函数,切换律,系统稳定性能的改变,最后引入了状态观测器来改善系统性能。
第三章也是通过分析与仿真,探讨切换函数的引入以及各参数对系统稳定性能的影响,最后还在系统里加入一个状态反馈控制器有效提高了系统稳定性能。
摘要切换系统稳定性能观测器控制器simulink仿真
1引言
切换系统是一个由一个系列的连续或离散的子系统以及协调这些子系统之间起切换的规则组成的混合系统。
关于切换系统最重要的研究是关于其稳定性能的研究,切换系统的稳定性具有三个基本问题:
对于任意切换序列系统的稳定性;对给定的某类切换序列系统的稳定性;构造使系统能够稳定的切换序列,即镇定问题。
切换系统的稳定性有一个显著的特点是,其子系统的稳定性不等于整个系统的稳定性,即可能存在这样的情形,切换系统的每个子系统的是稳定的,但是在按照规则进行切换时,会导致整个系统不稳定,与此相对,也可能存在这样的情形,尽管每个子系统是不稳定的,但是可以通过某种切换规则使整个系统稳定。
切换系统是非线性系统,即使每个子系统都是线性定常系统。
2一般控制系统
给定一般线性切换系统模型如下:
«SkipRecordIf...»
(1)
其中,«SkipRecordIf...»、«SkipRecordIf...»、«SkipRecordIf...»分别是第i个子系统的适当维数的矩阵,x∈«SkipRecordIf...»、u∈«SkipRecordIf...»分别为系统的状态和控制输入,σ:
[0,+∞]→k={1,2,…,m}是切换函数[1],τ(t)是一个延时环节。
本文研究的是一个基于二维状态变量共两个切换模式的线性切换系统。
2.1控制器的设计
切换系统是一个由一个系列的连续或离散的子系统以及协调这些子系统之间起切换的规则组成的混合系统。
切换系统的稳定性是切换系统分析研究的重点问题。
对于切换系统稳定性方面的研究,目前使用最广泛的一种方法是李雅普诺夫函数法。
其主要思想为:
对于切换系统,如果所含各子系统存在统一李雅普诺夫函数,那么系统对于任意的切换规则都是稳定的[2]。
徐启程[1]等人通过构造Lyapunov函数,设计出鲁棒状态反馈控制器u=«SkipRecordIf...»x,确保闭环系统在任意切换策略下是随机渐进稳定性。
对系统
(1)设状态反馈控制律为:
u=«SkipRecordIf...»x,则«SkipRecordIf...»,通过状态反馈形成的闭环系统如下:
«SkipRecordIf...»,«SkipRecordIf...»
(2)
2.2仿真实例
设系统
(2)有两个切换模式:
«SkipRecordIf...»=[-40;0-5];«SkipRecordIf...»=[-10;0-1];«SkipRecordIf...»=[0.2;0.1];«SkipRecordIf...»=[-4.10953.8660]
«SkipRecordIf...»=[-80;0-5];«SkipRecordIf...»=[-20;0-1];«SkipRecordIf...»=[0.1;0.1];«SkipRecordIf...»=[1.63421.0718]
设初始状态«SkipRecordIf...»=[-1;1],延时τ(t)=1s。
(1)搭建simulink模型。
图2.1系统
(1)simulink模型
(2)编写仿真程序,即在Function模块中编写状态方程以及切换函数。
functiony=fcn(x,x1)
%#codegen
A1=[-40;0-5];B1=[-10;0-1];D1=[0.2;0.1];K1=[-4.10953.8660];
A2=[-80;0-5];B2=[-20;0-1];D2=[0.1;0.1];K2=[1.63421.0718];
m=x
(1)*x
(2);
if(m>0.5)
A=A1;B=B1;D=D1;K=K1;
else
A=A2;B=B2;D=D2;K=K2;
end
u=K*x;y=A*x+B*x1+D*u;
这里选择切换函数«SkipRecordIf...»,当乘积大于0.5时,选择第一个子系统,否则选择第二个子系统。
(3)在matlab命令行窗口分别输入如下指令,得到仿真结果。
plot(simout.time,simout.signals.values);
x=simout.signals.values;plot(x(:
1),x(:
2),'-');
图2.2系统状态响应
图2.3系统状态轨迹
由图2.3可以看出,系统状态由初始状态趋向于0,快速稳定,系统性能良好。
2.3改变参数对系统性能的影响
在上述仿真实例中,影响系统性能的参数变量有延时时间,切换函数等,下面就对这两个参数分别进行讨论。
2.3.1时滞环节对系统性能的影响
对系统
(2)取如下参数:
«SkipRecordIf...»=[-410;-100-5];«SkipRecordIf...»=[-10;0-1];«SkipRecordIf...»=[0.2;0.1];«SkipRecordIf...»=[-4.10953.8660]
«SkipRecordIf...»=[-8100;-10-5];«SkipRecordIf...»=[-20;0-1];«SkipRecordIf...»=[0.1;0.1];«SkipRecordIf...»=[1.63421.0718]
分别取延时τ(t)为0.2s,0.4s,0.8s,仿真观察状态曲线:
图2.4延时0.2s时的状态响应和轨迹曲线
图2.5延时0.4s时的状态响应和轨迹曲线
图2.6延时0.8s时的状态响应和轨迹曲线
比较上面三组图得,在此时滞切换系统里,对于同一个系统,相同的控制器参数,当系统的时滞越小时,系统越快趋于稳定,振荡越小,性能越好。
所以,时滞的大小不仅影响着系统的动态品质,也影响着系统的稳定性能。
2.3.2切换函数对系统性能的影响
切换系统子系统的稳定性不代表整个系统的稳定性,即有可能每个子系统都是稳定的,但经过切换规则的选择导致整个系统不稳定,或者子系统都是不稳定的,但通过切换规则的选择,整个系统达到稳定。
因此切换规则的选择对于整个切换系统的稳定性有十分重要的作用,下面通过对系统
(2)进行不同切换规则下的仿真来验证这一点。
(1)对切换函数m取随机数«SkipRecordIf...»
functiony=fcn(x,x1)
%#codegen
A1=[-410;-100-5];B1=[-10;0-1];D1=[0.2;0.1];K1=[-4.10953.8660];
A2=[-8100;-10-5];B2=[-20;0-1];D2=[0.1;0.1];K2=[1.63421.0718];
m=rand
(1)*0.8+0.1;
if(m>0.5)
A=A1;B=B1;D=D1;K=K1;
else
A=A2;B=B2;D=D2;K=K2;
end
u=K*x;y=A*x+B*x1+D*u;
图2.7系统状态响应图2.8系统状态轨迹
(2)对切换函数m取对数«SkipRecordIf...»
functiony=fcn(x,x1)
%#codegen
A1=[-410;-100-5];B1=[-10;0-1];D1=[0.2;0.1];K1=[-4.10953.8660];
A2=[-8100;-10-5];B2=[-20;0-1];D2=[0.1;0.1];K2=[1.63421.0718];
m=log(x
(1)^2)-log(x
(2)^2);
if(m>0.5)
A=A1;B=B1;D=D1;K=K1;
else
A=A2;B=B2;D=D2;K=K2;
end
u=K*x;y=A*x+B*x1+D*u;
图2.9系统状态响应图2.10系统状态轨迹
(3)对切换函数m取指数«SkipRecordIf...»
functiony=fcn(x,x1)
%#codegen
A1=[-410;-100-5];B1=[-10;0-1];D1=[0.2;0.1];K1=[-4.10953.8660];
A2=[-8100;-10-5];B2=[-20;0-1];D2=[0.1;0.1];K2=[1.63421.0718];
m=exp(x
(1)+x
(2));
if(m>0.5)
A=A1;B=B1;D=D1;K=K1;
else
A=A2;B=B2;D=D2;K=K2;
end
u=K*x;y=A*x+B*x1+D*u;
图2.11系统状态响应图2.12系统状态轨迹
由上面三组图可得,不同切换函数对系统稳定性能影响极大,当切换函数为指数函数时,系统持续振荡,不会趋于稳定。
2.4状态观测器的设计
在控制系统的设计过程中,我们一般是设计各种满足一定性能指标的状态反馈控制器[3],然而在很多实际控制系统中,状态是不易测量的,从而状态反馈控制器在物理上难以实现。
解决这一问题的一个有效方法就是采用状态观测器来获得系统状态的估计值,设计出基于状态观测器的输出反馈控制器[4]。
文献[4]使用了线性矩阵不等式(LMI)来设计连续性不确定时滞系统的状态观测器。
对系统
(1)设计一个状态观测器:
«SkipRecordIf...»,«SkipRecordIf...»(3)
2.4.1仿真实例
(1)设系统
(2)有两个切换模式:
«SkipRecordIf...»,«SkipRecordIf...»,«SkipRecordIf...»,
«SkipRecordIf...»;
«SkipRecordIf...»,«SkipRecordIf...»,«SkipRecordIf...»,
«SkipRecordIf...»
设初始状态«SkipRecordIf...»=[0.8;0.7;-0.6],延时τ(t)=0.4s。
仿真结果如下:
图2.13系统状态响应和轨迹曲线
(2)加入状态观测器,系统仿真程序如下:
functiony=fcn(x,x1)
%#codegen
A1=[-1-111;-2-17;46-18];LC=[425.9-2088.1-240.1;-224.11194.5182.6;442.2-2147.3-219.5];
A=A1-LC;B=[600;4-91;-4-2-4];D=[-2;1;-4];K=[30.9590-134.6812-7.8113];
u=K*x;y=A*x+B*x1+D*u;
设初始状态«SkipRecordIf...»=[0.1;0.1;0.1]
图2.14观测器状态响应和轨迹曲线
3非线性系统
给定非线性系统模型如下:
«SkipRecordIf...»(4)
其中,«SkipRecordIf...»、«SkipRecordIf...»、«SkipRecordIf...»分别是第i个子系统的适当维数的矩阵,x∈«SkipRecordIf...»为系统的状态输入,σ:
[0,+∞]→k={1,2,…,m}是切换函数[1],d(t)是一个延时环节,g(x)为非线性环节。
本文研究的是一个基于死区特性函数的非线性切换系统。
3.1非线性切换系统的稳定性
切换系统的稳定性是研究的重点问题,下面通过实际的例子,给出各个子系统的状态曲线图,并与切换后的状态图进行比较,观察切换系统的作用。
(1)对系统(4)取如下参数:
«SkipRecordIf...»,«SkipRecordIf...»,«SkipRecordIf...»
«SkipRecordIf...»,«SkipRecordIf...»,«SkipRecordIf...»(5)
Simulink模型如下:
图3.1系统(4)simulink模型
仿真程序如下:
functiony=fcn(x,x1,x2)
%#codegen
A1=[-410;-100-5];B1=[-10;0-1];W1=[-0.82190.7732;-0.41100.3866];
A2=[-8100;-10-5];B2=[-20;0-1];W2=[0.16430.1072;0.16430.1072];
m=mean(x);
if(m>0)
A=A1;B=B1;W=W1;
else
A=A2;B=B2;W=W2;
end
y=A*x+B*x1+W*x2;
仿真结果如下:
图3.2子系统1的状态响应图3.3子系统1的状态轨迹
图3.4子系统2的状态响应图3.5子系统2的状态轨迹
图3.6切换系统的状态响应图3.7切换系统的状态轨迹
比较上面三组图得,子系统1振荡较大,趋于稳定慢,动态响应性能较差,加入切换系统后,稳定性能有所改善。
(2)对系统(4)取如下参数:
«SkipRecordIf...»=[-52;1-6];«SkipRecordIf...»=[-82;1-3];«SkipRecordIf...»=[00;00];
«SkipRecordIf...»=[-83;1-2];«SkipRecordIf...»=[-102;1-3];«SkipRecordIf...»=[-3.5-1.4;-21-8.4];
图3.8子系统1的状态响应图3.9子系统1的状态轨迹
图3.10子系统2的状态响应图3.11子系统2的状态轨迹
图3.12切换系统的状态响应图3.13切换系统的状态轨迹
比较上面三组图得,子系统2状态轨迹发散,系统不稳定,子系统1稳定,加入切换系统后,整个系统稳定,且动态响应性能良好。
3.2改变参数对非线性系统性能的影响
与一般控制系统一样,影响系统性能的参数变量有延时时间,切换函数等,下面就对这两个参数分别进行讨论。
3.2.1时滞环节对系统性能的影响
对系统(4)取如下参数:
«SkipRecordIf...»=[-40;0-5];«SkipRecordIf...»=[-10;0-1];«SkipRecordIf...»=[-0.82190.7732;-0.41090.3866]
«SkipRecordIf...»=[-80;0-5];«SkipRecordIf...»=[-20;0-1];«SkipRecordIf...»=[0.16340.1072;0.16340.1072]
对时滞环节,分别取常值延时和非线性延时,进行仿真。
(1)取常值延时,simulink模型如下:
图3.14常值延时下的simulink模型
仿真结果为:
图3.15常值延时下的状态响应图3.16常值延时下的状态轨迹
(2)取非线性延时,simulink模型如下:
图3.17非线性延时下的simulink模型
仿真结果为:
图3.18非线性延时下的状态响应图3.19非线性延时下的状态轨迹
比较上面两组图得,在此时滞非线性切换系统里,对于同一个系统,相同的控制器参数,非线性延时下的系统更快趋于稳定,振荡更小,性能更好。
所以,时滞的大小不仅影响着系统的动态品质,也影响着系统的稳定性能。
3.2.2切换函数对系统性能的影响
与一般控制系统一样,切换规则的选择对于整个切换系统的稳定性有十分重要的作用,下面通过对系统(5)进行不同切换规则下的仿真来验证这一点。
(1)对切换函数m取最小值«SkipRecordIf...»
functiony=fcn(x,x1,x2)
%#codegen
A1=[-410;-100-5];B1=[-10;0-1];W1=[-0.82190.7732;-0.41100.3866];
A2=[-8100;-10-5];B2=[-20;0-1];W2=[0.16430.1072;0.16430.1072];
m=min(x
(1),x
(2));
if(abs(m)>0.04)
A=A1;B=B1;W=W1;
else
A=A2;B=B2;W=W2;
end
y=A*x+B*x1+W*x2;
图3.20m取最小值时的状态响应图3.21m取最小值时的状态轨迹
把上述这组图与图3.6、3.7进行比较得,当切换规则选为状态量的最小值时,系统振荡更小,更快趋于稳定,系统动态响应性能更好。
3.3非线性系统的控制器设计
为了提高系统的稳定性能,考虑对非线性时滞切换系统设计一个状态反馈控制器«SkipRecordIf...»,文献[5]在基于连续时间切换时滞系统的有限时间镇定问题上设计了一个异步切换控制器使得闭环系统是有限时间稳定的。
对系统(4)增加一个状态反馈控制器«SkipRecordIf...»,则
«SkipRecordIf...»,«SkipRecordIf...»
«SkipRecordIf...»
3.3.1仿真实例
本节通过一个数值例子来验证增加一个状态反馈控制器对系统稳定性能的影响。
(1)对系统«SkipRecordIf...»考虑以下参数:
«SkipRecordIf...»,«SkipRecordIf...»,«SkipRecordIf...»;
«SkipRecordIf...»,«SkipRecordIf...»,«SkipRecordIf...»;
«SkipRecordIf...»,«SkipRecordIf...»;
«SkipRecordIf...»,«SkipRecordIf...»;
d(t)=0.05s,x(0)=[-0.5;0.1]。
Simulink模型如下:
图3.22无状态反馈控制的simulink模型
仿真程序如下:
①MatlabFunction模块中:
functiony=fcn(x)
%#codegen
A1=[157.8529241.2414;-217.2737-126.4228];B1=[0.2;0.6];
A2=[353.1349575.3646;-676.7944-280.4123];B2=[0.1;0.4];
m=mean(x);
if(m>0)
A=A1;B=B1;
g1=sin(x
(1))-1.12*sin(x
(2));
else
A=A2;B=B2;
g1=0.01*sin(x
(1));
end
y=A*x+B*g1;
②MatlabFunction1模块中:
functiony=fcn(x)
%#codegen
W1=[0.2;0.6];
W2=[0.1;0.4];
m=mean(x);
if(m>0)
W=W1;
g2=0.5*sin(x
(1))
else
W=W2;
g2=0.009*cos(x
(2))-0.009;
end
y=W*g2;
仿真结果如下:
图3.23无状态反馈控制时的状态轨迹
(2)引入状态反馈控制器«SkipRecordIf...»
对系统«SkipRecordIf...»考虑如下参数:
«SkipRecordIf...»,«SkipRecordIf...»;
«SkipRecordIf...»,«SkipRecordIf...»。
仿真程序如下:
①MatlabFunction模块中:
functiony=fcn(x)
%#codegen
A1=[157.8529241.2414;-217.2737-126.4228];B1=[0.2;0.6];D1=[11;11];K1=[-6.7901-0.9287;6.76380.9276]*10^4;
A2=[353.1349575.3646;-676.7944-280.4123];B2=[0.1;0.4];D2=[11;11];K2=[-0.87611.2754;0.5775-1.2213]*10^3;
m=mean(x);
if(m>0)
A=A1;B=B1;K=K1;D=D1;
g1=sin(x
(1))-1.12*sin(x
(2));
else
A=A2;B=B2;K=K2;D=D2;
g1=0.01*sin(x
(1));
end
u=K*x;y=A*x+B*g1+D*u;
②MatlabFunction1模块中与
(1)中一样。
仿真结果如下:
图3.24引入状态反馈控制器的状态轨迹
比较上述两图可得,引
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 控制系统 综合 课程设计 切换 系统 仿真 精品