线性二次型最优控制(Linear Quadratic Regulator,LQR)是一种具有二次型性能指标的最优控制方法,用稳定性理论解决“参数优化问题”,通过选取适当的权重参数,可以在保证系统稳定的前提下,使二次型性能指标最小化,从而使系统的过渡过程具有较好的性能,因此在实践上得到广泛应用。LQR控制思想是通过计算最优控制变量使得二次型目标函数最小化,详细推导过程可详见公众号文章:无人驾驶控制算法之LQR控制和一种面向二自由度动力学模型应用的控制器和观测器设计迭代方法。但是,连续系统与离散系统的LQR问题求解是有区别的,因此,本文就以车辆二自由度模型为例,分别对连续系统和离散系统的LQR问题求解展开讨论。
首先,对两个系统的Riccati方程和最优反馈增益进行推导。
综上所述,连续时间有限时间状态调节器问题最终归结为Riccati方程求解问题。由Riccati方程求出P,便可得出最优控制:
针对上述连续系统有限时间状态调节器问题,当tf→∞时,LQR问题的性能指标为
线性定常系统的无限时间状态调节器问题可以看成时线性可变系统退化为线性定常系统且控制时间tf→∞时的极限情况。这时Riccati方程的解随着tf→∞将趋于一稳态值。它是下列Riccati代数方程的解:
将上式代入并消去等式两端的x(k),可得K(k)必须满足如下Riccati矩阵差分方程:
与连续系统无限时间状态调节器相类似,当N→∞时,LQR的性能指标为
参考上述离散系统的有限时间状态调节器,将时变矩阵换成常数阵,增益矩阵K趋近于一常值矩阵,可得Riccati方程为:
基于LQR对汽车二自由度模型进行控制,并将其分成连续和离散系统进行对比。对于离散系统利用迭代法对Riccati方程进行求解,进而求解K值;而连续系统则直接利用MATLAB中LQR命令对K值进行求解。结果显示,无论是连续系统还是离散系统所求K值是几乎相同的(如表1所示),也就是说明连续与离散系统的调节效果几乎相同(如图1,红线表示连续系统,蓝线表示离散系统)。由此可知,在对Riccati方程进行求解时,无论使用离散方法求解还是连续方法求解对系统的控制效果几乎是相同的,不过值得说明的是,两者结果的差别还与系统离散的精度有关。