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

写在前面

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

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

问题描述

考虑一个含有未知函数的非线性系统,其状态方程可表示为

{x˙=f(x)+Puy=x(1)\left\{ \begin{aligned} \dot x&=f(x)+Pu\\ y&=x \end{aligned} \right.\qquad (1)

其中x,y∈Rmx,y\in\mathbb R^m为系统状态变量和输出变量,u∈Rmu\in\mathbb R^m为系统的输入变量,f(x)f(x)为未知函数,P∈Rm×mP\in\mathbb R^{m\times m}为未知正定常矩阵。

控制目标是使系统输出变量yy跟踪参考轨迹ydy_d。

自适应神经网络控制器

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

RBF神经网络

首先定义跟踪误差ee

e=y−yd(2)e=y-y_d\qquad (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)

考虑P−1(f(x)−y˙d)P^{-1}(f(x)-\dot y_d)未知,需要辨识该部分模型。令Z=[x,y˙d]Z=[x,\dot y_d],采用RBF神经网络(Radial basis function neural networks)逼近(1)中的未知函数:

W∗TS(Z)+δ(Z)=P−1(f(x)−y˙d)(4)W^{*T}S(Z)+\delta(Z)=P^{-1}(f(x)-\dot y_d)\qquad (4)

其中,S∈RmS\in\mathbb R^m是高斯基函数,W∗∈Rm×mW^*\in\mathbb R^{m\times m}是理想的常数权值(∥W∥F≤Wm\|W\|_F\leq W_{m}),δ∈Rm\delta\in\mathbb R^m是逼近误差(∥δ∥≤δm\|\delta\|\leq \delta_m)。通常认为存在理想的权值使得逼近误差δ\delta最小。

定义W∗W^*的估计值为W^\hat W,权值估计误差W~=W^−W∗\tilde W=\hat W-W^*。将(4)代入(3)得

e˙=P(W∗TS(Z)+δ(Z)+u)(5)\dot e=P(W^{*T}S(Z)+\delta(Z)+u)\qquad (5)

构造控制器为

u=−ke−W^TS(Z)(6)u=-ke-\hat W^TS(Z)\qquad (6)

将(6)代入(5)得

e˙=P[−ke−W~TS(Z)+δ(Z)](7)\dot e=P[-ke-\tilde W^TS(Z)+\delta(Z)]\qquad (7)

神经网络训练

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

将跟踪误差和权值估计误差作为李雅普诺夫函数的自变量,构建函数如下

V=12eTP−1e+12tr⁡(W~TΓ−1W~)(8)V=\frac{1}{2}e^TP^{-1}e+\frac{1}{2}\operatorname{tr}(\tilde W^T\Gamma^{-1}\tilde W)\qquad (8)

其中Γ\Gamma为正定对称矩阵。对(8)求时间导数可得

V˙=−keTe−ST(Z)W~e+tr⁡(W~TΓ−1W~˙)+δ(Z)e\dot V=-ke^Te-S^T(Z)\tilde We+\operatorname{tr}(\tilde W^T\Gamma^{-1}\dot{\tilde W})+\delta(Z)e

由于W~=W^−W∗\tilde W=\hat W-W^*,有W^˙=W~˙\dot {\hat W}=\dot {\tilde W},从而有

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

由于

S(Z)W~e=tr⁡(eST(Z)W~)S(Z)\tilde We=\operatorname{tr}(eS^T(Z)\tilde W)

则

V˙=−keTe+tr⁡(−eST(Z)W~+W^˙TΓ−1W~)+δ(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˙≤0\dot V\leq 0,考虑−ST(Z)W~e-S^T(Z)\tilde We和tr⁡(W~TΓ−1W^˙)\operatorname{tr}(\tilde W^T\Gamma^{-1}\dot {\hat W})相互抵消时,通过选择系数kk满足k≥δm∥e∥k\geq\frac{\delta_m}{\|e\|},使得下式成立:

V˙=−keTe+δ(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.

此时神经网络的权值自适应更新律为

W^˙=ΓS(Z)e(10)\dot {\hat W}=\Gamma S(Z)e\qquad (10)

相应∥e∥\|e\|的收敛半径为δm/k\delta_m/k。但该方法不能保证权值W~=W^−W∗\tilde W=\hat W-W^*的有界性,即无法实现未知上界有界(Unknown Upper Bound, UUB)问题。

自适应律之二

取自适应律[2][3]为

W^˙=ΓS(Z)e−k1ΓW^(11)\dot {\hat W}=\Gamma S(Z)e-k_1\Gamma\hat W\qquad (11)

将(11)代入(9)得

V˙=−keTe−k1tr⁡(W^TW~)+δ(Z)e\dot V=-ke^Te-k_1\operatorname{tr}(\hat W^T\tilde W)+\delta(Z)e

为了比较真实的矩阵和估计的矩阵值之间的误差,或者说比较真实矩阵和估计矩阵之间的相似性,我们可以采用 Frobenius 范数。根据F范数的性质[4][5],有

2tr⁡(W^TW~)=∥W^∥F2+∥W~∥F2−∥W∗∥F2≥∥W~∥F2−Wm2tr⁡(W^TW~)≥∥W~∥F2−∥W~∥∥W∗∥F≥∥W~∥F2−∥W~∥FWm\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}

则

V˙≤−keTe−k1(∥W~∥F2−∥W~∥FWm)+δ(Z)e≤−[∥e∥∥W~∥F][k00k1][∥e∥∥W~∥F]+[δmk1Wm][∥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)

令z=[∥e∥∥W~∥F]Tz=\begin{bmatrix}\|e\|&\|\tilde W\|_F\end{bmatrix}^T。则(12)可以表示为

V˙≤−zTQz+hz≤−λ‾(Q)∥z∥2+∥h∥∥z∥(13)\dot V\leq -z^TQz+hz\leq -\underline \lambda(Q)\|z\|^2+\|h\|\|z\|\qquad (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.

则

12R‾∥z∥2≤V≤12Rˉ∥z∥2(14)\frac{1}{2}\underline R\|z\|^2\leq V\leq \frac{1}{2}\bar R\|z\|^2\qquad (14)

结合(13)、(14)得到

V˙≤−αV+βV(15)\dot V\leq -\alpha V+\beta \sqrt{V}\qquad (15)

其中

α=2λ‾(Q)R‾,β=2∥h∥R‾\alpha = \frac{2\underline \lambda(Q)}{\overline R},\quad \beta=\frac{\sqrt{2\|h\|}}{\sqrt{\underline R}}

对(15)积分可得

V(t)≤V(0)e−α2t+βα(1−e−α2t)\sqrt{V(t)}\leq \sqrt{V(0)}e^{-\frac{\alpha}{2}t}+\frac{\beta}{\alpha}(1-e^{-\frac{\alpha}{2}t})

可保证∥e∥,∥W~∥F\|e\|,\|\tilde 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})}}

相比传统的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 ↩︎