基于LQR的一级倒立摆设计.docx
《基于LQR的一级倒立摆设计.docx》由会员分享,可在线阅读,更多相关《基于LQR的一级倒立摆设计.docx(12页珍藏版)》请在冰点文库上搜索。
基于LQR的一级倒立摆设计
基于LQR的一级倒立摆设计
直线一级倒立摆LQR控制器的设计
摘要
在控制理论上倒立摆使许多抽象的概念可以直观的表达出来。
无论是在实践还是理论上都具有深刻的意义。
可以用拉格朗日方法建模,设计倒立摆二次型最优控制器,通过MATLAB仿真和实际系统实验,实现对倒立摆的稳定控制。
建立模型,确定参数,进行控制算法设计、系统调试和分析等步骤实现。
关键词:
二次型;倒立摆;稳定控制
前言
倒立摆的最初研究开始于20世纪50年代,由美国麻省理工学院的控制论专家根据火箭发射助推器原理设计;而后人们有参照双足机器人控制问题研究出二级倒立摆设备,从而提高了检验控制论和方法的能力,也拓宽了检验范围。
在控制理论上倒立摆使许多抽象概念如系统稳定性、可控性、系统收敛速度和系统抗干扰能力等,都可以直观的表现出来。
同时由于倒立摆系统的高阶次、不稳定、多变量、非线性和强耦合特性,许多现代控制理论的研究人员一直将它视为研究对象,并不断从中发掘出新的控制理论和控制方法。
课程设计要求:
熟悉倒立摆实际控制系统;对倒立摆系统建模;进行控制算法设计;进行系统调试和分析;利用MATLAB高级语言编程,实现倒立摆稳定控制;实时输出波形,得出结论。
一.线性二次最优控制LQR基本理论
LQR控制器是应用线性二次型最优控制原理设计的控制器。
它的任务在于,当系统状态由于任何原因偏离了平衡状态时,能在不消耗过多能量的情况下,保持系统状态各分量仍接近于平衡状态。
线性二次型最优控制研究的系统是线性的或可线性化的,并且性能指标是状态变量和控制变量的二次型函数的积分。
线性二次最优控制LQR基本原理为,由系统方程:
确定下列最佳控制向量的矩阵K:
使得性能指标达到最小值:
式中:
Q为正定(或正半定)厄米特或实对称阵
R为正定厄米特或实对称阵
下面是最优控制LQR控制原理图:
图1LQR控制原理图
方程右端第二项是是考虑到控制能量的损耗而引进的,矩阵Q和R确定了误差和能量损耗的相对重要性。
并且假设控制向量u(t)是无约束的。
对线性系统:
根据期望性能指标选取Q和R,利用MATLAB命令lqr就可以得到反馈矩阵K的值。
改变矩阵Q的值,可以得到不同的响应效果,Q值越大(在一定范围之内),系统抵抗干扰的的能力越强,调整时间越短。
但是Q不能过大。
二.建立模型及分析
在忽略了空气阻力,各种摩擦之后,可将直线一级倒立摆系统抽象成小车和匀质杆
图3小车位移和摆杆角度阶跃响应曲线
由图可以看出,小车位移和摆杆角度都是发散的,所以倒立摆系统不稳定。
2.倒立摆能控性能分析
系统能控性是控制器设计的前提,由能控性矩阵M,利用MATLAB可得出Rank(M)=4,所以系统完全可控。
三.软件编程
程序如下:
clear;
A=[0100;
0000;
0001;
0029.40];
B=[0103]';
C=[1000;
0010];
D=[00]';
Q11=5000;Q33=100;
Q=[Q11000;
0000;
00Q330;
0000];
R=1;
K=lqr(A,B,Q,R)%算K
Ac=[(A-B*K)];Bc=[B];Cc=[C];Dc=[D];
T=0:
0.005:
5;
U=ones(size(T));%输入单位矩阵
[Y,X]=lsim(Ac,Bc,Cc,Dc,U,T);%输出响应
plot(T,X(:
1),':
');holdon;
plot(T,X(:
2),'-.');holdon;
plot(T,X(:
3),'.');holdon;
plot(T,X(:
4),'-')
legend('小车位移','小车速度','摆杆角度','摆杆角速度')
运行程序可得K的值。
四.系统调试和结果分析
根据方案设计结果,取Q11=1,Q33=1时,可得K=[-1-1.785525.4224.6849]。
此时系统的响应曲线如下图:
图3系统的响应曲线
从图中可以看出,响应的超调量很小,但稳定时间和上升时间偏大,小车的位置没有跟踪输入,而是反方向移动。
当缩短稳定时间和上升时间,可以发现:
在Q矩阵中,增加Q11使稳定时间和上升时间变短,并且使摆杆的角度变化减小。
这里取Q11=5000,Q33=100,可得K=[-70.7107-38.1782110.804920.3521],系统响应曲线如下:
图4系统的响应曲线
综上,通过增大Q矩阵中的Q11和Q33,系统的稳定时间和上升时间变短,超调量和摆杆的角度变化也同时减小。
五.系统仿真
在SIMULINK中建立直线一级倒立摆的模型如下图所示:
图5simulink模拟结构图
输入Q11=1,Q33=1时,得到的K=[-1-1.785525.4224.6849],执行仿真得到如下仿真结果:
图6小车位移仿真曲线
图7摆杆角度仿真曲线
输入Q11=5000,Q33=100时,得到的K=[-70.7107-38.1782110.804920.3521],执行仿真得到如下仿真结果:
图8小车位移仿真曲线
图9摆杆角度仿真曲线
从图中可以发现,Q矩阵中,增加Q11使稳定时间和上升时间变短,并且使摆杆的角度变化减小,增大Q11和Q33系统响应明显加快,但是对于实际离散控制系统,过大的控制量会引起系统震荡。
六.结论及进一步设想
建立了一级倒立摆的数学模型,并设计了LQR控制器,用MATLAB实现了控制系统的仿真,得到了一级倒立摆各状态量及控制量的响应曲线。
由实验结果可以看到,本次课设完成了要求,达到了目的。
当然由于知识有限设计还有一些缺陷。
参考文献
[1]邹伯敏.自动控制理论[M].北京:
机械工业出版社,2003年
[2]刘豹.现代控制理论[M].北京:
机械工业出版社,2007年
[3]王仲民,孙建军,岳宏.基于LQR的倒立摆最优控制系统研究[J].工业仪表与自动化装置.2005年,3(6):
28~32。
[4]吴晓燕,张双选.MATLAB在自动控制中的应用[M].西安:
西安电子科技大学出版社,2006年。
[5]王士莹,张峰,陈志勇,赵协广.直线一级倒立摆的LQR控制器设计[J].信息技术.2006年,35(6):
98~99。