4. 线性二次型最优控制
线性二次型最优控制(Linear Quadratic Regulator, LQR)是现代控制理论中最经典、工程应用最广泛的最优控制方法之一。它针对线性系统,以状态偏差与控制能量的加权二次型积分作为性能指标,通过求解Riccati方程获得最优状态反馈增益,使闭环系统在“响应快”与“能耗小”之间取得可量化的平衡。对于机器人系统而言,LQR常用于平衡控制、轨迹跟踪的局部稳定、姿态调节以及作为MPC的终端控制器或基准对照。
一、LQR问题描述
考虑连续时间线性时不变系统:
ẋ(t) = A x(t) + B u(t)
x(0) = x₀
其中 x ∈ Rⁿ 为状态向量,u ∈ Rᵐ 为控制输入,A、B 为系统矩阵。LQR的目标是寻找控制律 u(t),使如下二次型性能指标最小:
J = ½ xᵀ(T) S x(T) + ½ ∫₀ᵀ [ xᵀ(t) Q x(t) + uᵀ(t) R u(t) ] dt
式中 Q 为状态加权矩阵(半正定),R 为控制加权矩阵(正定),S 为终端状态加权矩阵。Q 越大,系统越倾向于快速压制状态偏差;R 越大,则越倾向于节省控制能量、降低执行器负担。LQR的本质是一个带约束的优化问题:在系统动力学约束下,最小化“状态误差代价 + 控制代价”的累积。
二、Riccati方程与最优反馈增益
LQR的核心结论是:最优控制律具有状态反馈形式:
u*(t) = -K(t) x(t)
K(t) = R⁻¹ Bᵀ P(t)
其中 P(t) 为对称矩阵,满足连续时间Riccati微分方程:
-Ṗ(t) = AᵀP(t) + P(t)A - P(t) B R⁻¹ Bᵀ P(t) + Q
P(T) = S
该方程从终端时刻 T 反向积分求解,因此有限时域LQR的最优增益 K(t) 是时变的。当终端时间趋于无穷、系统可控且可观测时,P(t) 趋于稳态常值矩阵 P,此时Riccati微分方程退化为代数Riccati方程(CARE):
AᵀP + PA - P B R⁻¹ Bᵀ P + Q = 0
求解CARE得到唯一的正定解 P,即可得到常数最优反馈增益:
K = R⁻¹ Bᵀ P
u(t) = -K x(t)
下图展示了LQR从问题描述到最优反馈增益求解的完整信号与计算关系:
三、有限时域与无限时域LQR对比
有限时域LQR与无限时域LQR在数学形式和工程使用上有明显差异。有限时域问题需要从终端时刻反向积分Riccati微分方程,得到的增益 K(t) 随时间变化,适合有明确任务终点、终端代价重要的场景,例如机械臂定点抓取的最后阶段。无限时域LQR则求解代数Riccati方程,得到常数增益 K,实现简单、便于实时计算,是机器人稳定控制中最常用的形式。
| 对比项 | 有限时域LQR | 无限时域LQR |
|---|---|---|
| 性能指标 | 含终端代价 ½xᵀ(T)Sx(T) | 无终端代价,积分上限为∞ |
| Riccati方程 | 微分方程,反向积分 | 代数方程,直接求解 |
| 反馈增益 | K(t) 时变 | K 常数 |
| 计算负担 | 较高,需在线或离线积分 | 低,离线求一次即可 |
| 典型场景 | 有限时间任务、终端精度要求高 | 长期稳定、姿态保持、轨迹跟踪 |
四、案例:倒立摆LQR稳定控制
以直线倒立摆为例,状态取 x = [位置, 速度, 摆角, 角速度]ᵀ,控制量为小车加速度。线性化后得到 A、B 矩阵,选取 Q = diag(10, 1, 100, 10),R = 1,强调摆角稳定。通过求解CARE得到增益 K,闭环极点被配置到左半平面,摆角可在约1秒内收敛到零附近。若把 R 增大到 10,控制量明显减小,但摆角恢复变慢,说明权重矩阵直接决定“稳定速度”与“控制代价”的折中。
% MATLAB 示例:无限时域 LQR
A = [0 1 0 0; 0 0 -1 0; 0 0 0 1; 0 0 9 0];
B = [0; 1; 0; -1];
Q = diag([10, 1, 100, 10]);
R = 1;
[K, P, e] = lqr(A, B, Q, R);
% K 为最优反馈增益,e 为闭环极点
五、复盘与要点
- LQR以二次型代价函数为核心,通过Q、R权衡状态收敛速度与控制能量。
- 最优控制律是状态反馈 u = −Kx,K 由Riccati方程的解 P 决定。
- 有限时域对应Riccati微分方程,增益时变;无限时域对应代数Riccati方程,增益常值。
- 工程中需检查可控性、正定性,并通过仿真调整权重矩阵,避免控制饱和与响应过慢。
- LQR是MPC的重要基础,理解其推导有助于掌握预测控制中的终端代价与稳定性设计。