离散系统的LQR推导
离散的LQR优化问题一般具有如下形式:
min J = 1 2 x N T H x N + 1 2 ∑ k = 0 N − 1 [ x k T Q k x k + u k T R k u k ] subject to x k + 1 = A k x k + B k u k , x 0 given , H = H T ≥ 0 , Q = Q T ≥ 0 , R = R T > 0 , (1) \min{J=\frac{1}{2}x_N^THx_N+\frac{1}{2}\sum_{k=0}^{N-1}{[x_k^TQ_kx_k+u_k^TR_ku_k]}}\\ \begin{aligned} \text{subject to}\quad&x_{k+1}=A_kx_k+B_ku_k,\\ &x_0\quad\text{given},\\ &H=H^T\geq0,\\ &Q=Q^T\geq0,\\ &R=R^T>0, \end{aligned} \tag{1} minJ=21xNTHxN+21k=0∑N−1[xkTQkxk+ukTRkuk]subject toxk+1=Akxk+Bkuk,x0given,H=HT≥0,Q=QT≥0,R=RT>0,(1)
优化的目标是已知 x x x的情况下,通过选择控制输入 u 0 ⋯ u N − 1 u_0\cdots u_{N-1} u0⋯uN−1 使得代价 J J J最小。我们将代价函数 J J J 分开来看,定义从状态 x i x_i xi 到 x N x_N xN 的部分代价函数为 J i J_i Ji ,除此之外部分的代价函数为 J i ′ J_i^{\prime} Ji′ ,于是有:
J i = 1 2 x N T H x N + 1 2 ∑ k = i N − 1 [ x k T Q k x k + u k T R k u k ] when 0 ≤ i ≤ N − 1 J N = 1 2 x N T H x N (2) \begin{aligned} J_i&=\frac{1}{2}x_N^THx_N+\frac{1}{2}\sum_{k=i}^{N-1}{[x_k^TQ_kx_k+u_k^TR_ku_k]} \quad\text{when}\quad 0 \leq i \leq N-1\\ J_N&=\frac{1}{2}x_N^THx_N \end{aligned} \tag{2} JiJN=21xNTHxN+21k=i∑N−1[xkTQkxk+ukTRkuk]when0≤i≤N−1=21xNTHxN(2)
J i ′ = 1 2 ∑ k = 0 i − 1 [ x k T Q k x k + u k T R k u k ] when 1 ≤ i ≤ N − 1 J 0 ′ = 0 (3) \begin{aligned} J_i^{\prime}&=\frac{1}{2}\sum_{k=0}^{i-1}{[x_k^TQ_kx_k+u_k^TR_ku_k]} \quad\text{when}\quad 1 \leq i \leq N-1\\ J_0^{\prime}&=0 \end{aligned} \tag{3} Ji′J0′=21k=0∑i−1[xkTQkxk+ukTRkuk]when1≤i≤N−1=0(3)
显然有:
J = J i + J i ′ (4) J=J_i+J_i^{\prime} \tag{4} J=Ji+Ji′(4)
我们逐步对控制输入 u u u 进行最小化 J J J 的操作。考虑控制输入的最后一项是 u N u_N uN ,有:
min u N − 1 J = min u N − 1 { J N − 1 + J N − 1 ′ } (5) \underset{u_{N-1}}\min{J}=\underset{u_{N-1}}\min{\{J_{N-1}+J_{N-1}^{\prime}\}} \tag{5} uN−1minJ=uN−1