欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > DP 问题 -- LQR中的DP问题

DP 问题 -- LQR中的DP问题

2025/3/9 14:19:30 来源:https://blog.csdn.net/weixin_43673156/article/details/146122595  浏览:    关键词:DP 问题 -- LQR中的DP问题

深入地介绍线性二次调节问题(Linear Quadratic Regulator, LQR),并详细说明它作为动态规划(DP)的一个经典应用问题的求解过程。


📌 一、LQR问题定义(最优控制视角)

LQR 问题是一种特殊的最优控制问题,系统动力学为线性、代价函数为二次型的优化问题:

离散时间线性系统:

x t + 1 = A x t + B u t x_{t+1} = Ax_t + Bu_t xt+1=Axt+But

  • x t ∈ R n x_t \in \mathbb{R}^n xtRn 为系统状态
  • u t ∈ R m u_t \in \mathbb{R}^m utRm 为控制输入
  • A , B A,B A,B 为系统动力学矩阵

目标是找到控制策略 u t = − K x t u_t = -K x_t ut=Kxt,最小化如下二次型代价函数:

J = ∑ t = 0 ∞ ( x t T Q x t + u t T R u t ) J = \sum_{t=0}^{\infty}(x_t^T Q x_t + u_t^T R u_t) J=t=0(xtTQxt+utTRut)

其中:

  • Q ≥ 0 Q \ge 0 Q0(半正定矩阵),衡量状态代价
  • R > 0 R>0 R>0 为控制成本矩阵,通常正定

📌 二、LQR的DP形式——贝尔曼方程

LQR 问题的值函数 V ( x ) V(x) V(x) 是一个关于状态的二次型函数:

假设值函数具有如下形式:

V ( x ) = x T P x V(x) = x^T P x V(x)=xTPx

其中, P P P 为待求的对称正定矩阵。

根据DP的贝尔曼方程:

V ( x ) = min ⁡ u [ x ⊤ Q x + u ⊤ R u + γ V ( x ′ ) ] V(x) = \min_{u}\left[ x^\top Q x + u^\top R u + \gamma V(x') \right] V(x)=umin[xQx+uRu+γV(x)]

带入系统动力学 x ′ = A x + B u x' = Ax + Bu x=Ax+Bu 和上述二次型值函数假设,有:

V ( x ) = min ⁡ u [ x T Q x + u T R u + ( A x + B u ) T P ( A x + B u ) ] V(x) = \min_u\left[ x^T Q x + u^T R u + (Ax+Bu)^T P (Ax+Bu) \right] V(x)=umin[xTQx+uTRu+(Ax+Bu)TP(Ax+Bu)]

展开后:

V ( x ) = min ⁡ u [ x T Q x + u T R u + x T A T P A x + u T B T P B u + 2 x T A T P B u ] V(x) = \min_u\left[ x^T Q x + u^T R u + x^T A^T P A x + u^T B^T P B u + 2x^T A^T P B u \right] V(x)=umin[xTQx+uTRu+xTATPAx+uTBTPBu+2xTATPBu]

其中, P P P 为待确定的对称正定矩阵, Q , R Q,R Q,R 分别为状态与控制的成本矩阵。


📌 三、LQR 的 DP 求解步骤(里卡提方程求解)

为了得到最优控制律 u ∗ = − K x u^* = -K x u=Kx,关键在于确定矩阵 P P P
其求解通过动态规划(Bellman方程)导出离散里卡提方程(Discrete Algebraic Riccati Equation)

👉 离散时间里卡提方程(DRE)

P = Q + A T P A − A T P B ( R + B T P B ) − 1 B T P A P = Q + A^T P A - A^T P B(R + B^T P B)^{-1}B^T P A P=Q+ATPAATPB(R+BTPB)1BTPA

DP求解步骤

  1. 初始化矩阵 P P P 为某一正定矩阵(通常是 Q Q Q)。

  2. 迭代求解里卡提方程直到收敛。

    • 每次迭代计算:
      P k + 1 = Q + A T P k A − A T P k B ( R + B T P k B ) − 1 B T P k A P_{k+1} = Q + A^T P_k A - A^T P_k B(R+B^T P_k B)^{-1}B^T P_k A Pk+1=Q+ATPkAATPkB(R+BTPkB)1BTPkA
  3. 收敛判断
    ∥ P k + 1 − P k ∥ < ϵ \|P_{k+1}-P_k\|<\epsilon Pk+1Pk<ϵ 时结束迭代,获得稳态解 P ∗ P^* P

  4. 得到最优反馈控制律
    u t ∗ = − K x t , K = ( R + B T P B ) − 1 B T P A u_t^*=-K x_t, \quad K=(R+B^T P B)^{-1} B^T P A ut=Kxt,K=(R+BTPB)1BTPA


📌 四、LQR的一个简单示例(二维状态、一维控制输入)

假设无人机高度控制问题:

  • 状态:高度 h h h 和速度 v v v
    你给出的方程似乎格式有点小问题,这里帮你重新规范一下,并做详细解释:

🚩 正确的状态空间模型表示

假设系统是一个二维状态系统(如无人机高度控制问题):

状态定义:

状态向量:
x = [ h v ] x = \begin{bmatrix} h \\ v \end{bmatrix} x=[hv]

其中:

  • h h h:高度
  • v v v:速度

状态方程(离散时间系统):

给定状态空间模型为:
x k + 1 = A x k + B u k x_{k+1} = Ax_k + Bu_k xk+1=Axk+Buk

具体的系统矩阵 A , B A, B A,B为:
A = [ 1 d t 0 1 ] , B = [ 0 d t ] A=\begin{bmatrix} 1 & dt \\ 0 & 1 \end{bmatrix}, \quad B=\begin{bmatrix}0 \\ dt\end{bmatrix} A=[10dt1],B=[0dt]

  • 这里 d t dt dt 表示采样时间间隔。
  • u k u_k uk 为在时刻 k k k 时作用于系统的控制输入(加速度输入)。

系统模型的物理含义:

  • 位置更新方式为: h k + 1 = h k + v k ⋅ d t h_{k+1} = h_k + v_k \cdot dt hk+1=hk+vkdt
  • 速度更新方式为: v k + 1 = v k + u k ⋅ d t v_{k+1} = v_k + u_k \cdot dt vk+1=vk+ukdt

显然:

  • 状态转移矩阵 A A A 描述了状态的惯性关系;
  • 控制矩阵 B B B 表示控制输入 u k u_k uk 如何影响状态(仅作用于速度方向)。

📌 完整的状态空间表达式

更清晰的矩阵形式写为:

x k + 1 = [ h k + 1 v k + 1 ] = [ 1 d t 0 1 ] [ h k v k ] + [ 0 d t ] u k x_{k+1}=\begin{bmatrix} h_{k+1} \\ v_{k+1} \end{bmatrix}= \begin{bmatrix} 1 & dt \\[6pt] 0 & 1 \end{bmatrix} \begin{bmatrix} h_k \\ v_k \end{bmatrix}+ \begin{bmatrix} 0 \\ dt \end{bmatrix} u_k xk+1=[hk+1vk+1]=[10dt1][hkvk]+[0dt]uk

其中:

  • 状态向量 x k = [ h k , v k ] T x_k=[h_k,v_k]^T xk=[hk,vk]T
  • 控制输入 u k u_k uk(加速度输入)
  • 状态转移矩阵 A A A 表示位置由速度积分更新
  • 输入矩阵 B B B 描述输入作用于速度

📌 基于DP的LQR问题求解步骤

以此为基础的LQR控制问题(LQR框架):

🚩 步骤① 设定代价函数

假设代价函数为二次型:
J = ∑ k = 0 ∞ ( x k T Q x k + u k T R u k ) J = \sum_{k=0}^{\infty}(x_k^TQx_k + u_k^TRu_k) J=k=0(xkTQxk+ukTRuk)
例如设定:

  • 状态成本矩阵 Q = [ q h 0 0 q v ] Q=\begin{bmatrix}q_h & 0\\0&q_v\end{bmatrix} Q=[qh00qv],用于惩罚高度和速度偏差。
  • 控制成本 R = r R= r R=r(标量,一维控制输入)。

🚩 步骤② 求解里卡提方程 (DP方法)

DP方程推导得到的离散里卡提方程:
P = Q + A T P A − A T P B ( R + B T P B ) − 1 B T P A P = Q + A^TPA - A^TPB(R+B^TPB)^{-1}B^TPA P=Q+ATPAATPB(R+BTPB)1BTPA

具体执行:

  • 初始化 P = Q P=Q P=Q
  • 反复执行上述迭代,直至 P P P 收敛。

📌 步骤③ 求取最优反馈控制律

稳定后得到的最优反馈增益 K K K
K = ( R + B T P B ) − 1 B T P A K = (R + B^TPB)^{-1}B^TPA K=(R+BTPB)1BTPA

  • 此时最优控制输入:
    u k = − K x k u_k=-Kx_k uk=Kxk

  • 即反馈控制为:
    u k = − [ K h , K v ] [ h k v k ] u_k=-[K_h, K_v]\begin{bmatrix}h_k \\ v_k\end{bmatrix} uk=[Kh,Kv][hkvk]


🚩 LQR最优控制具体执行步骤(总结)

  1. 给定 A , B , Q , R A,B,Q,R A,B,Q,R
  2. 通过 DP 求解里卡提方程,获得矩阵 P P P
  3. 根据矩阵 P P P 求出反馈增益矩阵 K K K
  4. 实施反馈控制 u = − K x u=-Kx u=Kx

📌 实际应用与扩展

这个示例清晰展示了如何从状态空间模型出发,使用动态规划(DP)思想求解最优控制问题(LQR)。

  • 在无人机实际应用中, A , B , Q , R A,B,Q,R A,B,Q,R的选择决定了无人机轨迹跟踪的性能与响应特性。
  • 可以结合强化学习算法进一步优化控制器参数,以应对动态环境变化(风速扰动、载荷变化等)。

🚩 总结与回顾

以上详细阐述了:

  • LQR问题的状态空间定义;
  • DP求解LQR的核心过程(里卡提方程);
  • 从值函数提取反馈控制策略的明确过程。

这种结合 DP 与控制理论的理解,为进一步理解强化学习和最优控制算法奠定了坚实基础。


📌 四、DP 求解 LQR 问题的意义与应用场景

DP 求解 LQR 的优势:

  • 提供全局最优控制解
  • 提供了闭环控制律 u = − K x u = -K x u=Kx,实现实时控制;
  • 计算高效(提前算出增益 K K K,实时仅需简单计算)。

典型应用:

  • 无人机飞行稳定与轨迹跟踪控制;
  • 自动驾驶汽车轨迹跟踪;
  • 机器人姿态稳定控制(机械臂、机器人平衡)。

📌 四、LQR与强化学习的关系

  • LQR 是一个确定的、线性、二次型最优控制问题,是 DP 的特例。
  • 强化学习可看作非线性、随机系统中的广义 LQR 问题:
    • 状态空间更复杂、可能未知;
    • 使用函数逼近(如神经网络)替代里卡提方程求解;
    • 如 Deep RL 中的 DDPG 算法,可看作非线性随机环境中的广义LQR解法。

🚩 总结(LQR-DP求解过程关键点):

  • LQR问题的最优控制求解可用 DP 思想,推导得到里卡提方程;
  • 通过值函数迭代方式求解里卡提方程,获得最优反馈控制增益;
  • 可将 LQR 问题理解为 DP 和强化学习的特例,便于推广到更复杂的问题。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词