自适应控制
12-随机自适应控制系统
一、概述
-
应用对象:
-
Figure:
-
参数未知的(线性/非线性)定常系统;
-
(线性/非线性)“慢”时变系统。
-
-
确定性等价原则,将问题分解成两步:
- 依据系统模型的未知参数推导出(最优)控制规律;
- 应用实时获得的系统信息对未知参数进行在线估计,并用估计值实时取代(最优)控制律中的未知参数。
-
分离原理:
- 对参数未知的控制对象,可用参数的“实时估计”代替最优控制中“参数的真值”,使估计和控制分开进行。
-
间接/直接自适应算法:
- 间接自适应算法:估计“被控对象参数,通过估计出来的被控对象的参数来更新控制器参数;
- 直接自适应算法:直接更新控制器参数。
-
自校正调节器(Self-tuning Regulators)=“最小二乘估计算法”+“最小方差”控制规律
- Figure
- 不同的辨识方法(参数估计和状态估计)+不同的设计方法=多种自适应方案;
- 设计时没有基于稳定性的考虑,缺乏“从顶至下”的整体设计方案。
二、最小方差控制问题
目的:
M i n i m i z e ( V ) V = E [ y ( k + d ) − y r ] 2 Minimize(V) \\ V=E\left[ y(k+d)- y_r \right]^2 Minimize(V)V=E[y(k+d)−yr]2
式中:
y ( k + d ) : k + d 步后的实际输出, d 与系统阶数 n 有关; y r : 参考输入(系统的期望输出)。 \begin{align} y(k+d)&:k+d步后的实际输出,d与系统阶数n有关;\\ y_r&:参考输入(系统的期望输出)。 \end{align} y(k+d)yr:k+d步后的实际输出,d与系统阶数n有关;:参考输入(系统的期望输出)。
三、最优预测问题
- SISO系统模型:
y ( k ) + a 1 y ( k − 1 ) + ⋯ + a n y ( k − n ) = b 0 u ( k − d ) + b 1 u ( k − d − 1 ) + ⋯ + b n u ( k − d − n ) + λ [ ε ( k ) + c 1 ε ( k − 1 ) + ⋯ + c n ε ( k − n ) ] y(k)+a_1y(k-1)+ \cdots+ a_ny(k-n) \\ =b_0u(k-d)+ b_1u(k-d-1)+ \cdots+ b_nu(k-d-n)+ \lambda \left[ \varepsilon(k)+ c_1\varepsilon(k-1)+ \cdots+ c_n\varepsilon(k-n) \right] y(k)+a1y(k−1)+⋯+any(k−n)=b0u(k−d)+b1u(k−d−1)+⋯+bnu(k−d−n)+λ[ε(k)+c1ε(k−1)+⋯+cnε(k−n)]
其中:
ε ( k ) :噪声干扰,方差为 1 的白噪声序列; λ > 0 :常数,决定噪声的强度; d :最快的控制输入在前 d 步加入,即有 d 步延迟。 \begin{align} \varepsilon(k) &:噪声干扰,方差为1的白噪声序列;\\ \lambda > 0 &:常数,决定噪声的强度; \\ d &:最快的控制输入在前d步加入,即有d步延迟。 \end{align} ε(k)λ>0d:噪声干扰,方差为1的白噪声序列;:常数,决定噪声的强度;:最快的控制输入在前d步加入,即有d步延迟。
矩阵形式:
A ( z − 1 ) y ( k ) = z − d B ( z − 1 ) u ( k ) + λ C ( z − 1 ) ε ( k ) A(z^{-1})y(k) = z^{-d}B(z^{-1})u(k)+ \lambda C(z^{-1})\varepsilon(k) A(z−1)y(k)=z−dB(z−1)u(k)+λC(z−1)ε(k)
其中:
A ( z − 1 ) = 1 + a 1 z − 1 + ⋯ + a n z − n B ( z − 1 ) = b 0 + b 1 z − 1 + ⋯ + b n z − n C ( z − 1 ) = 1 + c 1 z − 1 + ⋯ + c n z − n \begin{array}{l} A(z^{-1}) = 1+ a_1z^{-1}+ \cdots+ a_nz^{-n} \\ B(z^{-1}) = b_0+ b_1z^{-1}+ \cdots+ b_nz^{-n} \\ C(z^{-1}) = 1+ c_1z^{-1}+ \cdots+ c_nz^{-n} \end{array} A(z−1)=1+a1z−1+⋯+anz−nB(z−1)=b0+b1z−1+⋯+bnz−nC(z−1)=1+c1z−1+⋯+cnz−n
- 最优预测问题的描述:
E [ y ( k + d ) − y ^ ∗ ( k + d / k ) ] 2 ≤ E [ y ( k + d ) − y ^ ( k + d / k ) ] 2 E \left[ y(k+d)- \hat y^*(k+d/k) \right]^2 \leq E \left[ y(k+d)- \hat y(k+d/k) \right]^2 E[y(k+d)−y^∗(k+d/k)]2≤E[y(k+d)−y^(k+d/k)]2
其中:
y ^ ( k + d / k ) :以当前 k 时刻对 d 步之后系统输出的预测值; y ^ ∗ ( k + d / k ) :以当前 k 时刻对 d 步之后系统输出的最优预测值。 \begin{align} \hat y(k+d/k) &:以当前k时刻对d步之后系统输出的预测值;\\ \hat y^*(k+d/k) &:以当前k时刻对d步之后系统输出的最优预测值。 \end{align} y^(k+d/k)y^∗(k+d/k):以当前k时刻对d步之后系统输出的预测值;:以当前k时刻对d步之后系统输出的最优预测值。
-
将被控对象模型进行整理,利用多项式的代数分解,将干扰分成两个部分:
C ( z − 1 ) = A ( z − 1 ) F ( z − 1 ) + z − d G ( z − 1 ) F ( z − 1 ) = 1 + f 1 z − 1 + ⋯ + f d − 1 z − d + 1 G ( z − 1 ) = g 0 + g 1 z − 1 + ⋯ + g n − 1 z − n + 1 C(z^{-1})= A(z^{-1}) F(z^{-1})+ z^{-d}G(z^{-1}) \\ F(z^{-1})= 1+ f_1z^{-1}+ \cdots+f_{d-1}z^{-d+1} \\ G(z^{-1})= g_0+ g_1z^{-1}+ \cdots+ g_{n-1}z^{-n+1} C(z−1)=A(z−1)F(z−1)+z−dG(z−1)F(z−1)=1+f1z−1+⋯+fd−1z−d+1G(z−1)=g0+g1z−1+⋯+gn−1z−n+1
于是有 y ( k + d ) y(k+d) y(k+d) 和 y ( k ) y(k) y(k) 的关系:
y ( k + d ) = G ( z − 1 ) C ( z − 1 ) y ( k ) + B ( z − 1 ) F ( z − 1 ) C ( z − 1 ) u ( k ) + λ F ( z − 1 ) ε ( k + d ) y(k+d)= \frac{G(z^{-1})}{C(z^{-1})}y(k)+ \frac{B(z^{-1})F(z^{-1})}{C(z^{-1})}u(k)+ \lambda F(z^{-1}) \varepsilon(k+d) y(k+d)=C(z−1)G(z−1)y(k)+C(z−1)B(z−1)F(z−1)u(k)+λF(z−1)ε(k+d)
不考虑控制输入 u ( k ) u(k) u(k) 的推导过程:
S 1 : C = A F + z − d G ⟶ C A = F + z − d G A S 2 : 不考虑控制输入, y ( k ) = λ C ε ( k ) S 3 : y ( k + d ) = λ C A ε ( k + d ) = λ [ F + z − d G A ] ε ( k + d ) = λ G A ε ( k ) + λ F ε ( k + d ) S 4 : 由于, λ ε ( k ) = A C y ( k ) S 5 : y ( k + d ) = G A [ A C y ( k ) ] + λ F ε ( k + d ) = G C y ( k ) + λ F ε ( k + d ) \begin{align} S1 &: C=AF+z^{-d}G \longrightarrow \frac{C}{A}=F+z^{-d}\frac{G}{A} \\ S2 &: 不考虑控制输入,y(k) =\lambda C \varepsilon(k) \\ S3 &: y(k+d) =\lambda\frac{C}{A}\varepsilon(k+d) = \lambda\left[F+z^{-d}\frac{G}{A}\right]\varepsilon(k+d) = \lambda\frac{G}{A}\varepsilon(k)+\lambda F\varepsilon(k+d) \\ S4 &: 由于,\lambda\varepsilon(k)=\frac{A}{C}y(k) \\ S5 &:y(k+d) = \frac{G}{A}\left[ \frac{A}{C}y(k) \right]+\lambda F\varepsilon(k+d) = \frac{G}{C}y(k)+\lambda F\varepsilon(k+d) \end{align} S1S2S3S4S5:C=AF+z−dG⟶AC=F+z−dAG:不考虑控制输入,y(k)=λCε(k):y(k+d)=λACε(k+d)=λ[F+z−dAG]ε(k+d)=λAGε(k)+λFε(k+d):由于,λε(k)=CAy(k):y(k+d)=AG[CAy(k)]+λFε(k+d)=CGy(k)+λFε(k+d) -
最优预测值:
y ^ ∗ ( k + d / k ) = G ( z − 1 ) C ( z − 1 ) y ( k ) + B ( z − 1 ) F ( z − 1 ) C ( z − 1 ) u ( k ) \hat y^*(k+d/k)= \frac{G(z^{-1})}{C(z^{-1})}y(k)+ \frac{B(z^{-1})F(z^{-1})}{C(z^{-1})}u(k) y^∗(k+d/k)=C(z−1)G(z−1)y(k)+C(z−1)B(z−1)F(z−1)u(k)
- 预测误差的方差:
E [ y ~ ( k + d ) ] 2 = λ 2 E [ ε ( k + d ) + f 1 ε ( k + d − 1 ) + ⋯ + f d − 1 ε ( k + 1 ) ] 2 = λ 2 ( 1 + f 1 2 + ⋯ + f d − 1 2 ) E \left[ \widetilde y(k+d) \right]^2= \lambda^2 E \left[ \varepsilon(k+d)+f_1\varepsilon(k+d-1)+ \cdots+ f_{d-1}\varepsilon(k+1) \right]^2= \lambda^2 \left( 1+ f_1^2+ \cdots+ f_{d-1}^2 \right) E[y (k+d)]2=λ2E[ε(k+d)+f1ε(k+d−1)+⋯+fd−1ε(k+1)]2=λ2(1+f12+⋯+fd−12)
四、最小方差控制
-
指标函数:
J = E [ y ( k + d ) − y r ] = E [ y ^ ∗ ( k + d / k ) + λ F ( z − 1 ) ε ( k + d ) − y r ] 2 = E [ y ^ ∗ ( k + d / k ) − y r ] 2 + 2 λ ⋅ E [ ( y ^ ∗ ( k + d / k ) − y r ) ( F ( z − 1 ) ε ( k + d ) ) ] + E [ λ F ( z − 1 ) ε ( k + d ) ] 2 \begin{align} J &= E \left[ y(k+d)- y_r \right] \\ &= E\left[ \hat y^*(k+d/k)+ \lambda F(z^{-1}) \varepsilon(k+d)- y_r \right]^2 \\ &= E\left[ \hat y^*(k+d/k)- y_r \right]^2+ 2 \lambda \cdot E\left[ \left( \hat y^*(k+d/k)- y_r \right) \left( F(z^{-1}) \varepsilon(k+d) \right) \right]+ E\left[ \lambda F(z^{-1}) \varepsilon(k+d) \right]^2 \end{align} J=E[y(k+d)−yr]=E[y^∗(k+d/k)+λF(z−1)ε(k+d)−yr]2=E[y^∗(k+d/k)−yr]2+2λ⋅E[(y^∗(k+d/k)−yr)(F(z−1)ε(k+d))]+E[λF(z−1)ε(k+d)]2 -
令 y ^ ∗ ( k + d / k ) − y r = 0 \hat y^*(k+d/k)-y_r=0 y^∗(k+d/k)−yr=0 ,得最小方差控制:
u ∗ ( k ) = C ( z − 1 ) B ( z − 1 ) F ( z − 1 ) y r − G ( z − 1 ) B ( z − 1 ) F ( z − 1 ) y ( k ) u^*(k)= \frac{C(z^{-1})}{B(z^{-1})F(z^{-1})}y_r- \frac{G(z^{-1})}{B(z^{-1})F(z^{-1})}y(k) u∗(k)=B(z−1)F(z−1)C(z−1)y