(完整)倒立摆MATLAB建模
- 格式:doc
- 大小:494.00 KB
- 文档页数:12
(完整)倒立摆MATLAB建模
Matlab程序设计
上交作业要求:
1)纸质文档:设计分析报告一份(包括系统建模、系统分析、系统设计思路、程序及其执行结果).
2)Matlab程序:按班级统一上交后备查。
题目一:
考虑如图所示的倒立摆系统.图中,倒立摆安装在一个小车上。这里仅考虑倒立摆在图面内运动的二维问题.
图 倒立摆系统
假定倒立摆系统的参数如下。
摆杆的质量:m=0.1g
摆杆的长度:2l=1m
小车的质量:M=1kg
重力加速度:g=10/s2
摆杆惯量:I=0.003kgm2
摆杆的质量在摆杆的中心.
设计一个控制系统,使得当给定任意初始条件(由干扰引起)时,最大超调量 %≤10%,
调节时间ts ≤4s ,使摆返回至垂直位置,并使小车返回至参考位置(x=0)。
要求:1、建立倒立摆系统的数学模型
2、分析系统的性能指标—-能控性、能观性、稳定性
3、设计状态反馈阵,使闭环极点能够达到期望的极点,这里所说的期望的极点确定是把系统设计成具有两个主导极点,两个非主导极点,这样就可以用二阶系统的分析方法进行参数的确定
4、用MATLAB 进行程序设计,得到设计后系统的脉冲响应、阶跃响应,绘出相应状态变量的时间响应图。
题目二:
根据自身的课题情况,任意选择一个被控对象,按照上题所示步骤进行分析和设计,并给出仿真程序及其执行结果。 (完整)倒立摆MATLAB建模
题目一:
考虑如图所示的倒立摆系统.图中,倒立摆安装在一个小车上。这里仅考虑倒立摆在图面内运动的二维问题.
图 倒立摆系统
假定倒立摆系统的参数如下。
摆杆的质量:m=0.1g
摆杆的长度:2l=1m
小车的质量:M=1kg
重力加速度:g=10/s2
摆杆惯量:I=0。003kgm2
摆杆的质量在摆杆的中心。
设计一个控制系统,使得当给定任意初始条件(由干扰引起)时,最大超调量 %≤10%,
调节时间ts ≤4s ,使摆返回至垂直位置,并使小车返回至参考位置(x=0)。
要求:1、建立倒立摆系统的数学模型
2、分析系统的性能指标—-能控性、能观性、稳定性
3、设计状态反馈阵,使闭环极点能够达到期望的极点,这里所说的期望的极点确定是把系统设计成具有两个主导极点,两个非主导极点,这样就可以用二阶系统的分析方法进行参数的确定
4、用MATLAB 进行程序设计,得到设计后系统的脉冲响应、阶跃响应,绘出相应状态变量的时间响应图.
设计分析报告 (完整)倒立摆MATLAB建模
1 系统建模
在忽略了空气阻力和各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆组成的系统。如下如所示.
图 一级倒立摆模型
其中:
φ 摆杆与垂直向上方向的夹角
θ 摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)
图是系统中小车和摆杆的受力分析图。其中,N和P为小车与摆杆相互作用力的水平和垂直方向的分量。
注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图所示,图示方向为矢量正方向.
分析小车水平方向所受的合力,可以得到以下方程:
NxbFxM
由摆杆水平方向的受力进行分析可以得到下面等式:
)sin(22lxdtdmN
即:
sincos2mlmlxmN
把这个等式代入式(3-1)中,就得到系统的第一个运动方程:
FmlmlxbxmMsincos)(2
为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程: (完整)倒立摆MATLAB建模
)cos(22ldtdmmgP
cossin2mlmlmgP
力矩平衡方程如下:
INlPlcossin
注意:此方程中力矩的方向,由于sinsin,coscos,,故等式前面有负号。
合并这两个方程,约去P和N,得到第二个运动方程:
cossin)(2xmlmglmlI
设(是摆杆与垂直向上方向之间的夹角),假设与1(单位是弧度)相比很小,即1,则可以进行近似处理:0)(,sin,1cos2dtd.用u来代表被控对象的输入力F,线性化后两个运动方程如下:
2(+)()ImlmglmlxMmxbxmlu
对式(3—9)进行拉普拉斯变换,得到
)()()()()()()()()(22222sUssmlssbXssXmMssmlXsmglssmlI
注意:推导传递函数时假设初始条件为0。
由于输出为角度,求解方程组的第一个方程,可以得到:
)(])([)(22ssgmlmlIsX
或 mglsmlImlssXs222)()()(
如果令xv,则有:
mglsmlImlsVs22)()()(
把上式代入方程组的第二个方程,得到:
)()()()()()(2222sUssmlsssgmlmlIbsgmlmlImM
整理后得到传递函数:
sqbmglsqmglmMsqmlIbssqmlsUs23242)()()()( (完整)倒立摆MATLAB建模
其中 22)())((mlmlImMq
设系统状态空间方程为:
DuCXyBuAXX
方程组 对,x解代数方程,得到解如下:
uMmlmMImlMmlmMImMmglxMmlmMImlbuMmlmMImlIMmlmMIglmxMmlmMIbmlIxxx2222222222)()()()()()()()()(
整理后得到系统状态空间方程:
uMmlmMImlMmlmMImlIxxMmlmMImMmglMmlmMImlbMmlmMIglmMmlmMIbmlIxx2222222222)(0)(00)()()(010000)()()(00010
uxxxy0001000001
代入倒立摆系统的参数。
摆杆的质量:m=0.1g
摆杆的长度:2l=1m
小车的质量:M=1kg
重力加速度:g=10/s2
摆杆惯量:I=0.003kgm2
010000010100010001101xxxxu
uxxxy0001000001
另外,也可以利用 MATLAB 中 tf2ss 命令对(3—13)式进行转化,求得上述状态方程. (完整)倒立摆MATLAB建模
2 系统分析
2。1 判断系统能控性和能观性
在MATLAB中,可以利用ctrb()和obsv()函数直接求出能控性和能观性矩阵
A=[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;0 0 1 0];
D=[0;0];
Uc=ctrb(A,B);rc=rank(Uc);
n=size(A);
if rc==n
disp(’system is controlled。')
elseif rc
disp('system is uncontrolled。’)
end
Vo=obsv(A,C);
ro=rank(Vo);
if ro==n
disp('system is observable.’)
elseif ro~=n
disp(’system is no observable.')
End
运行情况如下: (完整)倒立摆MATLAB建模
2.2 系统稳定性
A=[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;0 0 1 0];
D=[0;0];
P=poly(A),v=roots(P)
运行结果如下: (完整)倒立摆MATLAB建模
特征值为0(二重),3。3166,-3.3166,显然,其中一个极点在右半平面,该系统不稳定.
3 系统设计 极点配置与控制器设计
极点配置的方法就是通过一个适当的状态反馈增益矩阵的状态反馈方法 ,将闭环系统的极点配置到任意期望的位置.
()()()XtAxtBut,其中x是状态变量(n维),u是控制信号,这里选取控制信号为uKx,
()()()xtABKxt,该方程的解为()()(0)ABKtxtex,
系统的稳态响应和瞬态响应特性由矩阵 A — B K的特征决定。
1234KKKKKx,闭环系统的方程为
()xAxBfABKx,选取所希望的极点值为,1234pppp
设计状态反馈阵时,要使系统的极点设计成具有两个主导极点,两个非主导极点,这样就可以用二阶系统的分析方法进行参数的确定.
最大超调量小于等于10%,调节时间为4S,
运用超调量的计算公式,