零碎的知识点(七):线性二次调节器(LQR)是什么?

线性二次调节器(LQR)是什么?

线性二次调节器(LQR) 是一种经典的最优控制方法,用于求解线性系统的状态反馈控制问题。其目标是在满足动态约束的前提下,通过设计状态反馈控制器,使系统的性能指标达到最优。


1. LQR的定义与目标

LQR主要解决以下问题:

  • 系统的状态描述为线性动态系统:
    x ˙ ( t ) = A x ( t ) + B u ( t ) \dot{x}(t) = A x(t) + B u(t) x˙(t)=Ax(t)+Bu(t)

    其中:

    • x ( t ) ∈ R n x(t) \in \mathbb{R}^n x(t)∈Rn 是系统状态向量;
    • u ( t ) ∈ R m u(t) \in \mathbb{R}^m u(t)∈Rm 是控制输入;
    • A ∈ R n × n A \in \mathbb{R}^{n \times n} A∈Rn×n 是状态矩阵;
    • B ∈ R n × m B \in \mathbb{R}^{n \times m} B∈Rn×m 是控制矩阵。
  • 设计一个控制律 u ( t ) = − K x ( t ) u(t) = -K x(t) u(t)=−Kx(t),其中 K K K 是控制增益矩阵,使以下性能指标 J J J 最小化:
    J = ∫ 0 ∞ ( x ( t ) T Q x ( t ) + u ( t ) T R u ( t ) ) d t J = \int_{0}^{\infty} \left( x(t)^T Q x(t) + u(t)^T R u(t) \right) dt J=∫0∞(x(t)TQx(t)+u(t)TRu(t))dt

    其中:

    • Q ∈ R n × n Q \in \mathbb{R}^{n \times n} Q∈Rn×n 是对状态 x ( t ) x(t) x(t) 的加权矩阵(正定或半正定);
    • R ∈ R m × m R \in \mathbb{R}^{m \times m} R∈Rm×m 是对控制输入 u ( t ) u(t) u(t) 的加权矩阵(正定)。

2. LQR的原理

性能指标 J J J

性能指标 J J J 的物理意义是权衡系统偏离零状态(通过 x ( t ) T Q x ( t ) x(t)^T Q x(t) x(t)TQx(t))和控制能量消耗(通过 u ( t ) T R u ( t ) u(t)^T R u(t) u(t)TRu(t))的代价。设计 Q Q Q 和 R R R 时:

  • 较大的 Q Q Q 强调减少状态偏离;
  • 较大的 R R R 强调控制能量的节省。
最优解的计算

LQR 的核心是通过Riccati方程 计算最优状态反馈增益矩阵 K K K。具体步骤如下:

  1. 计算解 Riccati 方程的对称正定矩阵 P P P:
    A T P + P A − P B R − 1 B T P + Q = 0 A^T P + P A - P B R^{-1} B^T P + Q = 0 ATP+PA−PBR−1BTP+Q=0
    这是一个连续时间代数 Riccati 方程(CARE)。
  2. 利用 P P P 计算反馈增益矩阵:
    K = R − 1 B T P K = R^{-1} B^T P K=R−1BTP
控制律

最优控制律为:
u ( t ) = − K x ( t ) u(t) = -K x(t) u(t)=−Kx(t)


3. LQR的性质

  • 稳定性 :如果 Q Q Q 和 R R R 正定,LQR 控制器设计的闭环系统是渐进稳定的。
  • 鲁棒性:LQR 对模型的参数扰动具有一定的鲁棒性,但仅限于小扰动。
  • 灵活性 :通过调整 Q Q Q 和 R R R,可以改变状态和控制能量之间的权衡。

4. 举例说明

问题描述

一个简单的二阶质量-弹簧-阻尼系统:
m x ¨ + c x ˙ + k x = F m \ddot{x} + c \dot{x} + k x = F mx¨+cx˙+kx=F

将其转换为状态空间形式:
x ˙ 1 x ˙ 2 = 0 1 − k m − c m x 1 x 2 + 0 1 m u \begin{bmatrix} \dot{x}_1 \\ \dot{x}_2 \end{bmatrix} = \begin{bmatrix} 0 & 1 \\ -\frac{k}{m} & -\frac{c}{m} \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} + \begin{bmatrix} 0 \\ \frac{1}{m} \end{bmatrix} u x˙1x˙2=0−mk1−mcx1x2+0m1u

其中:

  • x 1 = x x_1 = x x1=x 是位移;
  • x 2 = x ˙ x_2 = \dot{x} x2=x˙ 是速度;
  • u = F u = F u=F 是控制输入。

设参数为:

  • m = 1 m = 1 m=1 kg;
  • c = 0.5 c = 0.5 c=0.5 Ns/m;
  • k = 2 k = 2 k=2 N/m;
  • Q = diag ( 1 , 1 ) Q = \text{diag}(1, 1) Q=diag(1,1);
  • R = 0.1 R = 0.1 R=0.1。
解步骤
  1. 确定状态矩阵 A A A 和控制矩阵 B B B:
    A = 0 1 − 2 − 0.5 , B = 0 1 A = \begin{bmatrix} 0 & 1 \\ -2 & -0.5 \end{bmatrix}, \quad B = \begin{bmatrix} 0 \\ 1 \end{bmatrix} A=0−21−0.5,B=01

  2. 解 Riccati 方程,得到 P P P:
    P = 2.236 1.118 1.118 2.618 P = \begin{bmatrix} 2.236 & 1.118 \\ 1.118 & 2.618 \end{bmatrix} P=2.2361.1181.1182.618

  3. 计算最优增益矩阵 K K K:
    K = R − 1 B T P = 4.472 3.618 K = R^{-1} B^T P = \begin{bmatrix} 4.472 & 3.618 \end{bmatrix} K=R−1BTP=4.4723.618

  4. 最优控制律:
    u ( t ) = − K x ( t ) = − 4.472    3.618 x 1 x 2 u(t) = -K x(t) = -4.472 \\; 3.618 \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} u(t)=−Kx(t)=−4.4723.618x1x2

仿真结果

在闭环控制下,系统状态 x ( t ) x(t) x(t) 会快速趋于零,同时控制输入 u ( t ) u(t) u(t) 保持较小,体现了状态偏差和控制能量的优化。


5. 实际应用

  1. 航天器姿态控制

    LQR 用于最优设计航天器的姿态调节控制器,确保姿态调整时能量最低。

  2. 机器人控制

    在机器人路径跟踪中,LQR 用于控制机器人的位置和速度。

  3. 车辆动力学控制

    在自动驾驶系统中,LQR 常用于轨迹跟踪问题,设计车辆的方向和速度控制。


总结

LQR 是一种功能强大且理论完善的最优控制方法,通过解决 Riccati 方程和设计反馈增益矩阵,能够为线性系统提供稳定且高效的控制策略。它的应用遍及多个工程领域,是现代控制理论的重要组成部分。

相关推荐
AI科技星11 小时前
第四卷:橡皮泥江湖(拓扑学)――诸同奥义,九同立境贯拓扑
网络·人工智能·线性代数·架构·概率论·学习方法·拓扑学
爱代码的小黄人11 小时前
矩阵求逆引理(Sherman-Morrison-Woodbury公式)详解
线性代数·矩阵
菜鸟分享录12 小时前
AI 学习路线 03:线性代数、概率统计、梯度下降到底有什么用?
人工智能·线性代数·ai
hai3152475431 天前
九章编程法 · HTTP转发代理网关【终极完美版·矩阵步进交换】
人工智能·网络协议·线性代数·http·矩阵·极限编程
不辣的皮蛋君1 天前
2026年如何用短视频矩阵系统提升带货转化率?以乌拉工具箱为例的实操指南
线性代数·矩阵
乐兮创想 小林2 天前
B2B 内容营销的工程化运营:从内容矩阵建模到 SEO/GEO 联动的完整体系
前端·线性代数·矩阵·网站建设·北京网站建设公司
Samson Bruce2 天前
【初高中数学】
线性代数·数学·算法·机器学习
AI科技星2 天前
数术工坊:投影秘籍
人工智能·线性代数·架构·概率论·学习方法
机汇五金_3 天前
矩阵机箱有哪些常见结构形式?
线性代数·矩阵
2301_800895103 天前
线性代数保研面试复习
线性代数·面试·保研