该文档用以总结离散LQR的基本原理,反馈控制率的求解和一些拓展(时变系统,跟踪命题等)。主要参考的是Stanford的课程EE363: Linear Dynamical Systems的部分课件。
目录
1 有限时域离散LQR的基本原理
这里我们首先考虑一个离散的线性系统:
xt+1=Axt+But,x0=xinit
LQR的目标就在于,找到一组控制序列 u0,u1,... 能够使得:
- x0,x1,... 尽量小,即将状态调节到零点;
- u0,u1,... 尽量小,即控制器付出较小的努力;
然而,这两个目标往往是冲突的,因为较大的控制作用 u 能更快地将状态调节到零点。因此LQR就是根据需要设计出一组控制率来实现上面两个目标的权衡。
为此,我们定义如下的二次代价函数(quadratic cost function):
Q=QT≥0,Qf=QTf≥0,R=RT>0
分别被称为 state cost, final state cost, input cost 矩阵。
代价函数中的三项分别用来衡量状态偏差,输入偏差以及最终状态偏差。 Q 和
因此,LQR的问题就是,找到一组序列: ulqr0,...,ulqrN−1 来最小化代价函数 J(U) 。
通常 Q 和
R=ρI,Q=Qf=CTC
这里
C∈Rp×n,ρ∈R,ρ>0
。
于是,代价函数就可以变形为:
J(U)=∑τ=0N∥yτ∥2+ρ∑τ=0N−1∥uτ∥2
这里
y=Cx
,
ρ