离散时间最优调节器(dlqr)

1. 离散时间系统无限时间最优调节器

考虑离散时间线性定常系统:
x ( k + 1 ) = A x ( k ) + B u ( k ) x(k+1) = Ax(k)+Bu(k) x(k+1)=Ax(k)+Bu(k)
性能指标:
J = 1 2 ∑ k = k 0 ∞ [ x T ( k ) Q x ( k ) + u T ( k ) R u ( k ) ] J = \frac{1}{2}\sum_{k=k_0}^\infty [x^{T}(k)Qx(k)+u^{T}(k)Ru(k)] J=21k=k0[xT(k)Qx(k)+uT(k)Ru(k)]
定义:
J [ x ( j ) ] = 1 2 ∑ k = j ∞ [ x T ( k ) Q x ( k ) + u T ( k ) R u ( k ) ] J[x(j)]=\frac{1}{2}\sum_{k=j}^\infty[x^{T}(k)Qx(k)+u^{T}(k)Ru(k)] J[x(j)]=21k=j[xT(k)Qx(k)+uT(k)Ru(k)]
要使得代价函数达到最小,的最优控制律为
u ( j ) = − R − 1 B T ∂ J ∗ [ x ( j + 1 ) ] ∂ x ( j + 1 ) u(j) = -R^{-1}B^{T}\frac{\partial J^{*}[x(j+1)]}{\partial x(j+1)} u(j)=R1BTx(j+1)J[x(j+1)]
则相应的最小代价函数为:

J ∗ [ x ( j ) ] = 1 2 x T ( j ) Q x ( j ) + J ∗ [ x ( j + 1 ) ] + 1 2 ∂ J ∗ [ x ( j + 1 ) ] ∂ x T ( j + 1 ) B R − 1 B T ∂ J ∗ [ x ( j + 1 ) ] ∂ x ( j + 1 ) J^{*}[x(j)]=\frac{1}{2}x^{T}(j)Qx(j)+J^{*}[x(j+1)]+\frac{1}{2}\frac{\partial J^{*}[x(j+1)]}{\partial x^{T}(j+1)}BR^{-1}B^{T}\frac{\partial J^{*}[x(j+1)]}{\partial x(j+1)} J[x(j)]=21xT(j)Qx(j)+J[x(j+1)]+21xT(j+1)J[x(j+1)]BR1BTx(j+1)J[x(j+1)]

注意到上式结构,且 Q Q Q B R T B T BR^{T}B^{T} BRTBT是常数矩阵,因此可令:

J ∗ [ x ( j ) ] = 1 2 x T ( j ) P x ( j ) J^{*}[x(j)]=\frac{1}{2}x^{T}(j)Px(j) J[x(j)]=21xT(j)Px(j)
将其偏导数带入控制律中:
u ( j ) = − R − 1 B T P x ( j + 1 ) u(j)=-R^{-1}B^{T}Px(j+1) u(j)=R1BTPx(j+1)
带入系统中得到:
x ( j + 1 ) = Λ x ( j + 1 ) x(j+1) = \varLambda x(j+1) x(j+1)=Λx(j+1)
其中
Λ = A − B [ R + B T P B ] − 1 B T P A \varLambda =A-B[R+B^{T}PB]^{-1}B^{T}PA Λ=AB[R+BTPB]1BTPA
因此我们可以带入最小代价函数中得到:
1 2 x T ( j ) P x ( j ) = 1 2 x T ( j ) Q x ( j ) + 1 2 x T ( j ) Λ T P Λ x ( j ) + 1 2 x T ( j ) Λ T P B R − 1 B T P Λ x ( j ) \frac{1}{2}x^{T}(j)Px(j)=\frac{1}{2}x^{T}(j)Qx(j)+\frac{1}{2}x^{T}(j)\varLambda^{T}P\varLambda x(j)+\frac{1}{2}x^{T}(j)\varLambda^{T}PBR^{-1}B^{T}P\varLambda x(j) 21xT(j)Px(j)=21xT(j)Qx(j)+21xT(j)ΛTPΛx(j)+21xT(j)ΛTPBR1BTPΛx(j)

可得到P满足:
P = Q + Λ T P Λ + Λ T P B R − 1 B T P Λ P = Q+\varLambda^{T}P\varLambda+\varLambda^{T}PBR^{-1}B^{T}P\varLambda P=Q+ΛTPΛ+ΛTPBR1BTPΛ
Λ \varLambda Λ的表达式带入上式中得到:
P = Q + A T P A − A T P B ( R + B T P B ) − 1 B T P A P = Q+A^{T}PA-A^{T}PB(R+B^{T}PB)^{-1}B^{T}PA P=Q+ATPAATPB(R+BTPB)1BTPA

u ( k ) = − K x ( k ) u(k)=-Kx(k) u(k)=Kx(k)

K = ( R + B T P B ) − 1 B T P A K = (R+B^{T}PB)^{-1}B^{T}PA K=(R+BTPB)1BTPA

2.离散时间系统有限时间最优调节器

对于离散时间系统:
x ( k + 1 ) = A x ( k ) + B u ( k ) x(k+1) = Ax(k)+Bu(k) x(k+1)=Ax(k)+Bu(k)
性能指标:
J = 1 2 x T ( N ) S ( N ) x ( N ) + 1 2 ∑ k = k 0 N − 1 [ x T ( k ) Q x ( k ) + u T ( k ) R u ( k ) ] J = \frac{1}{2}x^{T}(N)S(N)x(N)+\frac{1}{2}\sum_{k=k_0}^{N-1} [x^{T}(k)Qx(k)+u^{T}(k)Ru(k)] J=21xT(N)S(N)x(N)+21k=k0N1[xT(k)Qx(k)+uT(k)Ru(k)]

J [ x ( k ) , k ] = 1 2 x T ( N ) S ( N ) x ( N ) + 1 2 ∑ j = k N − 1 [ x T ( j ) Q x ( j ) + u T ( j ) R u ( j ) ] J[x(k),k]=\frac{1}{2}x^{T}(N)S(N)x(N)+\frac{1}{2}\sum_{j=k}^{N-1} [x^{T}(j)Qx(j)+u^{T}(j)Ru(j)] J[x(k),k]=21xT(N)S(N)x(N)+21j=kN1[xT(j)Qx(j)+uT(j)Ru(j)]
则当 k = N k=N k=N时,
J ∗ [ x ( N ) , N ] = J [ x ( N ) , N ] = 1 2 x T ( N ) S ( N ) x ( N ) J^{*}[x(N),N]=J[x(N),N]=\frac{1}{2}x^{T}(N)S(N)x(N) J[x(N),N]=J[x(N),N]=21xT(N)S(N)x(N)

其中 P ( N ) = S ( N ) P(N)=S(N) P(N)=S(N)

k = N − 1 k=N-1 k=N1时,
J ∗ [ x ( N − 1 ) , N − 1 ] = min ⁡ u ( N − 1 ) { 1 2 x T ( N − 1 ) Q ( N − 1 ) x ( N − 1 ) + 1 2 u T ( N − 1 ) R ( N ) u ( N − 1 ) + J ∗ [ x ( N ) , N ] } J^{*}[x(N-1),N-1]=\min \limits_{u(N-1)}\left\{ \frac{1}{2}x^{T}(N-1)Q(N-1)x(N-1) +\frac{1}{2}u^{T}(N-1)R(N)u(N-1)+J^{*}[x(N),N]\right\} J[x(N1),N1]=u(N1)min{21xT(N1)Q(N1)x(N1)+21uT(N1)R(N)u(N1)+J[x(N),N]}

其中
x ( N ) = A x ( N − 1 ) + B u ( N − 1 ) x(N)=Ax(N-1)+Bu(N-1) x(N)=Ax(N1)+Bu(N1)
将上式带入 J ∗ [ x ( N − 1 ) , N − 1 ] J^{*}[x(N-1),N-1] J[x(N1),N1]中得:
J ∗ [ x ( N − 1 ) , N − 1 ] = min ⁡ u ( N − 1 ) { 1 2 x T ( N − 1 ) Q ( N − 1 ) x ( N − 1 ) + 1 2 u T ( N − 1 ) R ( N ) u ( N − 1 ) + 1 2 [ A ( N − 1 ) x ( N − 1 ) + B ( N − 1 ) u ( N − 1 ) ] T P ( N ) [ A ( N − 1 ) x ( N − 1 ) + B ( N − 1 ) u ( N − 1 ) ] } \begin{aligned} J^{*}[x(N-1),N-1]=\min \limits_{u(N-1)}\{ & \frac{1}{2}x^{T}(N-1)Q(N-1)x(N-1) +\frac{1}{2}u^{T}(N-1)R(N)u(N-1)\\ &+\frac{1}{2}[A(N-1)x(N-1)+B(N-1)u(N-1)]^{T}P(N)[A(N-1)x(N-1)\\ &+B(N-1)u(N-1)]\} \end{aligned} J[x(N1),N1]=u(N1)min{21xT(N1)Q(N1)x(N1)+21uT(N1)R(N)u(N1)+21[A(N1)x(N1)+B(N1)u(N1)]TP(N)[A(N1)x(N1)+B(N1)u(N1)]}
其中令:
H = 1 2 u T ( N − 1 ) R ( N ) u ( N − 1 ) + 1 2 [ A ( N − 1 ) x ( N − 1 ) + B ( N − 1 ) u ( N − 1 ) ] T P ( N ) [ A ( N − 1 ) x ( N − 1 ) + B ( N − 1 ) u ( N − 1 ) ] \begin{aligned} H&=\frac{1}{2}u^{T}(N-1)R(N)u(N-1)\\ &+\frac{1}{2}[A(N-1)x(N-1)+B(N-1)u(N-1)]^{T}P(N)[A(N-1)x(N-1)+B(N-1)u(N-1)] \end{aligned} H=21uT(N1)R(N)u(N1)+21[A(N1)x(N1)+B(N1)u(N1)]TP(N)[A(N1)x(N1)+B(N1)u(N1)]
要使得 J ∗ [ x ( N − 1 ) , N − 1 ] J^{*}[x(N-1),N-1] J[x(N1),N1]最小,则求 ∂ H ∂ u \frac{\partial H}{\partial u} uH
∂ H ∂ u = R u ( N − 1 ) + B T ( N − 1 ) P ( N − 1 ) [ A ( N − 1 ) X ( N − 1 ) + B ( N − 1 ) u ( N − 1 ) ] = 0 \frac{\partial H}{\partial u}=Ru(N-1)+B^{T}(N-1)P(N-1)[A(N-1)X(N-1)+B(N-1)u(N-1)]=0 uH=Ru(N1)+BT(N1)P(N1)[A(N1)X(N1)+B(N1)u(N1)]=0
则我们得到
u ( N − 1 ) = − K ( N − 1 ) x ( N − 1 ) u(N-1)=-K(N-1)x(N-1) u(N1)=K(N1)x(N1)
K ( N − 1 ) = [ R + B T P ( N ) B ] − 1 B T P ( N ) A K(N-1)=[R+B^{T}P(N)B]^{-1}B^{T}P(N)A K(N1)=[R+BTP(N)B]1BTP(N)A
u ( N − 1 ) u(N-1) u(N1)带入 J ∗ [ x ( N − 1 ) , N − 1 ] J^{*}[x(N-1),N-1] J[x(N1),N1]得:
J ∗ [ x ( N − 1 ) , N − 1 ] = 1 2 x T ( N − 1 ) P ( N − 1 ) x ( N − 1 ) J^{*}[x(N-1),N-1]=\frac{1}{2}x^{T}(N-1)P(N-1)x(N-1) J[x(N1),N1]=21xT(N1)P(N1)x(N1)

其中
P ( N − 1 ) = Q + A T P A − A T P B K − ( A T P B K ) T + K T [ R + B T P ( N ) B ] K P(N-1)=Q +A^{T}PA-A^{T}PBK-(A^{T}PBK)^{T}+K^{T}[R+B^{T}P(N)B]K P(N1)=Q+ATPAATPBK(ATPBK)T+KT[R+BTP(N)B]K

因此我们得到了递推公式如下所示:

u ( k ) = − K ( k ) x ( k ) u(k)=-K(k)x(k) u(k)=K(k)x(k)

K ( k ) = [ R + B T P ( k + 1 ) B ] − 1 B T P ( k + 1 ) A K(k)=[R+B^{T}P(k+1)B]^{-1}B^{T}P(k+1)A K(k)=[R+BTP(k+1)B]1BTP(k+1)A

P ( k ) = Q + A T P A − A T P B K ( k ) − ( A T P B K ( k ) ) T + K T ( k ) [ R + B T P ( k + 1 ) B ] K ( k ) P(k)=Q +A^{T}PA-A^{T}PBK(k)-(A^{T}PBK(k))^{T}+K^{T}(k)[R+B^{T}P(k+1)B]K(k) P(k)=Q+ATPAATPBK(k)(ATPBK(k))T+KT(k)[R+BTP(k+1)B]K(k)

P ( N ) = S ( N ) P(N)=S(N) P(N)=S(N)

  • 7
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值