倒立摆建模
- 格式:doc
- 大小:240.50 KB
- 文档页数:10
基于现代控制理论的一级倒立摆的稳定
控制及仿真
摘要:应用牛顿力学定律建立的直线一级倒立摆的,状态空间表达式的数学模型,并分析其稳定性,可控性和可观测性。在此基础上,研究经现代控制方法在一级倒立摆系统中的应用主要是极点配置法和线性二次型最优控制法,并在MATLAB仿真平台上对这些控制算法的效果进行仿真,可以得到不同的控制效果。
关键字:直线一级倒立摆;数学模型;极点配置;最优控制;MATLAB
引言
倒立摆系统是研究控制理论的一种典型的实验装置,具有成本低廉,结构简单,参数和结构易于调整的优点。然而倒立摆系统就有高阶次,不稳定,多变量,非线性和强耦合的特性,是个绝对不稳定的系统。倒立摆实物仿真实验是控制领域中检验某种控制理论及对反馈控制理论就有重要意义。
伴随着控制理论的不断发展,对倒立摆的控制也出现了采用经典控制理论,现代控制和人工智能控制理论等多种控制理论的方案和控制方法。本文首先建立了直线一级倒立摆得数学模型,并设计了极点配置控制器,线性二次最优控制器,最后用MATLAB进行仿真。
1 直线一级倒立摆建模及性能分析
1.1数学模型建立
在忽略了空气阻力和各种摩擦力之后,可将直线一级倒立摆系统抽象成小车和均匀杆组成的系统,如图1所示的倒立摆系统。图1中,倒立摆安装在一个小车上。这里仅考虑倒立摆在图面内运动的二维问题。
图 1倒立摆系统
假定倒立摆系统的参数如下。 摆杆的质量:m=0.5kg
摆杆的长度:2l=0.6m
小车的质量:M=0.5kg
重力加速度:g=10/s2
摆杆惯量:I=0.006kgm2
摆杆的质量在摆杆的中心。
输入量u=F是施加在小车上的外力,是个状态变量分别是小车的坐标x,ẋ,和倒立摆的垂直角度,。输出的被控量分别是小车的坐标x和倒立摆的垂直角度。试根据误差指标J最优意义下的最优控制的规划设计线性最优控制器,和极点配置控制器。满足一下指标
(1) 输出x和的过度时间小于2s;
(2) 输出量x的上升时间小于0.5s;
(3) 输出量的超调小于20%。
其中:
φ 摆杆与垂直向上方向的夹角
θ 摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)
图2是系统中小车和摆杆的受力分析图。其中,N和P为小车与摆杆相互作用力的水平和垂直方向的分量。
注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图所示,图示方向为矢量正方向。
MPFbẋẋxNIẋPθmgN
图2 小车和倒立摆的受力分析
分析小车水平方向所受的合力,可以得到以下方程:
NxbFxM
由摆杆水平方向的受力进行分析可以得到下面等式: )sin(22lxdtdmN
即:
sincos2mlmlxmN
把这个等式代入式(3-1)中,就得到系统的第一个运动方程:
FmlmlxbxmMsincos)(2
为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程:
)cos(22ldtdmmgP
cossin2mlmlmgP
力矩平衡方程如下:
INlPlcossin
注意:此方程中力矩的方向,由于sinsin,coscos,,故等式前面有负号。
合并这两个方程,约去P和N,得到第二个运动方程:
cossin)(2xmlmglmlI
设(是摆杆与垂直向上方向之间的夹角),假设与1(单位是弧度)相比很小,即1,则可以进行近似处理:0)(,sin,1cos2dtd。用u来代表被控对象的输入力F,线性化后两个运动方程如下:
2(+)()ImlmglmlxMmxbxmlu
对式(3-9)进行拉普拉斯变换,得到
)()()()()()()()()(22222sUssmlssbXssXmMssmlXsmglssmlI
注意:推导传递函数时假设初始条件为0。
设系统状态空间方程为:
DuCXyBuAXX
方程组 对,x解代数方程,得到解如下: uMmlmMImlMmlmMImMmglxMmlmMImlbuMmlmMImlIMmlmMIglmxMmlmMIbmlIxxx2222222222)()()()()()()()()(
整理后得到系统状态空间方程:
uMmlmMImlMmlmMImlIxxMmlmMImMmglMmlmMImlbMmlmMIglmMmlmMIbmlIxx2222222222)(0)(00)()()(010000)()()(00010
uxxxy0001000001
代入倒立摆系统的参数。
摆杆的质量:m=0.5kg
摆杆的长度:2l=0.6m
小车的质量:M=0.5kg
重力加速度:g=10/s2
摆杆惯量:I=0.006kgm2
小车的摩擦系数:b=0.1N/m/s
uxxxx2632.505849.100632.5252632.00100008947.717895.000010
uxxxy0001000001
1.2性能分析
1.2.1 判断系统能控性和能观性
在MATLAB中,可以利用ctrb()和obsv()函数直接求出能控性和能观性矩阵
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
运行情况如下:
system is controlled.
system is observable.
1.2.2 判断系统的稳定性
在MATLAB中,可以利用poly( )和roots( )函数求出系统的特征方程,以及特征方程的根,再根据根的是否有正根来判断系统是否稳定。最后解得系统的特根为:P1=0,P2=7.2159,P3=-7.2949,P4=-0.099985;因为系统的特征根P2=7.2159为正值,所以系统不稳定。如图3为系统的脉冲响应。
图3中out(1)为输入u为一个脉冲下小车的位移的变化,out(2)为输入u为一个脉冲下倒立摆垂直角度的变化,从图中容易看出响应是发散的,所以再未加任何控制器时系统是不稳定的。
020406080To: Out(1)00.10.20.30.40.50.60.70.80.910100200300400500To: Out(2)Impulse ResponseTime (sec)Amplitude
如图3 系统的脉冲响应
2 用现代控制法分析直线一阶倒立摆
2.1极点配置法
由1.2.1可知系统是完全能控的,可以通过状态反馈的方法将极点配置到期望的极点上。这里的反馈阵K可由acker(A,B,p)函数得到,其中p为希望的极点。
在设计状态反馈阵时,要使系统的极点p设计成具有两个主导极点,两个非主导极点,这样就可以用二阶系统的分析方法进行参数的确定。
最大超调量小于等于20%,调节时间为2S,
运用超调量的计算公式,
%100*21eMp,其中ξ为阻尼系数,有该公式可求得,阻尼系数ξ=0.69011,小于1,是欠阻尼。
wnts3,可以求得nw=2.7604
则极点公式为wnjwnP22.11,得到两个共轭极点为1.9977i -1.9052.1P 配置非主导极点, 153P,154P 则],,,[4321ppppP
在MATLAB的控制系统工具箱中提供了单变量系统极点配置acker(),的K=[-10.076, 0.42694, 67.797, 7.8329];
引入状态反馈阵后闭环系统的状态空间表达式为:
DvxDFCyBvxBFAx)()(
引入状态反馈阵后的响应matlab程序
K=acker(A,B,P11);
Ab=A-B*K;
[num,den]=ss2tf(Ab,B,C,D);
figure;
step(num,den,T);
figure;
impulse(num,den,T)%零极点配置后的响应图(见图二)
如图4为系统加入状态反馈阵后输出响应为
-0.500.511.5To: Out(1)00.511.522.533.544.55-0.0500.050.10.15To: Out(2)Impulse ResponseTime (sec)Amplitude
如图4极点配置后的响应曲线
2.2线性二次型最优控制