倒立摆系统的建模及Matlab仿真

上传人:mg****2 文档编号:121917368 上传时间:2020-02-28 格式:DOC 页数:17 大小:289.50KB
返回 下载 相关 举报
倒立摆系统的建模及Matlab仿真_第1页
第1页 / 共17页
倒立摆系统的建模及Matlab仿真_第2页
第2页 / 共17页
倒立摆系统的建模及Matlab仿真_第3页
第3页 / 共17页
倒立摆系统的建模及Matlab仿真_第4页
第4页 / 共17页
倒立摆系统的建模及Matlab仿真_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《倒立摆系统的建模及Matlab仿真》由会员分享,可在线阅读,更多相关《倒立摆系统的建模及Matlab仿真(17页珍藏版)》请在金锄头文库上搜索。

1、 .倒立摆系统的建模及Matlab仿真1.系统的物理模型 考虑如图(1)所示的倒立摆系统。图中,倒立摆安装在一个小车上。这里仅考虑倒立摆在图面内运动的二维问题。图(1)倒立摆系统假定倒立摆系统的参数如下。摆杆的质量:m=0.1g摆杆的长度:l=1m小车的质量:M=1kg重力加速度:g=9.8m/摆杆的质量在摆杆的中心。设计一个控制系统,使得当给定任意初始条件(由干扰引起)时,最大超调量d 10%,调节时间ts 4s ,通过小车的水平运动使倒立摆保持在垂直位置。2.系统的数学模型2.1建立倒置摆的运动方程并将其线性化。为简化问题,在数学模型中首先假设:1)摆杆为刚体;2)忽略摆杆与支点之间的摩擦

2、;3)忽略小车与接触面间的摩擦。设小车瞬时位置为z,摆心瞬时位置为(),在u作用下,小车及摆均产生加速远动,根据牛顿第二定律,在水平直线远动方向的惯性力应与u平衡,于是有即: 绕摆轴转动的惯性力矩与重力矩平衡,因而有即: 以上两个方程都是非线性方程,为求得解析解,需作线性化处理。由于控制的目的是保持倒立摆直立,在试驾合适的外力条件下,假定很小,接近于零时合理的,则,且可忽略项。于是有 联立求解可得2.2列写系统的状态空间表达式。选取系统变量, 则即代入数据计算得到:3.设计控制器3.1判断系统的能控性和稳定性,rank()=4,故被控对象完全可控由特征方程 解得特征值为 0,0,。出现大于零的

3、特征值,故被控对象不稳定3.2确定希望的极点希望的极点n=4,选其中一对为主导极点和,另一对为远极点,认为系统性能主要由主导极点决定,远极点只有微小影响。根据二阶系统的关系式,先确定主导极点可得,于是取;取误差带,则,闭环主导极点为=-10.8j,远极点选择使它和原点的距离大于主导极点与原点距离的5倍,取3.3采用状态反馈方法使系统稳定并配置极点状态反馈的控制规律为,;状态反馈系统的状态方程为,其特征多项式为 希望特征多项式为 比较以上两式系数,解得状态反馈矩阵4.设计全维观测器4.1判断系统的能观性,rank()=4,故被控对象完全可观4.2确定观测器的反馈增益全维观测器的动态方程为;其特征

4、多项式为 取观测器的希望极点为:-45,-45,-3+3j,-3-3j;则希望特征多项式为 比较以上两式系数,解得观测器反馈矩阵5.降维状态观测器的设计5.1建立倒置摆三维子系统动态方程设小车位移z由输出传感器测量,因而无需估计,可以设计降维(三维)状态观测器,通过重新排列被控系统变量的次序,把需由降维状态观测器估计的状态变量与输出传感器测得的状态变量分离开。将z作为第四个状态变量,则被控系统的状态方程和输出方程变换为 简记为:式中,=0,被控系统的n-q维子系统动态方程的一般形式为,式中,为子系统输出量。故倒置摆三维子系统动态方程为5.2.判断子系统的可观测性A1=0 -1 0;0 0 1;

5、0 11 0;C1= 1 0 0;Qg1=obsv(A1,C1);r=rank(Qg1)运行Matlab程序;结果为r=3,故该子系统可观测降维状态观测器动态方程的一般形式为式中h=。考虑被控对象参数,单倒置摆降维观测器动态方程的一般形式为5.3确定三维状态观测器的反馈矩阵h三维状态观测器的特征多项式为设希望的观测器闭环极点为-45,-3+3j,-3-3j,则希望特征多项式为比较以上两式系数,解得h=故所求三维状态观测器的动态方程为6.Matlab仿真分析6.1源程序通过Matlab对用全维状态观测器实现状态反馈的倒置摆系统进行仿真分析,下面是文件名为Inversion_pendulum_sy

6、stem.m的源程序%倒立摆系统建模分析%a)判断系统能控性和能观性clear all;clcA=0 1 0 0;0 0 -1 0;0 0 0 1;0 0 11 0;B=0;1;0;-1;C=1 0 0 0;D=0;Uc=ctrb(A,B);rc=rank(Uc);n=size(A);if rc=n disp(The system is controlled.)elseif rc0)=0) disp(The system is unstable and the ubstable poles are:) v(find(Re0)else disp(The system is stable!);en

7、d% c)极点配置与控制器-全维状态观测器设计与仿真pc=-1+0.8*j,-1-0.8*j,-15,-15;po=-45 -45 -3+3*j -3-3*j;K=acker(A,B,pc),G=acker(A,C,po)Gp=ss(A,B,C,D); %将受控过程创建为一个LTI对象disp(受控对象的传递函数模型:);H=tf(Gp)Af=A-B*K-G*C;disp(观测器控制器模型:);Gc=ss(Af,-G,-K,0) %将观测器-控制器创建为一个LTI对象disp(观测器控制器的极点:);f_poles=pole(Gc)GpGc=Gp*Gc; %控制器和对象串联disp(观测器控制

8、器与对象串联构成的闭环系统模型:);Gcl=feedback(GpGc,1,-1) %闭环系统disp(闭环系统的极点和零点:);c_poles=pole(Gcl)c_zeros=tzero(Gcl)lfg=dcgain(Gcl) %低频增益N=1/lfg % 归一化常数T=N*Gcl; %将N与闭环系统传递函数串联x0=100 10 30 10 0 0 0 0;%初始条件向量t=0:0.01:1; %时间列向量r=0*t; %零参考输入y t x=lsim(T,r,t,x0); %初始条件仿真plot(t,x(:,1:4),-.,t,x(:,5:8) %由初始条件引起的状态响应title(b

9、f状态响应)legend(x1,x2,x3,x4,x1hat,x2hat,x3hat,x4hat)figure(2)step(T)title(bf阶跃响应)figure(3)impulse(T)title(bf脉冲响应) 6.2 程序运行结果The system is controlled.The system is observable.P = 1 0 -11 0 0v = 0 0 3.3166 -3.3166The system is unstable and the ubstable poles are:ans = 3.3166K = -36.9000 -49.9200 -334.540

10、0 -81.9200G = 96 2594 -14826 -64984受控对象的传递函数模型 Transfer function:s2 - 1.776e-015 s - 10- s4 - 11 s2 观测器控制器模型: a = x1 x2 x3 x4 x1 -96 1 0 0 x2 -2557 49.92 333.5 81.92 x3 1.483e+004 0 0 1 x4 6.495e+004 -49.92 -323.5 -81.92 b = u1 x1 -96 x2 -2594 x3 1.483e+004 x4 6.498e+004 c = x1 x2 x3 x4 y1 36.9 49.92 334.5 81.92 d = u1 y1 0 Continuous-time model.观测器控制器的极点:f_poles = 1.0e+002 * -1.4948 + 1.8786i -1.4948 - 1.8786i 1.7424 -0.0328 观测器控制器与对象串联构成的闭环系统模型: a = x1 x2 x3 x4 x5 x1 0 1 0 0 0 x2 0 0 -1 0 36.9 x3 0 0 0 1 0 x4 0 0 11 0 -36.9 x5 96 0 0 0 -96 x6 2594 0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号