概述
用Matlab完成倒立摆系统的分析与综合
现代控制理论用Matlab完成倒立摆系统的分析与综合
2013/5/23 星期四学号:3201100418杨 博用Matlab完成倒立摆系统的分析与综合一、实验要求1、熟悉非线性系统数学模型的建立过程。2、非线性数学模型的近似线性化。3、判断系统的能控性及能观性。4、学习利用MATLAB来分析系统的能观性、能控性和稳定性(Lyapunov第一法)。5、掌握状态反馈极点配置控制,并能用MATLAB仿真软件进行控制算法的仿真验证与分析。二、实验原理FNbxP
图1 一级倒立摆系统模型 图2 小车水平方向受力分析
图3 摆杆垂直方向的受力分析
倒立摆模型参数M小车质量0.68kgm摆杆质量0.094kgb底座摩擦系数0.08l杆转动轴心到杆质心的长度0.15mI转动惯量小车水平方向受力: Mx+bx+N=F摆杆水平方向受力: 即: N=mx+mlθcosθ-mlθsinθ得第一个运动方程:M+mx+bx+mlθcosθ-mlθsinθ=F摆杆垂直方向受力:力矩平衡方程:-Plsinθ-Nlcosθ=Iθ ,,第二个运动方程:I+ml2θ+mglsinθ=-mlxcosθ两个运动方程化简得:(I+ml2)?-mgl?=mlxM+mx+bx-ml?=u拉普拉斯变换得:三、实验内容1、一级直线倒立摆传递函数的建立摆杆输出角度和电机作用力的传递函数为:
其中 2、一级直线倒立摆状态空间方程的建立求解可得x、?,整理后得到系统的状态空间方程为:
3、MATLAB仿真要求求出状态空间表达式矩阵。求出能观矩阵和能控矩阵并判断能控性及能观性。对倒立摆系统配置状态反馈极点并验证。画出极点配置前后系统的阶跃响应曲线。四、MATLAB仿真实验程序M=0.68; m=0.094; b=0.08; l=0.15; I=m*l^2/12;O=I*(M+m)+M*m*l^2; a22=-(I+m*l^2)*b/O; a23=m^2*9.8*l^2/O;a42=-m*l*b/O; a43=m*9.8*l*(M+m)/O;disp('********************start******************')disp('矩阵A B C D')A=[0 1 0 0;0 a22 a23 0;0 0 0 1;0 a42 a43 0]B=[0;(I+m*l^2)/O;0;m*l/O] C=[1 0 0 0;0 0 1 0] D=[0;0]step(A,B,C,D) %极点配置前系统的阶跃响应disp('------------------------------------------')disp('求能控矩阵:M1=[B A*B A^2*B A^3*B]')M1=[B A*B A^2*B A^3*B] %能控矩阵disp('求能观矩阵:N=[C;C*A;C*A^2;C*A^3] ')N=[C;C*A;C*A^2;C*A^3] %能观矩阵disp('A矩阵的阶数:')n=length(A)disp('------------------------------------------')rank_M1=rank(M1);rank_N=rank(N);disp('能控性判断:');if rank(M1)==n;rank_M1 %能控性disp('system is controllable');elsedisp('system is uncontrollable');enddisp('能观性判断:');if rank(N)==n;rank_N %能观性disp('system is observable');elsedisp('system is unobservable');enddisp('------------------------------------------')disp('极点配置')P=[-3;-2;-4;-1] %极点配置rc = rank(ctrb(A, B));disp('反馈矩阵K为:')K = place(A, B, P)Ac = A - B*K;Bc = B;r
最后
以上就是喜悦蜗牛为你收集整理的倒立摆系统matlab程序,用Matlab完成倒立摆系统的分析与综合.docx的全部内容,希望文章能够帮你解决倒立摆系统matlab程序,用Matlab完成倒立摆系统的分析与综合.docx所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复