Linear-Quadratic Regulator
- 又称: LQR, linear quadratic regulator
- 类别: Control › Feedback control
- 标签: optimal-control, feedback-control, state-space, riccati-equation, stabilization
一种针对线性系统、以状态和输入的二次代价为目标的最优反馈控制器,其解是由黎卡提方程求得的增益矩阵。
定义
线性二次型调节器(linear-quadratic regulator,LQR)为具有线性动力学的系统求出使二次型代价最小的反馈律。在离散时间下,动力学为 x_{k+1} = A x_k + B u_k,代价是 xᵀQx + uᵀRu 对时间的求和,其中 Q 对状态误差加权,R 对控制量加权。最优控制是线性状态反馈 u = −Kx,增益 K 由黎卡提方程得出:有限时域时是一个反向递推,无限时域时是代数黎卡提方程。Kalman 在 1960 年以这种形式提出了这一问题,LQR 至今仍是现代控制的基础之一。
在实践中,工程师选择 Q 和 R,而不是直接配置极点。Q 中较大的元素会让控制器更努力地抑制这些状态上的误差;较大的 R 会让它使用更少的执行器出力。Bryson 法则把每个对角权重设为可接受的最大值平方的倒数,是常用的起点。在全状态反馈下,连续时间 LQR 具有有保证的鲁棒裕度,包括每个输入通道至少 60 度的相位裕度。当状态由观测器估计时,这些保证就不再成立;把 LQR 与卡尔曼滤波器结合得到 LQG 控制,它对高斯噪声是最优的,但没有有保证的裕度。
大多数机器人是非线性的,因此 LQR 被应用于线性化模型。在平衡点附近线性化,例如直立的倒立摆或悬停的四旋翼,得到的控制器在该点周围的吸引域内有效。沿一条轨迹线性化得到时变 LQR,而围绕不断改进的轨迹重复这一过程,就引出了迭代 LQR 和微分动态规划。LQR 不处理诸如力矩限制之类的约束;模型预测控制通过在线求解一个带约束的优化问题来加入这些约束,而一个具有二次代价且时域足够长的无约束线性 MPC 会重现 LQR 增益。许多 MPC 设计也把 LQR 的剩余代价(cost-to-go)用作终端代价。
为何重要
LQR 提供了一种有原则的方法,可以从一个模型和两个权重矩阵出发设计多输入反馈控制器,并对线性化系统给出稳定性保证。它是轨迹跟踪、平衡控制以及很大一部分最优控制和预测控制的出发点。
主要应用
- 倒立摆、轮式平衡机器人和人形机器人的平衡控制
- 多旋翼的悬停和姿态稳定
- 用时变 LQR 进行轨迹跟踪
- 模型预测控制中的终端代价和局部控制器
- 迭代轨迹优化中的镇定控制器
实际应用
一个制作两轮平衡机器人的团队把它建模为带倒立摆的小车,并在直立位置附近对动力学进行线性化,得到关于俯仰角、俯仰角速度、车轮位置和车轮速度的 A 和 B 矩阵。他们设置 Q 以重罚俯仰角、轻罚车轮位置,按 Bryson 法则根据电机力矩限制选择 R,并以 200 Hz 的控制频率用离散时间黎卡提求解器计算 K。测试中,机器人能保持平衡,但在受到猛推后电机会饱和,于是他们增大 R,直到在预期扰动下指令都保持在限制之内。一个状态估计器融合 IMU 和编码器数据,提供控制器所需的完整状态。
常见误解
- LQR 能处理执行器限制 — 它忽略约束,因此饱和必须单独检查或用 MPC 处理
- LQR 只适用于线性机器人 — 它经常通过线性化应用于非线性系统,在工作点或轨迹附近有效
- LQR 总是鲁棒的 — 它有保证的裕度要求全状态反馈;使用观测器时(如 LQG),必须检查鲁棒性
- Q 和 R 来自物理规律 — 它们是在跟踪性能与控制量之间权衡的设计选择,需要针对任务进行调节
谁需要了解
- 设计反馈控制器的控制工程师
- 腿足、平衡和空中机器人开发者
- 轨迹优化和 MPC 研究人员
- 学习最优控制的机器人学学生
相关技术
- 黎卡提方程求解器(Riccati Equation Solvers)
- 卡尔曼滤波器(Kalman Filter)
- LQG 控制(LQG Control)
- 迭代 LQR(Iterative LQR)
- python-control 和 MATLAB Control System Toolbox
相关术语
- Model Predictive Control
- Differential dynamic programming
- Hamilton-Jacobi-Bellman Equation (HJB)
- Region of attraction
- PID Controller
- Double Integrator
视频
- What Is Linear Quadratic Regulator (LQR) Optimal Control? | State Space, Part 4: MATLAB
- Linear Quadratic Regulator (LQR) Control for the Inverted Pendulum on a Cart [Control Bootcamp]: Steve Brunton