0%

LQR控制推导

LQR控制器的设计与推导

LQR解决的是什么问题?

对于一个离散时间的线性系统,系统的状态方程为:

其中:

  • 𝕟是第步时系统的状态;
  • 𝕞是第步时的控制输入;
  • 𝕟𝕟是状态转移矩阵;
  • 𝕟𝕞是控制矩阵。

LQR的目的是设计控制输入,使得以下的性能指标(代价函数)最小化:

其中:

  • 𝕟𝕟是半正定矩阵(即),表示状态相关的代价;
  • 𝕞𝕞是半正定矩阵(即),表示控制输入相关的代价。

基本思路

LQR问题的目标是最小化系统在状态空间和输入空间中的能量损耗。其核心思想是通过动态规划和Ballman最优化原理,找到能够最小化上述性能指标的的最优控制律

倒推求解Bellman方程

首先,我们从动态规划的思想入手,从最终状态往回推导。假设在第步时,定义代价函数的形式为:

(为什么长这个样子呢,是因为我们设计的代价函数就是考虑当前状态和输入的一个二次型代价函数,在某一时刻,两项合并就是一个二次型代价函数)

其中是某一个待求解的对称正定矩阵(或者半正定矩阵)。

为了使代价函数最优,控制律应该使得最小。因此,对于每一步,我们都要解一个最优化问题。

步时的代价

在第步时,代价函数为:

假设系统的状态方程,可以将写为:

展开后得:

递推代价函数

代价函数的表达式为:(本次的代价+之后的所有代价)

即:

将所有与有关的项提取出来,得到:

最优控制律

为了最小化代价函数,我们对求导并令其为零:

解的最优控制律为:

即:

其中是反馈增益矩阵。

Riccati方程

将最优控制律代入代价函数中,得到的递推公式:

这就是离散时间黎卡笛方程。在求解LQR问题时,我们通过迭代该方程来找到最优矩阵,从而进一步得到最优控制律。

稳定状态下的解

当系统达到稳定状态时,矩阵收敛到一个稳定值,此时黎卡笛方程变成:

通过求解这个方程,我们可以得到举证,进而得到最优控制律:

其中

整体流程

  1. 定义系统的状态方程和性能指标;
  2. 使用动态规划,从Bellman方程出发,递归得到最优控制律;
  3. 通过求解离散Ricatti方程,得到反馈矩阵
  4. 在稳定状态下,控制律为

参考书籍和文献

  1. Anderson, B. D. O., & Moore, J. B. (2007).
    Optimal Control: Linear Quadratic Methods. Dover Publications.
  2. 《自动控制原理(第七版)》胡寿松
  3. 【最优控制】5_线性二次型调节器(LQR)详细数学推导