神经网络自适应反馈控制设计

写在前面

自适应神经网络控制器将自适应控制与神经网络相结合,通过神经网络系统辨识的方法达到自适应控制的目的。

控制器针对系统模型参数未知的被控对象,基于系统的状态变量,通过神经网络辨识被控对象的未知参数,并将被控对象的模型信息提供给自适应反馈控制器。相对于传统的PID控制器,自适应神经网络控制器有更强的鲁棒性。

问题描述

考虑一个含有未知函数的非线性系统,其状态方程可表示为
{ x ˙ = f ( x ) + P u y = x ( 1 ) \left\{ \begin{aligned} \dot x&=f(x)+Pu\\ y&=x \end{aligned} \right.\qquad (1) {x˙y=f(x)+Pu=x(1)
其中 x , y ∈ R m x,y\in\mathbb R^m x,yRm为系统状态变量和输出变量, u ∈ R m u\in\mathbb R^m uRm为系统的输入变量, f ( x ) f(x) f(x)为未知函数, P ∈ R m × m P\in\mathbb R^{m\times m} PRm×m为未知正定常矩阵。

控制目标是使系统输出变量 y y y跟踪参考轨迹 y d y_d yd

自适应神经网络控制器

神经网络反馈自适应控制器的结构如下图所示1

RBF神经网络

首先定义跟踪误差 e e e
e = y − y d ( 2 ) e=y-y_d\qquad (2) e=yyd(2)
对(2)求导,得
e ˙ = P ( P − 1 ( f ( x ) − y ˙ d ) + u ) ( 3 ) \dot e = P\left(P^{-1}(f(x)-\dot y_d)+u\right)\qquad (3) e˙=P(P1(f(x)y˙d)+u)(3)
考虑 P − 1 ( f ( x ) − y ˙ d ) P^{-1}(f(x)-\dot y_d) P1(f(x)y˙d)未知,需要辨识该部分模型。令 Z = [ x , y ˙ d ] Z=[x,\dot y_d] Z=[x,y˙d],采用RBF神经网络(Radial basis function neural networks)逼近(1)中的未知函数:
W ∗ T S ( Z ) + δ ( Z ) = P − 1 ( f ( x ) − y ˙ d ) ( 4 ) W^{*T}S(Z)+\delta(Z)=P^{-1}(f(x)-\dot y_d)\qquad (4) WTS(Z)+δ(Z)=P1(f(x)y˙d)(4)
其中, S ∈ R m S\in\mathbb R^m SRm是高斯基函数, W ∗ ∈ R m × m W^*\in\mathbb R^{m\times m} WRm×m是理想的常数权值( ∥ W ∥ F ≤ W m \|W\|_F\leq W_{m} WFWm), δ ∈ R m \delta\in\mathbb R^m δRm是逼近误差( ∥ δ ∥ ≤ δ m \|\delta\|\leq \delta_m δδm)。通常认为存在理想的权值使得逼近误差 δ \delta δ最小。

定义 W ∗ W^* W的估计值为 W ^ \hat W W^权值估计误差 W ~ = W ^ − W ∗ \tilde W=\hat W-W^* W~=W^W。将(4)代入(3)得
e ˙ = P ( W ∗ T S ( Z ) + δ ( Z ) + u ) ( 5 ) \dot e=P(W^{*T}S(Z)+\delta(Z)+u)\qquad (5) e˙=P(WTS(Z)+δ(Z)+u)(5)
构造控制器为
u = − k e − W ^ T S ( Z ) ( 6 ) u=-ke-\hat W^TS(Z)\qquad (6) u=keW^TS(Z)(6)
将(6)代入(5)得
e ˙ = P [ − k e − W ~ T S ( Z ) + δ ( Z ) ] ( 7 ) \dot e=P[-ke-\tilde W^TS(Z)+\delta(Z)]\qquad (7) e˙=P[keW~TS(Z)+δ(Z)](7)

神经网络训练

为了使权值 W ^ \hat W W^逼近理想权值 W ∗ W^* W,需要对 W ^ \hat W W^进行训练。同样为了确保控制系统全局稳定,基于李雅普诺夫稳定性判据计算 W ^ \hat W W^的自适应更新律。

将跟踪误差和权值估计误差作为李雅普诺夫函数的自变量,构建函数如下
V = 1 2 e T P − 1 e + 1 2 tr ⁡ ( W ~ T Γ − 1 W ~ ) ( 8 ) V=\frac{1}{2}e^TP^{-1}e+\frac{1}{2}\operatorname{tr}(\tilde W^T\Gamma^{-1}\tilde W)\qquad (8) V=21eTP1e+21tr(W~TΓ1W~)(8)
其中 Γ \Gamma Γ为正定对称矩阵。对(8)求时间导数可得
V ˙ = − k e T e − S T ( Z ) W ~ e + tr ⁡ ( W ~ T Γ − 1 W ~ ˙ ) + δ ( Z ) e \dot V=-ke^Te-S^T(Z)\tilde We+\operatorname{tr}(\tilde W^T\Gamma^{-1}\dot{\tilde W})+\delta(Z)e V˙=keTeST(Z)W~e+tr(W~TΓ1W~˙)+δ(Z)e
由于 W ~ = W ^ − W ∗ \tilde W=\hat W-W^* W~=W^W,有 W ^ ˙ = W ~ ˙ \dot {\hat W}=\dot {\tilde W} W^˙=W~˙,从而有
V ˙ = − k e T e − S T ( Z ) W ~ e + tr ⁡ ( W ~ T Γ − 1 W ^ ˙ ) + δ ( Z ) e \dot V=-ke^Te-S^T(Z)\tilde We+\operatorname{tr}(\tilde W^T\Gamma^{-1}\dot {\hat W})+\delta(Z)e V˙=keTeST(Z)W~e+tr(W~TΓ1W^˙)+δ(Z)e
由于
S ( Z ) W ~ e = tr ⁡ ( e S T ( Z ) W ~ ) S(Z)\tilde We=\operatorname{tr}(eS^T(Z)\tilde W) S(Z)W~e=tr(eST(Z)W~)


V ˙ = − k e T e + tr ⁡ ( − e S T ( Z ) W ~ + W ^ ˙ T Γ − 1 W ~ ) + δ ( Z ) e ( 9 ) \dot V=-ke^Te+\operatorname{tr}(-eS^T(Z)\tilde W+\dot {\hat W}^T\Gamma^{-1}\tilde W)+\delta(Z)e\qquad (9) V˙=keTe+tr(eST(Z)W~+W^˙TΓ1W~)+δ(Z)e(9)

自适应律之一

稳定性要求 V ˙ ≤ 0 \dot V\leq 0 V˙0,考虑 − S T ( Z ) W ~ e -S^T(Z)\tilde We ST(Z)W~e tr ⁡ ( W ~ T Γ − 1 W ^ ˙ ) \operatorname{tr}(\tilde W^T\Gamma^{-1}\dot {\hat W}) tr(W~TΓ1W^˙)相互抵消时,通过选择系数 k k k满足 k ≥ δ m ∥ e ∥ k\geq\frac{\delta_m}{\|e\|} keδm,使得下式成立:
V ˙ = − k e T e + δ ( Z ) e ≤ − k ∥ e ∥ 2 + δ ∗ ∥ e ∥ = − ( k − δ ∗ ∥ e ∥ ) ∥ e ∥ 2 ≤ 0. \dot V=-ke^Te+\delta(Z)e\leq -k\|e\|^2+\delta^*\|e\|=-(k-\frac{\delta^*}{\|e\|})\|e\|^2\leq 0. V˙=keTe+δ(Z)eke2+δe=(keδ)e20.
此时神经网络的权值自适应更新律为
W ^ ˙ = Γ S ( Z ) e ( 10 ) \dot {\hat W}=\Gamma S(Z)e\qquad (10) W^˙=ΓS(Z)e(10)
相应 ∥ e ∥ \|e\| e的收敛半径为 δ m / k \delta_m/k δm/k。但该方法不能保证权值 W ~ = W ^ − W ∗ \tilde W=\hat W-W^* W~=W^W的有界性,即无法实现未知上界有界(Unknown Upper Bound, UUB)问题。

自适应律之二

取自适应律23
W ^ ˙ = Γ S ( Z ) e − k 1 Γ W ^ ( 11 ) \dot {\hat W}=\Gamma S(Z)e-k_1\Gamma\hat W\qquad (11) W^˙=ΓS(Z)ek1ΓW^(11)
将(11)代入(9)得
V ˙ = − k e T e − k 1 tr ⁡ ( W ^ T W ~ ) + δ ( Z ) e \dot V=-ke^Te-k_1\operatorname{tr}(\hat W^T\tilde W)+\delta(Z)e V˙=keTek1tr(W^TW~)+δ(Z)e

为了比较真实的矩阵和估计的矩阵值之间的误差,或者说比较真实矩阵和估计矩阵之间的相似性,我们可以采用 Frobenius 范数。根据F范数的性质45,有
2 tr ⁡ ( W ^ T W ~ ) = ∥ W ^ ∥ F 2 + ∥ W ~ ∥ F 2 − ∥ W ∗ ∥ F 2 ≥ ∥ W ~ ∥ F 2 − W m 2 tr ⁡ ( W ^ T W ~ ) ≥ ∥ W ~ ∥ F 2 − ∥ W ~ ∥ ∥ W ∗ ∥ F ≥ ∥ W ~ ∥ F 2 − ∥ W ~ ∥ F W m \begin{aligned} 2\operatorname{tr}(\hat W^T\tilde W)&= \|\hat W\|_F^2+\|\tilde W\|_F^2-\|W^*\|_F^2\geq \|\tilde W\|_F^2-W_m^2\\ \operatorname{tr}(\hat W^T\tilde W)&\geq \|\tilde W\|_F^2-\|\tilde W\|\|W^*\|_F\geq \|\tilde W\|_F^2-\|\tilde W\|_FW_m \end{aligned} 2tr(W^TW~)tr(W^TW~)=W^F2+W~F2WF2W~F2Wm2W~F2W~WFW~F2W~FWm

V ˙ ≤ − k e T e − k 1 ( ∥ W ~ ∥ F 2 − ∥ W ~ ∥ F W m ) + δ ( Z ) e ≤ − [ ∥ e ∥ ∥ W ~ ∥ F ] [ k 0 0 k 1 ] [ ∥ e ∥ ∥ W ~ ∥ F ] + [ δ m k 1 W m ] [ ∥ e ∥ ∥ W ~ ∥ F ] ( 12 ) \begin{aligned} \dot V&\leq -ke^Te-k_1(\|\tilde W\|_F^2-\|\tilde W\|_FW_m)+\delta(Z)e\\ &\leq-\begin{bmatrix}\|e\|&\|\tilde W\|_F\end{bmatrix}\begin{bmatrix}k&0\\ 0&k_1\end{bmatrix}\begin{bmatrix}\|e\|\\ \|\tilde W\|_F\end{bmatrix} +\begin{bmatrix}\delta_m&k_1W_m\end{bmatrix}\begin{bmatrix}\|e\|\\ \|\tilde W\|_F\end{bmatrix} \end{aligned}\qquad (12) V˙keTek1(W~F2W~FWm)+δ(Z)e[eW~F][k00k1][eW~F]+[δmk1Wm][eW~F](12)
z = [ ∥ e ∥ ∥ W ~ ∥ F ] T z=\begin{bmatrix}\|e\|&\|\tilde W\|_F\end{bmatrix}^T z=[eW~F]T。则(12)可以表示为
V ˙ ≤ − z T Q z + h z ≤ − λ ‾ ( Q ) ∥ z ∥ 2 + ∥ h ∥ ∥ z ∥ ( 13 ) \dot V\leq -z^TQz+hz\leq -\underline \lambda(Q)\|z\|^2+\|h\|\|z\|\qquad (13) V˙zTQz+hzλ(Q)z2+hz(13)

{ R ‾ = min ⁡ ( λ ‾ ( P − 1 ) , λ ‾ ( Γ − 1 ) ) R ‾ = max ⁡ ( λ ‾ ( P − 1 ) , λ ‾ ( Γ − 1 ) ) \left\{\begin{aligned} \underline R&=\min(\underline \lambda(P^{-1}),\underline \lambda(\Gamma^{-1}))\\ \overline R&=\max(\overline \lambda(P^{-1}),\overline \lambda(\Gamma^{-1})) \end{aligned}\right. {RR=min(λ(P1),λ(Γ1))=max(λ(P1),λ(Γ1))

1 2 R ‾ ∥ z ∥ 2 ≤ V ≤ 1 2 R ˉ ∥ z ∥ 2 ( 14 ) \frac{1}{2}\underline R\|z\|^2\leq V\leq \frac{1}{2}\bar R\|z\|^2\qquad (14) 21Rz2V21Rˉz2(14)
结合(13)、(14)得到
V ˙ ≤ − α V + β V ( 15 ) \dot V\leq -\alpha V+\beta \sqrt{V}\qquad (15) V˙αV+βV (15)
其中
α = 2 λ ‾ ( Q ) R ‾ , β = 2 ∥ h ∥ R ‾ \alpha = \frac{2\underline \lambda(Q)}{\overline R},\quad \beta=\frac{\sqrt{2\|h\|}}{\sqrt{\underline R}} α=R2λ(Q),β=R 2h
对(15)积分可得
V ( t ) ≤ V ( 0 ) e − α 2 t + β α ( 1 − e − α 2 t ) \sqrt{V(t)}\leq \sqrt{V(0)}e^{-\frac{\alpha}{2}t}+\frac{\beta}{\alpha}(1-e^{-\frac{\alpha}{2}t}) V(t) V(0) e2αt+αβ(1e2αt)
可保证 ∥ e ∥ , ∥ W ~ ∥ F \|e\|,\|\tilde W\|_F e,W~F均最终一致有界6,且
lim ⁡ t → ∞ ∥ e ∥ ≤ ∥ h ∥ R ‾ λ ‾ ( Q ) R ‾ λ ‾ ( P − 1 ) \lim_{t\to\infty} \|e\|\leq \frac{\|h\|\overline R}{\underline \lambda(Q)\sqrt{\underline R \underline \lambda (P^{-1})}} tlimeλ(Q)Rλ(P1) hR

相比传统的PID控制器, 自适应控制器能修正自己的特性以适应对象和扰动的动态特性的变化 , 因此对模型复杂多变被控对象,自适应神经网络控制算法具有更高的可靠性。


  1. 神经网络控制-杨辰光 - HuangTL的文章 - 知乎 https://zhuanlan.zhihu.com/p/346601192 ↩︎

  2. 刘金琨. 机器人控制系统的设计与MATLAB仿真. 北京:清华大学出版社,2008. ↩︎

  3. Z. Peng, D. Wang, H. Zhang, and G. Sun, “Distributed neural network control for adaptive synchronization of uncertain dynamical multiagent systems,” IEEE Trans. Neural Networks Learn. Syst., vol. 25, no. 8, pp. 1508–1519, 2014. ↩︎

  4. M. Chen, S. S. Ge, and B. V. E. How, “Robust adaptive neural network control for a class of uncertain MIMO nonlinear systems with input nonlinearities,” IEEE Trans. Neural Networks, vol. 21, no. 5, pp. 796–812, May 2010. ↩︎

  5. StackExchange. Relation between Frobenius norm and trace. https://math.stackexchange.com/questions/1898839/relation-between-frobenius-norm-and-trace ↩︎

  6. H. Khalil, Nonlinear Systems, 3rd ed. Englewood Cliffs, NJ, USA: Prentice-Hall, 2002 ↩︎

  • 6
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 神经网络自适应控制是一种利用神经网络模型和自适应算法来实现系统控制的方法。在Simulink中,可以通过搭建适当的模型和使用相关的功能块来实现神经网络自适应控制。 首先,我们可以使用Simulink中的神经网络模块来构建神经网络模型。通过选择适当的神经网络结构和参数,可以根据系统的特性设计一个合适的神经网络模型。 然后,我们可以使用Simulink中的自适应控制算法来调整神经网络的参数。这些自适应控制算法可以根据系统的实时反馈信息自动地调整神经网络模型的权重和偏置,以达到控制系统的良好性能。 在Simulink中,可以使用自适应控制功能块来实现这一过程。这些功能块可以根据系统输入和输出的数据实时地计算出适当的参数调整量,然后将其应用到神经网络中。 除了神经网络模块和自适应控制功能块,Simulink还提供了其他辅助功能块,用于数据预处理、控制输出等。通过合理地使用这些功能块,我们可以更加灵活地设计和调整神经网络自适应控制系统。 总之,通过Simulink提供的神经网络模块、自适应控制功能块和其他辅助功能块,我们可以方便地搭建和调整神经网络自适应控制系统。这种方法可以应用于各种实际控制问题,并能实现高效、准确的系统控制。 ### 回答2: 神经网络自适应控制是一种通过神经网络模型实现的控制方法,在Simulink中可以很方便地实现。 在使用Simulink进行神经网络自适应控制时,首先需要建立神经网络模型。可以使用Simulink中的神经网络模块来构建神经网络结构,包括输入层、隐藏层和输出层,并设置相应的神经元数量和连接权重。还可以选择适用于具体控制问题的激活函数来调整网络的输出。 一旦建立了神经网络模型,接下来需要进行训练。可以通过Simulink中的训练模块来实现神经网络的训练,如反向传播算法等。通过提供输入和期望的输出数据,神经网络可以根据已知数据进行学习和调整,以适应实际的控制需求。 当神经网络完成了训练后,就可以将其用于控制系统中。通过将输入信号传递给神经网络,就可以得到相应的输出信号,从而实现自适应控制。 Simulink提供了丰富的工具和功能,可以实时监测和调整神经网络控制器的性能。可以使用Simulink模块进行仿真和分析,以评估神经网络控制器的效果,并根据需要进行参数和结构的调整。 综上所述,Simulink提供了一种便捷的方式来实现神经网络自适应控制。通过建立神经网络模型、训练网络、应用网络进行控制并进行性能分析,可以有效地实现对系统的自适应控制

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值