《单轴倒立摆控制系统设计及Matlab仿真毕业设计论文.doc》由会员分享,可免费在线阅读全文,更多与《单轴倒立摆控制系统设计及Matlab仿真毕业设计论文》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。
1、据Nyquist曲线或Bode图设计控制器从而使闭环系统满足设计者对于频域性能的要求。基于仿真结果的分析与研究,两种方法的设计结果均满足了系统的设计要求,即:摆杆稳定时间小于秒;稳态时摆杆与垂直方向的夹角变化小于弧度。但是两种方法都只能对摆杆的角度加以控制,因为经典控制理论的研究对象主要是单输入单输出系统,不能对小车位置加以控制。致谢在此,我首先要衷心地感谢我的导师孙昌跃老师,本文的研究工作从选题到最后完成都受到了孙老师的精心指导和悉心关怀,给我提出了许多极具价值的建议。三个多月来,孙老师在学术上给予了我极大的帮助,严格要求,每周定期开会,让我们在一起讨论研究课题,相互交流,相互学习,为我们提供了一个良好的学习环境,使我的理论水平和研究问题的能力上都得到了很大的提高。孙老师严谨认真、实事求是的学术作风和诚恳待人。
2、()()()numdencontrollerXsFsdencontrollerdenknumcontrollernum=+其中,numcontroller和dencontroller分别为控制器的分子和分母。小车位置响应曲线如下所示:图-小车位置响应曲线如图-所示,小车向反方向运动并最终稳定在大约-米处。第五章论文总结本文所设计的单轴倒立摆控制系统运用了经典控制理论中的根轨迹法和频率响应法。经典控制理论的研究对象主要是单输入单输出的系统,设计涉及了系统数学模型的推导、根轨迹法设计控制器,以及频率响应法设计控制器。根轨迹法通过研究系统开环传递函数的零极点,设计控制器从而将闭环系统的传递函数极点设计在希望的位置上,从而满足了设计者对于系统闭环稳态性能和瞬态性能的要求。频率响应法通过研究系统开环传递函数的频域响应,根。
3、(numcontroller,num));t=::;imulse(numc,denc,t)imre(i)=sig;endre(:);lot(re,im,'')holdoffreturn引入一个位于原点处的极点后,根轨迹绘制程序如下:M=;m=;b=;i=;g=;l=;q=(M+m)*(i+m*l^)(m*l)^;%simlifiesinutnum=[m*lq];den=[b*(i+m*l^)q(M+m)*m*g*lqb*m*g*lq];=;dentem=[];num=num;den=conv(den,dentem);rlocus(num,den)sigrid()axis([])又引入一个极点和两个零点后系统根轨迹的绘图程序,其中,K是控制器的增益,系统在该增益对应的极点为oles,selected_oint是你。
4、lot(,,)clnum=conv(num,denc);tem=k*conv(numc,num);tem=conv(denc,den);clden=olyadd(tem,tem);imulse(clnum,clden)绘出小车位移曲线的m程序如下:M=;m=;b=;i=;g=;l=;q=(M+m)*(i+m*l^)(m*l)^;num=[m*lq]den=[b*(i+m*l^)q(M+m)*m*g*lqb*m*g*lq]num=[(i+m*l^)qm*g*lq];den=den;k=;numcontroller=conv([],[]);dencontroller=[];numc=conv(numx,dencontroller);denc=olyadd(conv(dencontroller,den),k*conv。
5、tingchontinuousslaneroot%locusorolezeromaLinesofconstantsigmaaredrawnin%TobeusedwithSGRIDifsigma,zeta,andWnrequirementsarerequired%simultaneouslyCanalsobeusedbyitselferror(nargchk(,,nargin));holdon%Plotsigmalinelimits=axis;mx=limits(,);mn=limits(,);stz=abs(mx)+abs(mn);st=stz;im=mn:st:mx;lim=length(im);fori=:yquist图和脉冲响应曲线的Matlab程序如下,该程序是一个通用的程序,只要输入控制器的分子、分母。
6、选择的位于根轨迹上的点,所以这些参数都显示在Matlab命令窗口中。M=;m=;b=;i=;g=;l=;q=(M+m)*(i+m*l^)(m*l)^;%simlifiesinutnum=[m*lq];den=[b*(i+m*l^)q(M+m)*m*g*lqb*m*g*lq];z=;=;z=;=;numlag=[z];denlag=[];numlead=[z];denlead=[];num=conv(conv(num,numlead),numlag);den=conv(conv(den,denlead),denlag);rlocus(num,den)sigrid()axis([])figurerlocus(num,den)sigrid()axis([])[k,oles]=rlocfind(num,den)figu。
7、和增益,就可以绘出不同控制器时系统的Bode图、Nyquist图和脉冲响应曲线:function[]=end()clffigure()clf%defineTFnum=[];den=[];figure()%askuserforcontrollernumc=inut('numc?');denc=inut('denc?');k=inut('K?');%viewcomensatedsystembodebode(k*conv(numc,num),conv(denc,den))%viewcomensatedsystemnyquistfigure()sublot(,,)nyquist(k*conv(numc,num),conv(denc,den))%viewcomensatedCLsystemimulseresonsesub。
8、rekolesnumc=conv(conv(num,denlead),denlag);denc=olyadd(k*num,den);imulse(numc,denc)axis([])校正后摆杆位置和小车位移的响应曲线由下面m程序得到:M=;m=;b=;i=;g=;l=;q=(M+m)*(i+m*l^)(m*l)^;%simlifiesinutnum=[m*lq];den=[b*(i+m*l^)q(M+m)*m*g*lqb*m*g*lq];num=[(i+m*l^)qm*g*lq];den=denz=;=;z=;=;numlag=[z];denlag=[];numlead=[z];denlead=[];num=conv(conv(num,numlead),numlag)den=conv(conv(den,denl。
9、(M+m)*(i+m*l^)(m*l)^;%simlifiesinutnum=[m*lq]den=[b*(i+m*l^)q(M+m)*m*g*lqb*m*g*lq]绘出原系统的根轨迹图的Matlab程序如下:rlocus(num,den)sigrid()axis([])由于稳定时间小于秒,所以s小于=,我们可以sigrid函数来在根轨迹图上画出一条位于的虚线。其中,sigrid函数必须实现拷贝到Sigridm文件中,并把该文件的目录用addath命令加到路径中,内容如下,其中,句头带有%的是注释语句:function[]=sigrid(sig)%SIGRIDGenerateslanegridlinesforarootlocusorolezeroma%%SIGRIDgeneratesagridoveranexis。
10、ead),denlag)sublot(,,);rlocus(num,den)axis([])[k,oles]=rlocfind(num,den)figurekolesnumc=conv(conv(num,denlead),denlag);denc=olyadd(k*num,den);t=::;sublot(,,);imulse(numc,denc,t)axis([])num=conv(num,den);den=olyadd(conv(den,den),k*conv(den,num));sublot(,,);imulse(num,den,t)axis([])执行下面的Matlab程序,可以求解出频率响应法系统传递函数。M=;m=;b=;i=;g=;l=;q=(M+m)*(i+m*l^)(m*l)^;%simlif。
11、tingchontinuousslaneroot%locusorolezeromaLinesofconstantsigmaaredrawnin%TobeusedwithSGRIDifsigma,zeta,andWnrequirementsarerequired%simultaneouslyCanalsobeusedbyitselferror(nargchk(,,nargin));holdon%Plotsigmalinelimits=axis;mx=limits(,);mn=limits(,);stz=abs(mx)+abs(mn);st=stz;im=mn:st:mx;lim=length(im);fori=:yquist图和脉冲响应曲线的Matlab程序如下,该程序是一个通用的程序,只要输入控制器的分子、分母 。
12、iesinutnum=[m*lq]den=[b*(i+m*l^)q(M+m)*m*g*lqb*m*g*lq]可以得到num=den=绘出系统的Bode图、养的学者站在中国的土地上采用自己提出的控制理论完成的一项世界领先水平的科研成果⑨使用几种智能控制算法相结合实现倒立摆的控制,比如模糊自适应控制,分散鲁棒自适应控制,仿人智能控制等等:⑩采用遗传算法与神经网络相结合的方法,首先建立倒立摆系统的数学模型,然后为其设计出神经网络控制器,再利用改进的遗传算法训练神经网络的权值,从而实现对倒立摆的控制,采用GA学习的NN控制器兼有NN的广泛映射能力和GA快速收敛以及增强式学习等性能。用于倒立摆摆起的控制方法主要有:滑模控制、灰色预测控制、部分状态反馈控制、时间最优控制、能量控制、监督控制}、拟人控制、神经网络控制、进化控