连续LQR理论
LQR (linear quadratic regulator)即线性二次型调节器,是现代控制理论中发展最早也最为成熟的一种状态空间设计法。特别可贵的是,LQR可得到状态线性反馈的最优控制规律,易于构成闭环最优控制。
我们不必现在深度研究最优控制的求极值技巧(极大值原理,古典变分法与动态规划)。除去求最优控制的技巧,优化控制技术的逻辑很简单:给一个系统,给一个性能函数(performance index, 也叫cost function),求出一个控制序列,使得系统稳定并且性能函数取到极值。至于是取极小值还是极大值,这个取决于求解的问题和性能函数的定义。
LQR的实质与状态反馈没有什么差别,只不过通过了优化性能函数得到一组最优增益矩阵,实现零极点配置(Pole-Placement)。以下是LQR实现的步骤:
考虑未校正的单输入单输出系统,x可以是状态向量也可以是误差状态向量:
线性状态反馈控制信号为:
定义综合性能指标为:
{L_1=x}^TQx,Q是权重矩阵,定义Q的特征值为非负,即x^TQx\geq0。当x为误差状态向量时,L_1自然表示误差的大小;当x为状态向量时,也可以认为是x与0向量之间的误差。故L_1衡量误差的大小。当综合性能指标最小时,这一项也会要求尽量小。Q一般是对角矩阵,对角线上的元素取大于等于0的常量或时变量,对角线上每个元素的大小,表示可x的各元素在最优化时的权重,该数越大,则期望该状态分量误差越小。从效果来看,大权重的Q矩阵,能让状态量收敛更快。当某些元素取0,则表示对某些状态不做要求。
L_2=Ru^2中,R也是权重矩阵,u是控制输入。L_2衡量了控制付出的代价。
当K=R^{-1}B^TP时,性能指标J达到最小值。其中,P为n×n维的矩阵,满足
上式通常称为里卡蒂(Riccati)方程,适用于利用计算机编程的方式求得其数值解。
离散LQR实现步骤
离散化处理
离散化为
状态空间系统离散化公式
例:Apollo离散化采用前向欧拉法和双线性变换法两种方法。
离散后的,当K=\left(R+B_d^TPB_d\right)^{-1}B_d^TPA_d时,性能指标J最小。其中矩阵P需要满足里卡蒂方程:
所以设计离散LQR控制器需要求取反馈矩阵K,计算过程十分工程化:
选择参数矩阵Q和R;
根据Riccati方程求解矩阵P, 在Matlab和代码实现中均有成熟的计算方法,不必深究其原理
计算反馈矩阵K=\left(R+B_d^TPB_d\right)^{-1}B_d^TPA_d
参考《现代控制理论 第三版》第六章 最优控制
评论(0)
您还未登录,请登录后发表或查看评论