当前位置:首页 > 专题范文 > 公文范文 >

现代控制工程课程设计

时间:2023-01-07 08:10:03 来源:网友投稿

现 代 控 制 工 程 课 程 设 计 目 录 一、 设计目的及要求 1 设计目的 1 设计要求 1 二、状态空间方程建立 1 三、倒置摆的状态空间模型 2 四、模型特性分析 3 1.可控性分析 3 2. 可观性分析 3 3.稳定性分析 4 4.MATLAB仿真求解 4 五、倒置摆系统的综合及仿真分析 5 五、全维状态观测器的设计及仿真分析 8 六、参考文献 13 一、 设计目的及要求 设计目的 1、通过课程报告加深理解现代控制理论中的一些基本概念;

2、掌握用状态方程描述的线性系统的稳定性、能控性、能观性的分析计算方法;

3、掌握状态反馈系统的综合和全维观测器设计方法 4、重视理论计算,MATLAB编程计算及SIMULINK仿真能力,提高计算机编程计算能力。

设计要求 如图1所示,为单倒置摆系统的原理图。设摆的长度为、质量为m,用铰链安装在质量为M的小车上。小车有一台直流电动机拖动,在水平方向对小车施加控制力u,相对参考系产生位移z。若不给小车施加控制力,则倒置摆会向左或向右倾倒,因此,它是一个不稳定系统。控制的目的是,当倒置摆无论出现向左或向右倾倒时,通过控制直流电动机,使小车在水平方向运动,将倒置摆保持在垂直位置上。

二、状态空间方程建立 为简化问题,工程上可以忽略一些次要因素。在本例中,我们为了简化问题,方便研究系统空间的设计问题,忽略了摆杆质量、执行电动机惯性以及摆轴、轮轴、轮与接触面之间的摩擦及风力。设小车的瞬时位置为z,倒置摆出现的偏角为θ,则摆心瞬时位置为。在控制力u的作用下,小车及摆均产生加速运动,根据牛顿第二定律,在水平直线运动方向的惯性力应与控制力u平衡,则有 即 (1) 由于绕摆旋转运动的惯性力矩应与重力矩平衡,因而有 即 (2)
式(1)、式(2)两个方程都是非线性方程,需作线性化处理。由于控制的目的是保持倒置摆直立,因此,在施加合适u的条件下,可以认为、均接近于零,此时≈,,且可以忽略项,于是有 (3)
+ = (4)
连联立求解式(3)、式(4),可得 (5)
(6)
消去中间变量θ,可得输入量为u、输出量为z的微分方程为 (7)
综合上述的分析,可抽象出系统的研究对象为:位移z、小车的速度、摆的角速度θ及其角速度的。系统的研究对象抽象成这四个变量后,接下来就可以根据前面的方程为这四个变量建立空间状态方程,并分析被控对象的特性。

三、倒置摆的状态空间模型 在上一章节中,我们已经选取了四个研究对象作为状态变量,它们分别为:位移z、小车的速度、摆的角速度θ及其角速度的。Z为输出变量,在考虑,以及式(5)、(6)、(7),可列出倒置摆的状态空间模型表达式为:
(8a)
(8b) 式中 为方便研究,假定系统的参数M=1kg,m=0.1kg,l=1m,,则系统状态方程中参数矩阵为:
,, (9)
此时倒置摆的状态空间模型表达式为:
四、模型特性分析 在建立完模型后我们需要对模型进行分析。作为被控制的倒置摆,当它向左或向右倾倒时,能否通过控制作用使它回复到原直立位置,这取决于其能控性。因此我们首先分析它的能控性。

1.可控性分析 能控性判据:线性定常系统,完全能控的充分必要的条件是能控性矩阵的秩为,即,并将式(9)的有关数据带入该判据,可得 (10)
因此,单倒置摆的运动状态是可控的。换句话说,这意味着总存在一控制作用u,将非零状态转移到零。

2. 可观性分析 能观测性判据:对于线性定常系统,系统完全能观测的充分必要条件是能观测性矩阵的秩为,即 3.稳定性分析 由单倒置摆系统的状态方程,可求的其特征方程为:
(11)
解得特征值为0,0,,-。四个特征值中存在一个正根,两个零根,这说明单倒置摆系统,即被控系统不稳定的。由线性系统用李雅普诺夫稳定性判据时,系统矩阵A必须是非奇异的,系统仅存在唯一的平衡状态,由于该系统矩阵A是奇异的,故也可得出系统是不稳定的。

4.MATLAB仿真求解 经过上述理论求解后,我们可以得出的MATLAB代码如下:A=[0,1,0,0;0,0,-1,0;0,0,0,1;0,0,11,0];B=[0;1;0;-1];C=[1,0,0,0];D=0; Qc=ctrb(A,B) nc=rank(Qc); if nc<3 disp('系统不可控') else disp('系统可控') end Qo=obsv(A,C) no=rank(Qo); if no<3 disp('系统不可观') else disp('系统可观') end 运行结果如下:
Qc = 0 1 0 1 1 0 1 0 0 -1 0 -11 -1 0 -11 0 系统可控 Qo = 1 0 0 0 0 1 0 0 0 0 -1 0 0 0 0 -1 系统可观 由上面对系统模型进行分析的结果可知被控系统是具有可控性和可观性,但是被控系统是不稳定的,需对被控系统进行反馈综合,使四个特征值全部位于根平面S左半平面的适当位置,以满足系统的稳定工作已达到良好、静态性能的要求。因此我们需要设计全维状态观测器来使系统到达控制的目的。

五、倒置摆系统的综合及仿真分析 采用全状态反馈。取状态变量z、、θ、为反馈信号,状态控制规律为 (12)
设 式中,分别为z、、θ、反馈至参考输入v的增益。则闭环控制系统的状态方程为 ,设置期望闭环极点为-1,-2,-1+i,-1-i 由MATLAB可求得:
=-0.4,=-1,=-21.4,=-6 如下图画出状态反馈系统结构图:
相应的Scope图形如下:
仿真的代码如下:
A=[0,1,0,0,;0,0,-1,0;0,0,0,1;0,0,11,0];b=[0;1;0;-1];c=[1,0,0,0];d=0; N=size(A);n=N(1); sys0=ss(A,b,c,d); P_s=[-1,-2,-1+i,-1-i]; k=acker(A,b,P_s) A1=A-b*k; sys=ss(A1,b,c,d); t=0:0.01:5; [y,t,x]=step(sys,t); subplot(2,2,1); plot(t,x(:,1));grid xlabel('t(s)');ylabel('x(t)'); title('z'); subplot(2,2,2); plot(t,x(:,2));grid; xlabel('t(s)');ylabel('x(t)'); title('z的微分'); subplot(2,2,3); plot(t,x(:,3));grid xlabel('t(s)');ylabel('x(t)'); title('\theta') subplot(2,2,4); plot(t,x(:,4));grid xlabel('t(s)');ylabel('x(t)'); title('\theta的微分') t=0:0.01:10; [y,t,x]=step(sys,t); subplot(2,2,1); plot(t,x(:,1));grid xlabel('t(s)');ylabel('x(t)'); title('z'); subplot(2,2,2); plot(t,x(:,2));grid; xlabel('t(s)');ylabel('x(t)'); title('z的微分'); subplot(2,2,3); plot(t,x(:,3));grid xlabel('t(s)');ylabel('x(t)'); title('\theta') subplot(2,2,4); plot(t,x(:,4));grid xlabel('t(s)');ylabel('x(t)'); title('\theta的微分') 最后显示的结果如下:
k = -0.4000 -1.0000 -21.4000 -6.0000 单倒置摆全状态反馈的阶跃响应曲线如下图 由仿真图可知,单倒置摆的全状态反馈为稳定的闭环系统。观察仿真曲线:单位阶跃的作用下,输出变量逐渐趋于某一常数,状态变量θ则是逐渐趋于0。当参考输入v单位阶跃时,状态向量在单位阶跃的作用下相应逐渐趋于稳定,这时摆杆回到原始位置(即θ=0),小车也保持稳定(即z=某一常数)。如果不将4个状态变量全用作反馈,该系统则不能稳定。

五、全维状态观测器的设计及仿真分析 为实现单倒置摆控制系统的全状态反馈,必须获取系统的全部状态,即z、、θ、的信息。因此,需要设置z、、θ、的四个传感器。在实际的工程系统中往往并不是所有的状态信息都是能检测到的,或者,虽有些可以检测,但也可能由于检测装置昂贵或安装上的困难造成难于获取信息,从而使状态反馈在实际中难于实现,甚至不能实现。在这种情况下设计全维状态观测器,解决全维状态反馈的实现问题。

由于全维观测器的运动方程为 式中 全维观测器已G配置极点,决定状态向量估计误差衰减的速率。

设置状态观察器的期望闭环极点为-2,-3,-2+i,-2-i。由于最靠近虚轴的希望闭环极点为-2,这意味着任一状态变量估计值至少以规律衰减。

由MATLAB可求的出G:
=5,=21,=-65,=-235 为实现单倒置摆控制系统的全状态反馈,必须获取系统的全部状态,即z、、θ、的信息。因此,需要设置z、、θ、的四个传感器。在实际的工程系统中往往并不是所有的状态信息都是能检测到的,或者,虽有些可以检测,但也可能由于检测装置昂贵或安装上的困难造成难于获取信息,从而使状态反馈在实际中难于实现,甚至不能实现。在这种情况下设计全维状态观测器,解决全维状态反馈的实现问题。

使用simulink仿真图:全维状态观测器实现状态反馈的结构图:
相应的Scope显示如下:
仿真的代码如下:
A=[0,1,0,0,;0,0,-1,0;0,0,0,1;0,0,11,0];b=[0;1;0;-1];c=[1,0,0,0];d=0; N=size(A);n=N(1); sys0=ss(A,b,c,d); P_s=[-1,-2,-1+i,-1-i]; k=acker(A,b,P_s) h=(acker(A',c',P_s))' A1=[A ,-b*k;h*c,A-b*k-h*c]; b1=[b;b];c1=[c zeros(1,4)];d1=0; sys=ss(A1,b1,c1,d1); t=0:0.01:10; [y,t,x]=step(sys,t); figure(1); plot(t,x(:,1:4),'--');grid xlabel('t(s)');ylabel('x(t)'); figure(2); plot(t,x(:,5:8),'--');grid xlabel('t(s)');ylabel('x(t)'); figure(3) subplot(4,1,1); plot(t,(x(:,1)-x(:,5)));grid ylabel('z'); subplot(4,1,2); plot(t,(x(:,2)-x(:,6)));grid ylabel('z的微分'); subplot(4,1,3); plot(t,(x(:,3)-x(:,7)));grid ylabel('\theta'); figure(3) subplot(4,1,1); plot(t,(x(:,1)-x(:,5)));grid subplot(4,1,2); plot(t,(x(:,2)-x(:,6)));grid ylabel('z的微分'); subplot(4,1,3); plot(t,(x(:,3)-x(:,7)));grid ylabel('\theta'); subplot(4,1,4); plot(t,(x(:,4)-x(:,8)));grid ylabel('\theta的微分'); 仿真结果如下:
①h=[5 21 -65 -235]T ②状态反馈下的状态变量的阶跃响应如下图 ③带全维观测器的状态反馈下的状态变量的阶跃响应如下图 注:“——”表示z的阶跃响应;

“——”表示的阶跃响应 “——”表示θ的阶跃响应;

“——”表示的阶跃响应;

④系统状态与全维观测器得到的估计状态之间的误差曲线 由上图可知,全维状态观测器观测到的4个变量的阶跃响应曲线与全状态反馈时的阶跃响应曲线基本相识,但是二者还是有误差的,只不过误差很小(如系统状态与全维观测器得到的估计状态之间的误差曲线所示),全维状态观测器所得的性能基本满足要求。

六、参考文献 [1]梁慧冰.现代控制理论基础 [2]胡寿松.自动控制原理简明教程 [3]方水良.现代控制理论及其MATAB实践 [4] 王晓凯.基于简化模型的倒立摆控制实验研究[J].计算机技术与自动化,1997(1). [5] 王海英,袁丽英,吴勃.控制系统的MATLAB仿真与设计(第1版) [M].高等教育出版社.2009(1). [6]MATLAB程序设计与应用(第二版)刘卫国主编

推荐访问:课程设计 控制工程