基于matlab的一级倒立摆系统仿真研究 下载本文

中北大学2010届毕业论文

第五章 结论与展望

5.1 本文总结

倒立摆系统是快速、非线性、多变量、强耦合、绝对不稳定的系统,是控制理论研究的常用对象,必须采用行之有效的方法才能对倒立摆进行控制。倒立摆的控制方法在航天、机器人等领域有着广泛的用途,如机器人行走过程中的平衡控制、火箭发射过程中的垂直度控制和卫星飞行中的姿态控制等均可以倒立摆为模型来研究,因此,对倒立摆的研究在理论上和方法上均有着重要的意义。

多年来,人们对倒立摆的研究越来越感兴趣,倒立摆的种类也由简单的单级倒立摆发展为多种形式的倒立摆系统,这其中的原因不仅在于倒立摆系统在高科技领域的广泛应用,而且新的控制方法不断出现,人们试图通过倒立摆这样一个严格的控制对象,检验新的控制方法是否有较强的处理多变量、非线性和绝对不稳定系统的能力。因此,倒立摆系统作为控制理论研究中的一种较为理想的实验手段通常用来检验控制策略的效果[26]。

本文首先首先概述了一级倒立摆系统的分类、背景、研究的现状,介绍了MATLAB及Simulink相关知识,分析力学方法推导了单级倒立摆的动力学模型,给出其传递函数及状态空间方程,利用现代控制理论方法分析了系统的稳定性,得出倒立摆系统是一个不稳定的系统,且可控可观

其次,研究了倒立摆系统的三种控制策略,即:PID控制方法(经典控制与现代控制)、LQR控制方法、模糊神经网络控制方法,分析了各种方法的优缺点。

再次,本文着重介绍了PID控制方法,并对一级倒立摆系统进行MATLAB仿真。 由于本人能力和时间有限,设计的系统还存在一定的问题,在软硬件上都还有待改善和进一步提高。 5.2 进一步展望

文中系统模型都是在特定理想化的情况下建立的,且PID控制器的三个参数较难选取,较多依靠经验,而LOR控制方法的不足在于其控制器的反馈控制矩阵在开始前已经确定,控制中无法进行调整,不具备自适应能力。而倒立摆系统具有非线性和不确定性

第 37 页 共 43 页

中北大学2010届毕业论文

因素,因此,采用智能控制方法就成为本课题今后的研究重点[27]。

总而言之,倒立摆控制系统是一个典型的高阶次、不稳定、多变量、非线性和强藕合控制系统,针对这类系统的实时控制和非线性动力学特性,还有许多问题有待于研究,例如如何将理论分析与实际控制结合起来、分叉和混沌控制、全局分叉和混沌动力学分析等,还需要做进一步的深入研究。

第 38 页 共 43 页

中北大学2010届毕业论文

附 录

倒立摆系统的定性分析可以通过MATLAB程序来实现,主程序如下: A=[0 l 0 0; 0 0 0.71324 O; 0 0 0 1; 0 0 31.54 0];

B=[0;O.89027;0;2.6708]; C=eye(4); D=zeros(4,1);

[num,den]=ss2tf(A,B,C,D); P=roots(den) %求系统特征根 Ppanwen; %判断系统稳定性m文件 str=controls(A,B) strl=observes(A,C)

其中,判断系统的稳定性子程序: Ppanwen.m %由特征根P判断系统稳定性程序 n=size(p);nl=n(1) %特征根个数 flagl=0;fla92=0; for i=l:nl

varl=p(i,1);var2---real(p(i,1)); if real(p(i,1))>0;

flagl=flagl+1;%特征根实部>O,系统不稳定 elseif abs(real(p(i,1))一O)

fla92=fla92+l;%特征根实部-o,系统临界稳定 end

end

if flagl>0 disp(’系统不稳定’); elseif fla92>0 disp(’系统临界稳定’);

第 39 页 共 43 页

中北大学2010届毕业论文

else disp(’系统稳定’) end

判断系统能控性子程序Controls.m: function str=controls(A,B) S=ctrb(A,B) %系统的能控性矩阵 rl=rank(S);%求秩

l1=length(A); if rl==ll;

str=’系统是完全能控的’; else

str=’系统是不完全能控的’; end

判断系统能观性子程序observes.m如下: function strl=observes(A,O) V=obsv(A,C) %系统能观性矩阵 r=rank(V); %求秩 l=size(A,1); if r==l

strl=’系统是完全能观的’; else

strl=’系统是不完全能观的’; end

第 40 页 共 43 页