1、一、非线性模型线性化及建立状态空间模型因为在工作点附近()对系统进行线性化,所以可以做如下线性化处理:当很小时,由cos、sin的幂级数展开式可知,忽略高次项后,可得cos1,sin,20;因此模型线性化后如下: (J+ml2)+mlx=mgl (a) ml+(M+m) x=u (b) 其中取系统的状态变量为输出包括小车位移和摆杆的角位移.即X= Y= 由线性化后运动方程组得X1=x=x2 x2=x=x3+uX3 =x4 x4=x3+u 故空间状态方程如下:X= + u X= + uY= = 二、通过Matlab仿真判断系统的可控与可观性,并说明其物理意义。(1)判断可控性代码: A=0 1
2、0 0;10 -2.627 0;0 0 0 1;0 0 31.1818 0; B=0;1.8182;0;-4.5455;P=ctrb(A,B);n=rank(P);运行了得n= 4所以P为满秩,系统能控(2)判断可观性A=0 1 0 0;10 -2.627 0; C=1 0 0 0;0 0 1 0;P=obsv(A,C);所以P为满秩,系统能观。三、能否通过状态反馈任意配置系统的极点?若能,通过Matlab仿真确定反馈控制规律K(如图2),使得闭环极点配置在上。并给出系统在施加一个单位脉冲输入时状态响应曲线;答: 因为系统完全能控,所以能通过状态反馈任意配置系统的极点。要将闭环极点配置在上,所
3、以期望特征方程为|I(A-BK)|=()*(+2)*(+1)2+1) =4+53+102+4 Matlab求解K如下:0 0 -2.627 0; J=-1 -2 -1+i -1-i; K=place(A,B,J);运行得:K= -0.089378 -0.22345 -9.0957 -1.1894;未加入极点配置。仿真图:未进行极点配置仿真电路图(1)X的响应图:的响应图:配置后:加入极点配置仿真图(2)四、 用MatLab中的lqr函数,可以得到最优控制器对应的K。要求用LQR控制算法控制倒立摆摆动至竖直状态,并可以控制倒立摆左移和右移;欲对系统进行最优状态反馈设计,及小化性能指标为: J=d
4、t编写matalab程序如下:B=0;C=1 0 0 0;D=0;0x=1;y=1;Q=x 0 0 0; 0 0 0 0; 0 0 y 0; 0 0 0 0;R=1;G=lqr(A,B,Q,R);A1=(A-B*G);B1=B;C1=C;D1=D;t=0:0.01:5;U=zeros(size(t);x0=0.1 0 0.1 0;Y,X=lsim(A1,B1,C1,D1,U,t,x0);plot(t,Y);legend(小车,倒立摆);运行可得:G=-1 -1.5495 -18.68 -3.4559由图分析可得调节时间很长,所以增加Q的比重,将上程序中的x,y改为x=150,y=150.运行可
5、得:G=-12.247 -9.3413 -41.934 -7.7732比较可得,控制效果明显改善。但反馈增益变大,意味着控制作用变强,消耗能量变大。将G放入系统中,进行simulink仿真可得:仿真电路图:仿真结果:五、写出本次仿真实验的心得体会。本实验,从数学建模到仿真系统的搭建,再到加进控制环节进行实时控制,最后得出结果的过程中,参考了大量的资料,通过对比整合,设计出了适合自己的一套实验方法:倒立摆数学模型推导部分:首先用线性化数学模型,接着用动态系统空间状态方程法导出状态方程系数矩阵,然后用MATLAB对系统进行可控可观判断及进行几点配置,加入配置后在Simulink软件上进行系统仿真。最后通过matlab求解线性二次型最优控制的G矩阵,然后加入形同进行Simulink仿真。 通过本实验,掌握了倒立摆仿真的整个过程,熟悉了MATLAB的仿真软件Simulink的使用,也对系统控制有了较好的理解。通过仿真,再次认识到了自动控制在改善系统性能方面的重要性,并激发了良好的关于系统控制方面的学习兴趣。除此之外,通过本次大作业,让我学会了很多word的操作,在此基础上,相信在以后的学习将会有较大帮助。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1