倒立摆的LQR控制器算法的设计与仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 方程为:
01=+-+-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 ⎥⎦⎤⎢⎣⎡+⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=0001000001θθθ (4-10)
可以得到:
⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--=058199.2600556.001000072547.100241.000010A ,
⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=32597.2000503.10B