当前位置:
文档之家› 三级倒立摆建模与控制器设计仿真
三级倒立摆建模与控制器设计仿真
>> Ac=[(A-B*K)];Bc=[B];Cc=[C];Dc=[D];
>> T=0:0.02:20;U=zeros(size(T));
>> x0=[0;0.05;-0.05;0.05;0;0;0;0];
>> [Y,X]=lsim(Ac,Bc,Cc,Dc,U,T,x0);
>> figure(1);plot(T,Y(:,1));
B=zeros(8,1);
B(5:8)= M
C=zeros(4,8)
C(1:4,1:4)=eye(4,4);
D=zeros(4,1);
系统的稳定性、能控性及能惯性判断
对于如式(2)式所示的线性定常系统而言,其稳定性可通过计算系统矩阵A的特征值来确定(李雅普诺夫线性系统稳定判据),如果特征值均处于[S]复平面左半平面,则系统稳定。
>> xlabel('Time/sec');ylabel('02/rad');title('中摆角度变化曲线');grid;
>> figure(4);plot(T,Y(:,4));
>> xlabel('Time/sec');ylabel('03/rad');title('上摆角度变化曲线');grid;
>> xlabel('Time/sec');ylabel('x(小车)/m');title('小车位移');grid;
>> figure(2);plot(T,Y(:,2));
>> xlabel('Time/sec');ylabel('01/rad');title('下摆角度变化曲线');grid;
>> figure(3);plot(T,Y(:,3));
>> Q=[q1 0 0 0 0 0 0 0;0 q2 0 0 0 0 0 0;0 0 q3 0 0 0 0 0;0 0 0 q4 0 0 0 0;0 0 0 0 q5 0 0 0;0 0 0 0 0 q6 0 0;0 0 0 0 0 0 q7 0;0 0 0 0 0 0 0 q8];R=1;
>> [K,P,r2]=lqr(A,B,Q,R)
下摆牛顿定律及动力矩方程:
中摆受力分析:
)
丄摆受力分析:
注: 下,中,上摆质心到铰链处距离;
下,中摆的长度;
;
;
其动力学方程如下⑴:
M( ) =F( ⑴
M( )=
F( )=
N( )=
G=
将此非线性模型在系统的平衡点r= = = =0, 处线性化得到系统的状态方程:
⑵
,
其中:
将参数带入方程计算:
A=
B=
%系统状态方程的重构
%状态变量
( )=( ,zeta )%输出变量Y=X
A=zeros(8,8);
A(1:4,5:8)=eye(4,4);
A(5:8,1:4)= M
A(5:8,5:8)= M %不用invese而用blackslash是由于blackslash有更好的错误检查机制并且少用时间和内存。
C= D=
控制器设计
根据由图⑴所示的倒立摆系统模型的推导可知,该系统在一定的前提下,可以转变为线性系统#对于线性系统的控制,需要经过系统的稳定性、能控性和能观性判断后才能选择其最优的控制策略#图!显示了式($)所示的线性系统外控制器的设计过程
状态方程的重构过程,实质上就是本文从式⑴式转化为式⑵式的过程,在MATLAB中,可以用如下代码表示:
Hale Waihona Puke 三级倒立摆摘要:从刚体运动学角度分析了三级倒立摆系统的运动,运用状态空间法对三级倒立摆系统进行数学模型的建立;应用二次型最优控理论实现三级倒立摆控制;最后根据计算结果,通过Matlab程序仿真,得出上中下摆的角度和小车的位移曲线图。
关键词:倒立摆;最优控;仿真;MATLAB
三级倒立摆系统模型
一个典型的三级直线倒立摆系统主要由机电装置和控制装置两部分组成,机电装置的结构见图!
MATLAB中,用函数eig(A)来计算系统矩阵的特征值,经过计算,式⑵式所示的线性定常系统的特征值为:
r1 =[013.27158.39193.1656-18.2950-2.9940-8.5547-13.7810]
因此,该系统为不稳定系统,需加外部控制器形如式(2)所示的线性定常系统能控的充分必要条件是:
>>B=[0;0;0;0;8.72;-29.621;32.238;-3.341];
>> C=[1,0,0,0,0,0,0,0;0,1,0,0,0,0,0,0;0,0,1,0,0,0,0,0;0,0,0,1,0,0,0,0];
>> D=[0;0;0;0];
>> r1=eig(A)
>> q1=500;q2=500;q3=300;q4=100;q5=0;q6=0;q7=0;q8=0;
综上所述,式(2)所示的线性定常系统为不稳定的能控、能观系统,可加外控制器实现系统的稳定。
线性最有调节器的设计
定义状态方程⑵的二次性能指标函数为: ⑶
正定R阵的作用在于限制控制器的输出不会太大而导致难于实现,所以不失一般性,可以将其设为1,LQR方法中,Q阵可以选为非负的对角阵,Q=diag( ).各主对角系数的相对大小对系统的整体控制性能有很大的影响,目前普遍采用试探实验的方法来确定加权矩阵Q的系数大小。观察知: 大小的变化对小车的位移影响很大,因为小车位移大小受直线导轨长度的物理限制,所以, 取值可以固定为一个适当大小的数,使小车位移不至过大; , 次之, 的影响较小。取值时可以去 ,取Q=diag(500,500,300,100,0,0,0,0),R=1.求解Riccati代数方程
rank[B AB… ]=n;
MATLAB中,用“ctrb(A,B)”来求系统能控矩阵 =[B AB… ]的秩,经过计算rank( )=8,系统能控。
形如式(2)所示的线性定常系统能观的充分必要条件为:
MATLAB中,用“obsv(A,C)”来求系统能观阵 的秩,计算的,rank( )=8,系统能观。
PA+ P-PB +Q=0⑷
可以得到状态反馈阵
此时各摆角的动态和稳态指标较为理想。初始条件为 。
仿真结果
程序:
>>A=[0,0,0,0,1,0,0,0;0,0,0,0,0,1,0,0;0,0,0,0,0,0,1,0;0,0,0,0,0,0,0,1;0,-3.6551,0.12698,0.44281,-16.809,0.016897,-0.0056447,-0.0032595;0,45.74,-80.216,-8.3647,57.098,-0.56272,0.32956,-0.072179;0,-49.782,169.9,-4.781,-62.143,0.98145,-0.65964,0.32957;0,-5.159,-114.49,72.269,6.4401,-0.53453,0.51673,-0.76437;];
其主要由摆杆、电机、小车、导轨、传动齿轮、齿条及各种传感器等构成假设系统中的每一根摆杆都是匀质刚体,驱动力与放大器的输入成正比且无延迟地直接作用于小车上,并且可以在忽略实验中的库仑摩擦和动摩擦的前提下,图1所示的倒立摆系统的物理分析:
三级倒立摆受力分析图:
小车受力分析图
下摆受力分析
中摆受力分析
上摆受力分析