原文链接:https://blog.csdn.net/heyijia0327/article/details/39270597
本文主要介绍LQR的直观推导,说明LQR目标函数J选择的直观含义以及简单介绍矩阵Q,R的选取,最后总结LQR控制器的设计步奏,并将其应用在一个简单的倒立摆例子上。
假设有一个线性系统能用状态向量的形式表示成:
其中,初始条件是
,并且假设这个系统的所有状态变量都是可测量到的。
全状态反馈控制器设计原理
在介绍LQR前,先简单回顾一下现代控制理论中最基本的控制器--全状态反馈控制。
我们要设计一个状态反馈控制器:使得闭环系统能够满足我们期望的性能。
我们把这种控制代入之前的系统状态方程得到:
对于(1)式的开环系统,由现代控制理论我们知道开环传递函数的极点就是系统矩阵A的特征值。(传递函数的分母是|sI -A|,|·|表示行列式)
现在变成了(2)的闭环形式,状态变换矩阵A变成了(A-BK)。因此通过配置反馈矩阵K,可以使得闭环系统的极点达到我们期望的状态。注意,这种控制器的设计与输出矩阵C,D没有关系。
那么,什么样的极点会使得系统性能很棒呢?并且,当系统变量很多的时候,即使设计好了极点,矩阵K也不好计算。
LQR设计原理
LQR为我们设计最优控制器提供了一种思路。
在设计LQR控制器前,我们得设计一个能量函数,最优的控制轨迹应该使得该能量函数最小。一般选取如下形式的能量函数。
其中Q是你自己设计的半正定矩阵,R为正定矩阵。
可是,为什么能量函数(或称系统的目标函数)得设计成这个样子呢?
首先假设状态向量x(t)是1维的,那么其实就是一个平方项 Qx^2 >= 0,同理. 能量函数J要最小,那么状态向量x(t),u(t)都得小。J最小,那肯定是个有界的函数,我们能推断当t趋于无穷时,状态向量x(t)将趋于0,这也保证了闭环系统的稳定性。那输入u(t)要小是什么意思呢?它意味着我们用最小的控制代价得到最优的控制。譬如控制电机,输入PWM小,将节省能量。