上一篇传送门:

上一篇我们谈及了在MIMO系统为了解决多个输入和多个输出最终耦合的问题,使用了输入输出解耦的控制器设计方法。这一章我们要简略探讨一下线性系统里面的最优控制。

到目前为止考察的状态反馈控制器都是通过预设特征值的方式,来使系统稳定,而在MIMO系统里,预设特征值还会有更多的自由发挥空间。通过特征值或是极点的预置,可以让反馈增益很明确地算出来,然后再让闭环系统实现期望的动态。

然而实际设计时,会有很多实际技术条件限制,因为对特征值的配置实际上对单个状态变量或是输入控制量的反馈控制行为没有直接的影响。为了平衡各种限制以及设计要求,我们需要另寻设计准则,线性系统最优控制就是这样一个考虑了控制量大小的设计思路。

最优控制(Optimale Regelung)引入了代价函数(Kostenfuntional)的概念

(8.1) [公式]

代价函数实现在区间 [公式] ,自变量来自系统状态方程

(8.2) [公式]

有半正定的对称方阵 [公式]  [公式] ,而 [公式] 是正定的对称矩阵。半正定即,矩阵所有特征值大于等于零,正定则矩阵所有特征值大于零。

[公式] 这一项评估了状态变量 [公式] 时间上历程,而 [公式] 则是输入控制变量的,而 [公式] 则是评估了终态的状态变量。 [公式] 经常被描述成能量部分,而因为平方形式的代价函数和线性的系统动态,这类最优控制问题常常被称为"LQR"问题 (Linear-Quadratic-Regulator)。

其实我们想要寻找的是最优的控制输入过程 [公式] ,能使代价函数最小,即

(8.3) [公式]

从而最优问题即系统从初值 [公式] 出发,在最优轨迹 [公式] 下尽可能接近原点。权重矩阵 [公式] 确定了系统输入输出行为。

最优问题的解即LQR问题的线性反馈控制律,常常被称为LQR控制器,抑或是Riccati控制器。想要求解LQR问题需要引入Bellmann的动态规划。

8.1 动态规划

动态规划的基本思想是最优原则。为了更好理解它,我们需要最小化从非线性的代价函数出发

(8.4) [公式]

其中 [公式]  [公式] ,自变量来自非线性系统动态

(8.5) [公式]

定理8.1 最优原则
一个最优任务的解具有这样的特征,它的初值的每个点的是最优解,从这一点开始之后所有的解也是任务的最优解。

最优原则可以用在上面的非线性系统的最优问题求解,只要使用传递成本(cost-to-go)

(8.6) [公式]

当最优的状态变量轨迹 [公式] 已知后,传递成本就是最优传递成本,对应的最优控制就是 [公式] 剩下的部分。在区间 [公式] 都能写出传递成本的最小化形式

(8.7) [公式]

因为最优原则,最优轨迹的终端仍然是最优的,所以上式可以写成

(8.8) [公式]

如果我们的轨迹已经是最优,那可以简写为 [公式] , [公式] ,再假设传递成本的函数是连续可微,那么对 [公式] 使用泰勒展开做一阶近似

(8.9) [公式]

再令对 [公式] 的积分也做一阶近似

(8.10) [公式]

将式(8.9)(8.10)都代入(8.8)可得

(8.11) [公式]

上述形式还可以简化,考虑到最初输入控制变量 [公式]  [公式] 无关,且已经为最小的表达,可以提出大括号并且约去,再两边同除以 [公式] ,于是又可以消去高阶项

(8.12) [公式]

这个等式包含非线性偏导数,为了确定等式,还要用到终点的条件

(8.13) [公式]

确定了以后就可以得出有名的Hamilton-Jacobi-Bellman等式(HJB方程)。

定理8.2 Hamilton-Jacobi-Bellman定理
如果 [公式] 是带有式(8.13)的条件的连续可微的HJB方程的解,此外有最优输入轨迹 [公式] [公式] 也是连续函数,那么最优问题
(8.14) [公式]
对任意区间 [公式] 内的 [公式]都是HJB方程的唯一解。并且 [公式] 是最优的传递成本函数,而控制轨迹 [公式]也是最优的。

然而令人遗憾的是,只有极少情况能直接算出HJB方程的解析解。如果能求出解,那就可以由传递成本函数导出最优控制律 [公式] 。另一种选择是用数值解近似求解(次优解),不过不在这里深入。

8.2 Riccati微分方程

尽管对于HJB方程在一般的非线性问题的求解很难,但是这却是一个非常曲取巧的求解LQR问题的方案。如果把HJB方程运用到线性系统的话,即 [公式] ,而 [公式] ,于是有

(8.15) [公式]

 [公式] , [公式] 。因为求自变量最小 [公式] 的最优项是关于 [公式] 连续可微的,那么对后一项求极值点,可得最优输入控制量 [公式]

(8.16) [公式]

略去带自变量的表达,这条式子所有矩阵最后都是标量式,所以

(8.17) [公式]

由于偏导数 [公式] [公式] 仍然未知,不妨设传递成本函数

(8.18) [公式]

所以只要求出未知的时变对称矩阵 [公式] 就能求出传递成本函数。而偏导数可表示为

(8.19) [公式]

(8.20) [公式]

由于标量转置仍为本身 [公式] 全部代入(8.16)

(8.21) [公式]

而在终点条件(8.13)也要满足,所以

(8.22) [公式]

综上所述,HJB方程对任意状态 [公式] 都应该成立,所以消去多余项得到所谓的Riccati矩阵微分方程

(8.23) [公式]

(8.24) [公式]

比较最有反馈控制律 [公式] ,可得时变增益 [公式]

(8.25) [公式]

总结,因为不存在初值,要求Riccati方程的解,比较方便的方法是从 [公式] 开始,倒着积分回去来求到 [公式] 的状态。即最优控制下的初值能满足代价函数为

(8.26) [公式]

所以,[公式]必须在系统实施反馈控制以前就要先算出来。而 [公式] 是对称的半正定矩阵,所以 [公式] 的系统阶数也只对应了 [公式] 的微分方程组(其余的都耦合了)。

如果是时变的系统矩阵, [公式] , [公式] 以及权重矩阵 [公式] , [公式] 不影响推导结论,只需要对应改成时变项就行。

8.3 Riccati代数方程

考虑一种特殊情况,当代价函数会在无限的时间区间内来考察时,那么终值权重部分 [公式] 就失去了意义。总归当时间 [公式] 时,状态变量的范数 [公式] ,只要状态方程是收敛的。那么我们可以让 [公式] 并且假设 [公式] ,而 [公式] 是正定的对称矩阵,整个系统是完全能控的,而矩阵对 [公式] 是完全能观的(其中 [公式] 是Cholesky分解 [公式] 得到的)。

系统的为了满足 [公式] ,出现了“虚构”的输出方程

(8.27) [公式]

若这个虚构的输出是完全能观的时候,那么代价函数就会明确地和系统特征值有关。此外又有系统完全能控的假设,那总的来说就存在一个使系统能稳定的状态反馈机制。

基于以上繁复的假设,式(8.23)的Riccati方程的解在反向时间内就会朝着稳态的正定矩阵 [公式] 收敛。而矩阵 [公式] 本身是在开始反向积分以后和终值 [公式] 无关的。所以就可以近似从任意给定的半正定的终值点 [公式] 出发来确定 [公式]。比如,从 [公式] 开始反向积分,直到时间上的变动 [公式] 收敛到允许误差以内。

一种比较巧妙的确定 [公式] 的方法,即使用假定 [公式] 得到的所谓的Riccati代数方程

(8.28) [公式]

因为方程是非线性的,还可能存在多种解。不过基于之前所有必要的假设以后,这个方程只会得到唯一确定的解 [公式]

由于最优原则,现在只有时不变的反馈控制律了,而这就是系统在 [公式] 的最优解

(8.29) [公式]

现在总结成下面的定理

定理8.3 线性时不变系统的LQR控制器
给出能控的线性时不变系统,使之有最小的代价函数。
(8.30) [公式]
而假设 [公式] 是半正定的,而 [公式] 是正定的对称矩阵,整个系统是完全能控的,而矩阵对 [公式] 是完全能观的。那么就有经过最优反馈控制律得到的最小初值
(8.31) [公式]
其中 [公式] 是Riccati代数方程的唯一正定解,并且矩阵 [公式] 的所有特征值具有负实部,这样形成的闭环动态才是渐进稳定的。

定理8.3里的最优控制器经常被称为Riccati控制器或者LQR控制器,而且在实践工作中常常用到。

例8.1 倒立摆小车系统的最优控制

考察之前出现的倒立摆小车系统,并令臂长 [公式] , [公式] , [公式] 取线性化的系统,其状态变量为 [公式] ,输出 [公式]

(8.32) [公式]

直接调用MATHLAB指令:eig。求其特征值, [公式]

接下来开始LQR控制器设计。取权重矩阵 [公式]

调用MATHLAB指令:lqr。算出反馈增益 [公式]

所以新的动态矩阵 [公式] 算出新的特征值 [公式]  [公式]  [公式] 。新的系统动态已经渐进稳定了。然后再补充设计一个前置滤波器

[公式] 。使得小车系统最后能够稳定在期望的位置 [公式] 。于是有总的控制律 [公式] 

下图展示了从初值 [公式] 到目标位置 [公式] 的动态过程。

图8.1 不同权重下的最优控制轨迹

由上图可知,不同权重下产生的轨迹都有不同,橙色虚线和绿色点划线对应的轨迹的权重矩阵中都有一行元素是未调整之前的1000倍。橙色虚线的权重使得角度 [公式] 有了更小的振荡,但是接近稳态也更慢。绿色点划线虽然快速趋向稳态,但是稳态前出现了明显的反向行为,说明并不是最小相位系统。考察系统的传递函数

(8.33) [公式]

它有两个零点 [公式] 。有正根,零点非最小相位。通过反馈控制得到新动态。

输入MATHLAB命令:tf和ss。得到闭环传递函数

(8.34) [公式]

注意到,经过反馈控制后,系统的零点并没有变化。所以非最小相位的零点依旧导致了系统的反向振荡。这就是所谓的不动零点,它是不能由反馈控制改变的系统内动态。

8.4 预给特征值和LQR设计方法的比较

到目前为止,我们一共讨论过两种基本的系统动态性能配置的方法:直接预给特征值法以及LQR设计法。它们各有一些优缺点。

特征值预给设计法

  • 闭环系统或者输入输出动态能被特征值的位置影响。
  • 如果考虑输入控制变量幅值受限会十分棘手,没有直接方法保证输入变量行为不会超阈值。
  • 在SISO系统时,特征值的给定都是唯一的。但在MIMO系统会有很多自由度,只要能保证能控指数分配后的简化能控矩阵可逆。
  • 控制器设计方法需要解析解法,反馈控制增益都要精确给出。

LQR设计法

  • 受控闭环系统的特征值不能直接给定。
  • 权重矩阵 [公式] 的每一行元素(至少是对角形式)显然对闭环系统的行为有明显的影响。
  • 在矩阵 [公式] 的元素能对单独的控制变量影响,比如减小输入变量幅值来保持低于输入阈值。
  • LQR设计法不论是在SISO还是MIMO中都是唯一的解,不会有额外设计自由度。
  • LQR是数值解法,因为Riccati方程一般只能数值求解。

这一章我们简单介绍了一下最优控制的LQR设计法,并与之前的特征值预给法作了比较。下一章我们要讨论观测器在控制设计中的重要作用。

参考文献:

[1]Regelungstechnik B (Zustandsraummethoden) (WS 2019), Prof. Dr.-Ing. Knut Graichen

Lehrstuhl für Regelungstechnik, Friedrich-Alexander-Universität Erlangen-Nürnberg