倒立摆的LQR控制器算法的设计与仿真

LQR 控制器算法的设计与仿真
4.1 线性二次最优控制的概述
美容喷雾器
应用经典控制理论设计控制系统,能够解决很多简单、确定系统的实际设计问题。但是对于诸多新型而复杂的控制系统,例如多输入多输出系统与阶次较高的系统,往往得不到满意的结果。这时就需要有在状态空间模型下建立的最优控制策略。
最优控制是现代控制理论的核心。所谓最优控制,就是在一定条件下,在完成所要求的控制任务时,使系统的某种性能指标具有最优值。根据系统不同的用途,可提出各种不用的性能指标。最优控制的设计,就是选择最优控制,以使某一种性能指标为最小。
最优控制就是在满足一定的约束条件下,寻求最优控制策略,使系统的某种性能指标具有最优值的一种控制方法。对于一个线性系统,如果其性能泛函是状态变量或控制变量的二次型函数的积分,则这样的最优控制问题就称为线性二次型最优控制问题,而利用线性二次型性能指标设计的控制器就被称作线性二次型最优(Linear Quadratic Regulator)控制器,缩写为LQR 控制器[15]。
利用线性二次型最优控制算法不仅易于分析、处理和计算,得到的系统控制方法还具有较好的鲁棒性与动态特性以及能够获得线性反馈结构等优点,而且特别可贵的是,线性二次型最优控制得到状态线性反
馈的最优控制规律,易于构成闭环最优控制。而且,MATLAB 的应用为线性二次型最优控制的理论仿真提供了很好的条件,更为实现稳、准、快的控制目标提供了方便。因而线性二次型控制器已经成为自动控制系统中反馈控制设计的一种重要的控制方法,在实际的控制系统设计中得到了广泛的应用。
4.2 线性二次最优控制的原理
线性二次最优控制的控制原理框图如图:
图4.1 LQR 控制系统结构图 K
X AX BU
Y CX DU =+=+
Fig 4.1 Conventional LQR control system structure
对于状态方程式所表示的连续时间的线性被控对象有:
0)0(),()()(x x t Bu t Ax t x =+=                                  (4-1)
上式中,x(t)为n 维状态向量;u(t)为m 维控制向量;A ,B 分别为n×n 及n×m 阶的常数矩阵。在进行
线性二次最优控制系统设计时,比较令人感兴趣的是如何选择控制向量u(t),使得给定的性能指标达到最小,线性二次最优调节器( LQR) 是针对系统状态方程,寻最优控制,使得控制性能指标 J  达到最小,其中 Q 、R 分别表示了对状态变量和输入变量的加权值。
二次型性能指标函数:
dt RU U QX X J T T )(+=⎰+∞
-                        (4-2)
蜡烛灯效果图则有如下状态反馈控制律:
)()(t Kx t U -=                                  (4-3)
式中,K 为最优反馈矩阵:
P B R K T 1-=                                    (4-4)
在式(4-4)中,P 为Riccati 方程非负定对称解。而Riccati 方程为:
i5201=+-+-Q P B PBR P A PA T T                    (4-5)
如此,可得到状态反馈增益向量K :
P B R K T 1-=                                    (4-6)
由此可见最优控制器的设计的关键是选择合适的加权矩阵Q 和R ,并根据式(4-6)可以算出P ,这样就能求出反馈增益K 了。而加权矩阵Q 和R 的具体作用为:Q 中某元素相对增加时,其对应的状态变量的响应速度增加,其他状态变量的响应速度相对减慢;R 增加时,控制力减小,角度变化变小,跟随速度变慢。改变矩阵Q 的值,可以得到不同的响应效果,Q 主对角线元素的值在一定范围之内越大,系统调整时间越短,而且抵抗干扰的能力越强,但是Q 不能过大,不然将对实验结果有一定的影响[16]。
上述推导过程即为线性二次最优控制的控制原理。而当今现在,随着计算机技术的飞速发展,已经可以不使用上述公式进行繁琐的计算,而利用 MATLAB 的lqr 命令轻松的得到反馈矩阵K 的值:
(,,,)K lqr A B Q R =
4.3 二次最优控制器的参数调整
二次最优控制器的参数调整关键在于选择好合适的加权矩阵Q 和R ,这样就能得出反馈增益K [17]。其中,加权矩阵中的Q 和R 的具体作用为:Q 中某元素相对增加时,其对应的状态变量的响应速度增加,其他状态变量的响应速度相对减慢;R 增加时,控制力减小,角度变化变小,跟随速度变慢。而在实际应用中,通常将R 值进行固定,然后对Q 进行调整以得到较好的控制效果[18]。所以,在这里,选取R=0.003。
在LQR 控制器设计中,选取R=0.003,Q 阵为对角阵:
⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=4,400003,300002,200001,1Q Q Q Q Q                          (4-7)
其中,Q1,1代表小车位置的权重(即x ),Q2,2代表小车速度的权重(即x ),Q3,3代表摆杆角度的权重(即θ),Q4,4代表摆杆角速度的权重(即θ )。而在该实验中,只考虑小车的位移及摆杆的摆动角度问题,所以,可以将Q2,2和Q4,4都定义为0,这样,只需要调整Q1,1和Q3,3。则Q 的矩阵可以变换为:
⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=000003,30000000001,1Q Q Q                              (4-8)
变压器油泵接下来,根据第二章所建立的系统的状态空间表达式: u x x x x ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡32597.2000503.10058199
.2600556.001000072547.100241.000010θθθθ              (4-9) u x x x y ⎥⎦⎤⎢⎣⎡+⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=0
001000001θθθ                      (4-10)
可以得到:
⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--=058199.2600556.001000072547.100241.000010A ,
⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=32597.2000503.10B
⎥⎦⎤⎢⎣⎡=01000001C ,
⎥⎦⎤⎢⎣⎡=00D  那么,首先取Q1,1=Q3,3=1的时候,在MATLAB 的输入界面输入以下程序:
%最优控制
包装盒fonmooA=[ 0 1 0 0;
0 -0.00241 1.72547 0;
0 0 0 1;
0 -0.00556 26.58199 0];
B=[ 0 1.00503 0 2.32597]';
C=[ 1 0 0 0;
0 0 1 0];
D=[ 0 0 ]';
%求向量K
Q11=1;
Q22=0;
Q33=1;
Q44=0;
非标夹具Q=[Q11 0 0 0;
0 Q22 0 0;
0 0 Q33 0;
0 0 0 Q44];
R = [0.003];
K = lqr(A,B,Q,R)
%计算LQR 控制矩阵
Ac = [(A-B*K)];
Bc = [B];
Cc = [C];
Dc = [D];
%求阶跃响应
XO=[0.01 -0.001 0.001 -0.001];%初始状态
t=0:0.005:5;
U=20*ones(size(t));
[Y ,X]=lsim(Ac,Bcn,Cc,Dc,U,t,XO);
yl=Y(:,1);
y2=Y(:,2);
plot(t,yl,'r-',t,y2,'b-');
legend('小车位置','摆杆角度');
axis([0 5 -30 30]);
grid
可以得到如下的仿真结果:
K =
-
18.26 -14.51 66.35 13.42
系统的阶跃响应曲线如下图所示。
图4.2 Q1,1=Q3,3=1时倒立摆系统阶跃响应图
Fig.4.2 When Q1,1=Q3,3 = 1 inverted pendulum system step response figure
由这个图可以看出,小车的位移和角度在2.5秒的时候就基本能达到稳定,而且就小车位移而言,开始时候产生的超调还是相对较小的。但是,摆杆的角度,在开始时候的超调量有些偏大。而倒立摆系统对摆杆角度的超调量的要求比较严格,需要将摆杆角度的超调量控制在尽量小的范围内。又可根据Q值变化对系统的影响,增大Q3,3值可以减小超调量,但是同时也会增加系统的响应时间,反之则超调量增大,响应时间减小;增大Q1,1可以增大系统的超调量,而减小系统的响应时间,反之则超调量减小,响应时间增大。所以,在这里,为了达到更好的实验效果,尝试增大Q3,3值以减小系统的超调量,同时,考虑适当的增大Q1,1来抵消Q3,3变化产生的响应时间增长的影响。经过多次尝试之后,在Q1,1=5,Q3,3=80时,得到:
K=
-47.46 -44.64 230.12 34.07
系统的阶跃响应曲线如下图所示:

本文发布于:2024-09-21 13:35:51,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/262335.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:最优控制   系统   线性   控制   设计
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议