《倒立摆控制系统设计与仿真论要求与格式未做完》由会员分享,可在线阅读,更多相关《倒立摆控制系统设计与仿真论要求与格式未做完(17页珍藏版)》请在金锄头文库上搜索。
1、倒立摆控制系统设计与仿真论要求与格式未做完倒立摆控制系统的设计与仿真分析研究班级 姓名 学号 (完成后删除所有蓝色提示文字,电子版在12月26日前提交邮箱)1. 问题的提出倒立摆控制系统是一个复杂的、不稳定的、非线性系统,是进行控制理论教学及开展各种控制实验的理想实验平台。对倒立摆系统的研究能有效的反映控制中的许多典型问题:如非线性问题、鲁棒性问题、镇定问题、随动问题以及跟踪问题等。通过对倒立摆的控制,用来检验新的控制方法是否有较强的处理非线性和不稳定性问题的能力。同时,其控制方法在军工、航天、机器人和一般工业过程领域中都有着广泛的用途,如机器人行走过程中的平衡控制、火箭发射中的垂直度控制和卫
2、星飞行中的姿态控制等。考虑倒立摆系统,原理图如图1所示。图1 倒立摆原理假设M = 2千克,m = 0.5千克,l = 1米,控制信号为牵引力u,忽略地面摩擦力,摆轴旋转的摩擦力,本文对该系统进行建模、控制系统设计以及控制性能进行仿真研究,对熟悉使用现代控制工程的设计方法以及MATLAB的应用具有重要的意义。2. 系统建模对该倒立摆系统,若定义状态变量为输出变量为先利用力学知识把倒立摆的模型建立起来。把M = 2kg,m = 0.5kg,l = 1m,代入A、B、C,得3. 控制系统的设计与仿真3.1调节器问题的倒立摆设计与性能研究对该倒立摆系统,若要求闭环极点为采用状态反馈方案 ,试确定状态
3、反馈增益矩阵K。 利用已被求出的状态反馈增益矩阵K,用计算机仿真检验该系统的性能。试写出一个MATLAB程序,以求出该系统对任意初始条件的响应。对一组初始条件 米/秒试求x1(t),x2(t),x3(t)和x4(t)对t的响应曲线。验证该倒立摆系统的可控性已知系统的可控矩阵为,计算Rank(M),若Rank(M)=4,则可以进行极点配置。,在Matlab中得到命令行输入M=B,A*B,A2*B,A3*B得到容易得到,rank(M)=4,故该系统可控,下面进行极点配置。状态反馈后的系统可表示为下面在Matlab中运算进行配置K= k1, k2, k3 k4;eigfun=det(lamda*ey
4、e(4)-(A-B*K);collect(eigfun)得到Eigfun=lamda4 + (k4/2 - k2/2)*lamda3 + (k3/2 - k1/2 - 49/4)*lamda2 - (49*k4*lamda)/10 - (49*k3)/10根据p= -4+ 4i ,-4 4i,-15, -15,得到目标特征多项式x4 + 38*x3 + 497*x2 + 2760*x + 7200=0在matlab中应用solve(k4/2 - k2/2=38,k3/2 - k1/2 - 49/4=497,-4.9*k4=2760, - 4.9*k3=7200)得到K=-2487 -639 -
5、1469 -563下面验证该系统的稳定性。经过状态反馈后,系统的极点被配置为p= -4+ 4i ,-4 4i,-15, -15,该系统是稳定的。 sys_ss=ss(A,B,C,D)step(sys_ss),得到图3.1.1:step响应从阶跃响应中可以看出,该系统是很稳定的。如果对小车施加一个1N的阶跃力,虽然系统有较大震荡,但是响应时间小于1s,即可恢复稳定(平衡)状态。之后小车偏离原来的位置,稳定在-0.7左右的位置,但摆仍然是竖着的(),这是符合常理的。bode(sys_ss),得到bode图图3.1.2 bode图从bode图中可以看出,该系统的带宽很窄,对输入有很大的衰减。从上图可
6、以推断出,系统在8rad/s左右的性能比较好。下面详细分析系统对不同初始条件下的响应为了编程的简便性,不考虑系统对任意输入信号的响应,只考虑系统对step信号的响应。那么设初始状态为下面开始编程,编程中用到了简单的离散的数值分析的编程Matlab源程序如下%compute the solutions of the X vector using numerical anslysis theory.%Use the formula below .%X(t+deltaT)=X(t)+A.X(t)+B.u*deltaT .%in this program dt is fixed to 0.005.sy
7、ms x1_0 x2_0 x3_0 x4_0A=0 1 0 0;-1231 -320 -735 -282;. 0 0 0 1;1241 320 735 282% the upper is A matrix of the corrected systemB=0;-0.5;0;0.5;C=1 0 0 0;0 0 1 0;D=0;u=1;Xinitial=x1_0 ;x2_0 ;x3_0 ;x4_0;Xinitial=0 0 0 1;% set the initial states of X to 0 0 0 1 according to the problem givened dt=0.005;R
8、esult=zeros(4,1010);% set memory space to store the X vector value for display the states curve against the time t for i=1:1000 m1=A*Xinitial; m2=B*u; m3=(m1+m2)*dt; X_next=Xinitial+m3; Result(:,i)=X_next;% store the X states in every circle. Xinitial=X_next; %renew the X states vectorend值得说明的是,结果被存
9、贮在的矩阵当中。如果想画出的波形,可以通过以下的matlab源程序 t=0:0.005:5; plot(t,Result(1,1:1001);xlabel(time(s);ylabel(Theta(rad); plot(t,Result(2,1:1001); xlabel(time(s);ylabel(d(Theta)/dt); plot(t,Result(3,1:1001); xlabel(time(s);ylabel(x); plot(t,Result(4,1:1001); xlabel(time(s);ylabel(dx/dt);图3.1.3:Theta(t)的波形图3.1.4:的波形图
10、3.1.5:x(t)的波形图3.1.6:的波形结论:经过校正后的倒立摆性能是稳定的。在,的初始状态下,系统的4个参数都处于稳定,且都是0,不存在稳态误差。但是存在过冲(超调),但可以接受。若调整其闭环极点为:情况1:;情况2:试确定在这两种情况下的状态反馈增益矩阵K。再求设计出的系统对初始条件仿真该闭环系统,并比较以上几种系统响应的动态性能。由于“情况1”和“情况2”和上面的过程重复,这里就不详细描述运算步骤了。情况1Kg = -1258 -320 -220 -234值得一提的是,上面Kg的计算涉及到了近似,不过,这不会显著改变原设定的参数。下面对情况1进行仿真,在的情况下编程过程在此省略,详
11、细源程序见附录图3.1.7:情况1,Theta(t)的波形图3.1.8:情况1,的波形plot(t,Result(3,1:1001); xlabel(time(s);ylabel(x)图3.1.9:情况1,图3.1.10:情况1情况2Ans2= solve(k4/2 - k2/2=24,k3/2 - k1/2 - 49/4=184,-4.9*k4=480, - 4.9*k3=400)Kg=-474 146 81.6 98 值得一提的是,上面Kg的计算涉及到了近似,不过,这不会显著改变原设定的参数。下面对情况2进行仿真,在的情况下同样,编程过程在此省略,详细源程序见附录plot(t,Result
12、(1,1:1001),linewidth,2);xlabel(time(s);ylabel(Theta(rad)图3.1.11:情况2,plot(t,Result(2,1:1001),linewidth,2);xlabel(time(s);ylabel(d(Theta)/dt)图3.1.12:情况2plot(t,Result(3,1:1001),linewidth,2); xlabel(time(s);ylabel(x(m),得到图3.1.13:情况2plot(t,Result(4,1:1001),linewidth,2); xlabel(time(s);ylabel(dx/dt(m/s2)图
13、3.1.14(使用了“EditCopy figure命令”):情况2,分析:总体看来,情况2的表现没有情况1好。比如只看情况2的最大过冲量是情况1的最大过冲量的10倍。但整体看来,情况1和情况2的表现都不错。达到稳定的时间都小于0.5s,系统1比系统2稍微快一些。系统1比系统2总体的性能要好。这从系统的极点也可以看出来。情况1;情况2:3.2伺服问题的倒立摆设计与性能研究考虑前述的倒立摆系统。该倒立摆系统希望维持稳定的同时小车要按一定的规律行走。设计一个状态反馈增益矩阵K,其中已知和积分增益常数。假设该系统的期望闭环极点为。试利用MATLAB确定增益矩阵K和积分增益常数。再求当单位阶跃输入作用
14、于小车位置时的阶跃响应曲线,并讨论其动态特性。(设计控制系统,仿真系统性能,讨论阶跃响应的性能指标)4. 倒立摆控制系统的优化设计与性能研究考虑设计以控制系统, 当角 和或角速度 存在干扰时,能保证摆位置垂直,并要求该控制系统在每一个控制过程结束时,电动车返回到参考位置(小车没有参考输入信号)。该系统的状态空间方程为 式中采用状态反馈方案 试用MATLAB确定状态反馈增益矩阵 K=k1, k2, k3, k4, 时的性能指标达到极小。式中, 然后求系统在下列初始条件下的响应:画出的响应曲线。原系统的状态方程为由于采用状态反馈,得到下面求K使用matlab中的lqr 函数可以直接求出K% using lqr methodQ=diag(180 1 1 1)R=1;K,P,r=lqr(A,B,Q,R)求出K=-67.5131 -19.4993 -1.0000 -3.1270下面开始进