单级倒立摆系统.docx
- 文档编号:23180731
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:22
- 大小:237.36KB
单级倒立摆系统.docx
《单级倒立摆系统.docx》由会员分享,可在线阅读,更多相关《单级倒立摆系统.docx(22页珍藏版)》请在冰豆网上搜索。
单级倒立摆系统
单级倒立摆系统建模
图中u是施加于小车的水平方向的作用力,x是小车的位移,B是摆杆的倾斜角。
若不给小车施加控制力,倒摆会向左或向右倾斜,控制的目的是当倒摆出现偏角时,在水平方向上给小车以作用力,使得摆杆和小车能够迅速恢复到平衡位置(0=0,x=0)。
为了建立倒立摆系统的简易模型又不失其实质,可先作如下假设:
1、倒立摆与摆杆均为匀质刚体。
2、可忽略摆与载体,载体与外界的摩擦,即忽略摆轴、轮轴、轮与接触面之间的摩擦力等。
系统的受力如下图示,其中小车的质量为M,瞬时位移为x,摆杆长度为2L,质量为m,瞬时位置为(x-LsinT)。
d2x
dt2
摆杆重心沿x轴方向有:
摆杆重心沿y轴方向有:
摆杆围绕其重心的转动运动可用力矩方程来描述:
H-VLsinrHLcost
式中,1二訥石冷沁为摆杆围绕其重心的转动惯量
V-mg二0
9(s)_mL
得传递函数G(s)二U(s)[(Mm)IMmL2]s2_m(Mm)gL
控制指标共有4个,即单级倒立摆的摆角二、摆速二、小车位置x、小车速度x。
以摆角和小车位移x为输出量,将倒立摆运动方程转化为状态方程的形式为:
..I
9I
x
o
m(m+M)gL
(M+m)l+MmL2
0
2.2
mgL
i(M+m)l+MmL2
10
00
00
00
O'
0
1
0
.I
Q|
I+
X
lX」
0
mL
(M+m)l+MmL2
0
I+mL2
i(M+m)l+MmL2
"000、
|91
—
冥
I+
10010?
x<
假设系统内部各相关参数如下:
M:
小车质量1kg
m:
摆杆质量0.5kg
L:
摆杆转动轴心到杆质心的长度0.3m
2
g:
重力加速度9.8m/s
I:
摆杆转动惯量0.015kgm2
程序代码:
%分别得摆角和小车位置对输入的传递函数
M=1;
m=0.5;
L=0.3;
g=9.8;
1=0.015;
t1=m*(m+M)*g*L/[(M+m)*I+M*m*LA2];
t2=mA2*g*LA2/[(M+m)*I+M*m*LA2];
t3=m*L/[(M+m)*l+M*m*LA2];
t4=(l+m*LA2)/[(M+m)*l+M*m*LA2];
A=[0100;
t1000;
0001;
t2000];
B=[0;t3;0;t4];
C=[1000;
0010];
D=[0;0];
sys1=ss(A,B,C,D);
sys2=tf(sys1)
执行得:
Transferfunctionfrominputtooutput...
2.222
#1:
sA2-1.776e-015s-32.67
0.8889sA2+7.895e-016s-21.78#2:
sA4-1.776e-015sA3-32.67sA2
%摆角开环控制脉冲响应
M=1;
m=0.5;
L=0.3;
g=9.8;
I=0.015;
num=[m*L];
den=[(M+m)*I+M*m*LA20-m*(m+M)*g*L];impulse(num,den)
axis([01-600])
grid
执行得开环响应,系统开环不稳定:
ImpulseResponse
2
dmA
单级倒立摆系统的PID控制
比例、积分和微分控制器的控制规律
比例控制器能减小上升时间,减小稳态误差;积分控制亦可以减小稳态误差,但可能使瞬态响应变差;微分控制能提高系统稳定性、减小超调并改善系统瞬态响应。
闭环响应1
上升时间
||超调|
|调节时间|
|稳态误差
|变化不大|
|减小
~Kd~~1
变化不大
||减小~|
|减小
变化不大
针对单级倒立摆系统,由于本设计的控制目标是通过给小车底座一个控制力u,使小车停留在预定的位置,并使杆不倒下,故设定要跟踪的参考输入信号为零,同时加于小车的干扰力设为脉冲信号。
那么,添加了PID控制器的
系统结构图如下:
F(s)
controller
其等效方框图如下,便于MATLAB传递函数的录入。
图中Gc(s)为PID控制器为:
G/S)=(心£3-KJ/s
其中,Kp、Kd、Ki分别为比例、微分和积分常数。
运行程序:
%Kp=1、Kd=1、Ki=1时
M=1;
m=0.5;
L=0.3;
g=9.8;
1=0.015;
num=[m*L];
den=[(M+m)*I+M*m*LA20-m*(m+M)*g*L];
sys1=tf(num,den);
kp=1;
kd=1;
ki=1;
numPID=[kdkpki];
denPID=[10];
ctrc=tf(numPID,denPID);
sys=feedback(sys1,ctrc);impulse(sys)
title('Impulseresponsewithkp=1kd=1ki=1')
3.5
2.5
eq—^-omA
0.5
0
0246810
Time(sec)
运行程序:
%Kp=100、Kd=1、Ki=10时
M=1;
m=0.5;
L=0.3;
g=9.8;
1=0.015;
num=[m*L];
den=[(M+m)*I+M*m*LA20-m*(m+M)*g*L];
sys1=tf(num,den);
kp=100;
kd=1;
ki=10;
numPID=[kdkpki];
denPID=[10];
ctrc=tf(numPID,denPID);
sys=feedback(sys1,ctrc);
impulse(sys)
title('Impulseresponsewithkp=100kd=1ki=10'
增大Kd值以减小超调,令Kp=100、Kd=50、Ki=1得:
0.05
Impulseresponsewithkp=100kd=50ki=1
0.04
0.5
1
1.522.533.544.55
03
02
1o1oooo
-
234oooooo---
再考虑小车位置时的控制仿真,此时运行程序:
num=[0.8890-21.78];
den=[10-32.6700];
sys1=tf(num,den);
kp=100;
kd=50;
ki=1;
numPID=[kdkpki];
denPID=[10];
ctrc=tf(numPID,denPID);
sys=feedback(sys1,ctrc);
impulse(sys)
axis([03060])
得:
ImpulseResponse
60rr1
50
40
e
u30
20
10
22.53
但小车位置却还是处于失
0」:
00.511.5
Time(sec)
可见,虽然此时摆杆角度处于较好的闭环控制下,控状态。
基于极点配置的倒立摆状态反馈控制器设计倒立摆系统全状态反馈模型图如下图示:
k
X=AX+BXJ
y-
ex
x
K
4
——可以得到单级倒立摆系统的两个性能指
n
要求设计控制器,使系统具有较短的调节时间(约4秒)和较小的超调(小0.05)由
_e■和Ts-
标._0.69,二-1.93取.=0.7,--2。
将得到的阻尼比和自然角频率
值代人下式:
%2—:
n*j'n'.l-2
得到系统的2个主导极点为:
-1.4+j1.43,-1.4-j1.43
另外两个非主导极点,不妨取为两重极点,且距主导极点5倍以上,即满足:
16Mb||一51.4=7,故可以取S3二S4=「7。
至此,单级倒立摆系统的4个期望极点都已确定。
对系统进行任意零极点配置的前提是,系统状态完全能控,可以借助Matlab程序判断系统的能控性。
M=1;
m=0.5;
L=0.3;
g=9.8;
1=0.015;
t1=m*(m+M)*g*L/[(M+m)*l+M*m*LA2];
t2=mA2*g*LA2/[(M+m)*I+M*m*LA2];
t3=m*L/[(M+m)*I+M*m*LA2];t4=(I+m*LA2)/[(M+m)*I+M*m*LA2];
A=[0100;
t1000;
0001;
t2000];
B=[0;t3;0;t4];
k=rank(ctrb(A,B))
得到k=4,满秩,系统状态完全能控,可进行任意极点配置
为匹配place()函数,把-7,-7两个极点改成-7-0.0001i,-7+0.0001i,因为
增加的徐步很小,可以忽略不记,运行程序得结果:
M=1;
m=0.5;
L=0.3;
g=9.8;
I=0.015;
t1=m*(m+M)*g*L/[(M+m)*I+M*m*LA2];
t2=mA2*g*LA2/[(M+m)*I+M*m*LA2];
t3=m*L/[(M+m)*I+M*m*LA2];
t4=(l+m*LA2)/[(M+m)*l+M*m*LA2];
A=[0100;
t1000;
0001;
t2000];
B=[0;t3;0;t4];
P=[-1.4+1.43i-1.4-1.43i-7-0.0001i-7+0.0001i];
K=place(A,B,P)
>>K=
59.796611.1098-9.0110-8.8746
加入以上状态反馈率的K值后运行如下程序:
M=1;
m=0.5;
L=0.3;
g=9.8;
l=0.015;
t1=m*(m+M)*g*L/[(M+m)*l+M*m*LA2];t2=mA2*g*LA2/[(M+m)*l+M*m*LA2];
t3=m*L/[(M+m)*l+M*m*LA2];
t4=(l+m*LA2)/[(M+m)*l+M*m*LA2];
A=[0100;
t1000;
0001;
t2000];
B=[0;t3;0;t4];
C=[1000;
0010];
D=[0;0];
K=[59.796611.1098-9.0110-8.8746];
Ac=[(A-B*K)];
T=0:
0.005:
6;
U=0.2*ones(size(T));
[Y,X]=lsim(Ac,B,C,D,U,T);
plot(T,X(:
1),'-');holdon;
plot(T,X(:
3),'-.');holdon;
legend(卩endAng','CartPos')
0.005
由图可知,摆杆能最终垂直平衡,小车也到达新的平衡位置。
相比PID控制
方法,极点配置法的超调减小了,同时小车位置的响应不再发散,但小车位置没有得到跟踪,而是向负方向移动了。
基于LQR方法的单级倒立摆控制器设计
最优控制理论主要是依据庞德里亚金的极值原理,通过对性能指标的优化寻找可以使目标极小的控制器。
其中线性二次型的性能指标可以通过求解Riccati
方程得到控制器的反馈系数,并且随着计算机技术的进步,求解过程变得越来越简单,因而在线性多变量系统的控制设计中应用较广泛。
利用线性二次型性
能指标设计的控制器称作LQR控制器。
线性二次型最优控制问题:
给定连续定常系统的状态空间为x(t)二Ax(t)Bu(t),且x(O)=xo,最优控制的
1tf
性能指标函数为J(u)=?
L(xTQx+uTRu)dt,式中,Q为状态加权系数矩阵,R为控制加权系数矩阵。
当上彳二^时,上述问题就是典型的无限时间最优调节器问题,最优控制为:
u(t)二-K(t)x(t),式中,K(t)=R*BTP(t)是最优控制反馈系数矩阵,P(t)需满足如下Riccati方程:
TT1T
PPAAPQ-PBR—BP=0
因为Riccati中的A,B,Q,R均为常数矩阵,所以P(t)是存在且唯一的,并且是非负定的。
以下针对单级倒立摆应用LQR法设计与调节控制器,控制摆杆保持倒立平衡的同时,跟踪小车的位置。
假设全状态反馈可实现(4个状态量都可测),找出确定反馈控制规律K,
Matlab中有专门求解连续系统线性二次型最优控制问题的函数lqr()可得K。
它
允许选择两个参数(R和Q),这两个参数用来平衡输入量和状态量。
最简单的情况是R=1,Q=Ct*C。
当然,可通过改变Q中的非零元素以得期望的响应。
借助Matlab易得Q矩阵:
1000
T0000
Q=C*C=
0010
0000
函数lqr()主要调用格式为
[K,P,E]=lqr(A,B,Q,R)
Q和R分别为二次型目标函数的加权矩阵。
输出格式的P为连续时间黎卡
提矩阵代数方程的对称矩阵解,K为线性二次型最优控制的状态反馈矩阵
R」BtP,E则为A-BK的特征值。
于是可以执行以下程序:
M=1;
m=0.5;
L=0.3;
g=9.8;
1=0.015;
t1=m*(m+M)*g*L/[(M+m)*I+M*m*LA2];
t2=mA2*g*LA2/[(M+m)*I+M*m*LA2];
t3=m*L/[(M+m)*l+M*m*LA2];
t4=(l+m*LA2)/[(M+m)*l+M*m*LA2];
A=[0100;
t1000;
0001;
t2000];
B=[0;t3;0;t4];
Q=[1000;
0000;
0010;
0000];
R=1;
[K,P,E]=lqr(A,B,Q,R)
得到:
K=
-2.0892
36.08826.5031-1.0000运行如下程序得到响应曲线:
M=1;
m=0.5;
L=0.3;
g=9.8;
I=0.015;
t1=m*(m+M)*g*L/[(M+m)*I+M*m*LA2];t2=mA2*g*LA2/[(M+m)*I+M*m*LA2];t3=m*L/[(M+m)*I+M*m*LA2];t4=(l+m*LA2)/[(M+m)*l+M*m*LA2];
A=[0100;
t1000;
0001;
t2000];
B=[0;t3;0;t4];
Q=[1000;
0000;
0010;
0000];
R=1;
K=lqr(A,B,Q,R);
Ac=[A-B*K];
T=0:
0.005:
6;
U=0.2*ones(size(T));
[Y,X]=lsim(Ac,B,C,D,U,T);plot(T,X(:
1),'-');holdon;
plot(T,X(:
3),'-.');holdon;
legend('PendAng','CartPos')
PendAngCartPos
0.1
0.05-
0-
-0.05-
-0.1-
-0.15・
-0.2-
-0.25[
01
观察发现,响应的超调量比极点配置法有减小,但调节时间和上升时间偏大,小车的位置没有跟踪输入,而是向相反方向移动。
为缩短调节时间和上升时间通过试探法改变C矩阵中的非零元素,可使性能得到改进。
如取:
-
10
0
0
0
0
0
0
0
Q=
0
0
50
0
0
0
0
0
得到:
0.05
PendAngCartPos
-0.05
-0.1
-0.15
-0.2
-0.25
0123456
调节及上升时间均得以减小,小车的位移偏差也减小,系统响应得到了很好的改善。
通过多次改变矩阵Q的值,观察得到的不同响应效果可认为,Q的值越大
(在一定的范围内),系统抵抗干扰的能力越强,调节时间越短。
但Q也不能过大,因为这样控制要求也会随之提高。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 倒立 系统