«上一篇
文章快速检索     高级检索
下一篇»
  智能系统学报  2018, Vol. 13 Issue (5): 791-798  DOI: 10.11992/tis.201706066
0

引用本文  

付兴建, 于士贤. GBF-CMAC和滑模控制的柔性结构系统控制[J]. 智能系统学报, 2018, 13(5): 791-798. DOI: 10.11992/tis.201706066.
FU Xingjian, YU Shixian. Flexible plant system control based on GBF-CMAC and sliding mode control[J]. CAAI Transactions on Intelligent Systems, 2018, 13(5): 791-798. DOI: 10.11992/tis.201706066.

基金项目

国家自然科学基金项目(61573230).

通信作者

付兴建. E-mail:fuxingjian@sina.com

作者简介

付兴建,男,1974年生,副教授,博士,主要研究方向为非线性系统鲁棒控制、智能控制、运动控制。发表学术论文30余篇,被EI检索20余篇;
于士贤,男,1993年生,硕士研究生,主要研究方向为神经网络、鲁棒控制

文章历史

收稿日期:2017-06-19
网络出版日期:2018-04-19
GBF-CMAC和滑模控制的柔性结构系统控制
付兴建, 于士贤    
北京信息科技大学 自动化学院,北京 100192
摘要:针对一类不确定系统的跟踪控制,设计了一种将GBF-CMAC(cerebellar model articulation controller with Gauss basis function)与滑模控制相结合的控制系统。利用符号距离和分层结构减少了神经网络所需存储器的数量,并提出了一种神经网络参数的自适应学习律。将设计的控制器用于含有不确定性和欠驱动结构的高阶柔性直线结构系统的跟踪控制,并与一般滑模控制和积分滑模控制进行了比较。实验结果表明,所设计的控制器不仅具有较好的鲁棒性,而且改善了滑模控制存在的抖振问题。同时通过调整神经网络的参数对抖振进行控制,实现了抖振和跟踪性能之间的最优选择。
关键词高斯基函数    小脑模型控制器    神经网络    自适应    分层结构    滑模控制    不确定系统    柔性直线系统    
Flexible plant system control based on GBF-CMAC and sliding mode control
FU Xingjian, YU Shixian    
School of Automation, Beijing Information Science and Technology University, Beijing 100192, China
Abstract: In this paper, a tracking control method combining cerebellar model articulation controller with Gaussian basis function (GBF-CMAC) and sliding mode control (SMC) for uncertain systems is designed. An adaptive learning algorithm of GBF-CMAC is proposed, in which a signed distance and hierarchical structure are used to reduce the memory capacity needed by the neural network. The designed controller is applied for the tracking control of high-order flexible linear system with uncertainties and under-actuated structures, and it is compared with general SMC and integral sliding mode control (ISMC). The experimental results show that the designed controller has a better robustness and improves the chattering problem of SMC. Moreover, the chattering is controlled by adjusting the parameters of the neural network to achieve the optimal choice between chattering and tracking performance.
Key words: Gaussian basis function    CMAC    neural network    adaptive    sliding mode control    hierarchical structure    uncertain system    flexible linear system    

随着现代控制系统规模的不断扩大,系统的机械复杂度和环境复杂度越来越高,整个系统往往呈现出复杂的非线性和不确定性。不确定性的存在使得传统控制理论很难或者无法设计出满足性能要求的控制系统。近些年来,很多学者针对不确定系统设计了各种各样的控制系统[1-4],并取得了较好的效果。

滑模控制的基本原理是根据系统当前的状态有目的地改变系统的“结构”,使系统按照预定的“滑动模态”的状态轨迹运动,故称滑模控制是一种变结构控制。由于滑模控制具有“不变性”,当系统处于滑动模态运动状态时,系统动力学行为完全由设计的“滑动模态”决定,而与系统内部参数的不确定性和外部扰动无关,此时系统具有完全鲁棒性,使其在不确定系统的控制中得到广泛应用[5-7],并取得了较好的效果。但是滑模控制存在一个较为严重的缺点,就是当系统状态轨迹到达滑模面后,难以严格地沿着滑模面向平衡点移动,而是会在滑模面两侧来回穿越,即发生抖振。一方面,抖振的存在会很容易激发系统的未建模特性,从而使控制性能下降甚至导致系统发散;另一方面,抖振的存在对于控制系统的硬件也具有一定的损伤,导致控制系统的寿命大大缩短。对此,文献[8]利用BP神经网络的输出来调整离散指数趋近律中的到达速度常数和趋近速度指数;文献[9]针对板球系统,设计了一种基于蚁群的直接自适应模糊滑模控制器;文献[10]针对磁轴承系统,设计了一种自适应滑模控制器;文献[11]针对一类不确定系统,设计了一种将CMAC与滑模控制相结合的基于自组织小波CMAC的不确定非线性系统鲁棒自适应终端滑模控制。

本文针对一类不确定系统的跟踪控制问题,设计了一种将GBF-CMAC和滑模控制相结合的控制系统。利用符号函数和分层结构减少了神经网络所需存储器的数量,进一步提出了一种神经网络参数的自适应学习律。并将设计的控制器用于含有不确定性和欠驱动结构的高阶柔性直线系统的跟踪控制。

1 分层结构GBF-CMAC神经网络设计

CMAC本质是一种基于表格查询技术的[12],局部连接的类感知器型联想记忆神经网络。由于CMAC具有局部连接、收敛速度快和逼近精度高等优点,所以在控制领域(尤其是机器人控制系统中)得到广泛应用[13-15]。其中Chiang等[16]将Albus提出的CMAC的常数型基函数推广到了一般类型的基函数,并引入了可微型基函数,GBF-CMAC即为其中一种。

GBF-CMAC神经网络映射原理如图1所示,其中GBF-CMAC的基本参数为:输入维数 $n = 2$ 、输出维数 $m = 1$ 、联想空间层数 ${N_{\rm{e}}} = 3$ 、联想空间每层分块数 ${N_{\rm{b}}} = 3$ 和量化等级 $Q = 7$

Download:
图 1 GBF-CMAC映射原理 Fig. 1 Mapping principle of GBF-CMAC

CMAC包含5层(输入层I、离散层S、联想层A、存储层M和输出层O)和4个映射(离散映射IS、联想映射SA、存储映射AM和输出映射MO)。4个映射过程进一步可以分为两部分。

1) 存储器寻址过程计算权值选择向量 ${{a}}({{{x}}_{\rm{I}}})$ ${{a}}({{{x}}_{\rm{I}}}) \in {{\bf R}^{1 \times {N_{\rm{h}}}}}$ 中有 ${N_{\rm{e}}}$ 个1, ${N_{\rm{h}}} - {N_{\rm{e}}}$ 个0。其中, ${N_{\rm{e}}}$ 个1对应于与输入匹配的 ${N_{\rm{e}}}$ 个存储器,其位置表示为 ${p_j} \in \left\{ {1,2, \cdots ,{N_{\rm{h}}}} \right\}, \; j = 1,2, \cdots ,{N_{\rm{e}}}$ ${N_{\rm{h}}} = {N_{\rm{e}}}{N_{\rm{b}}}^n$ 表示实际存储器的个数,存储映射采用一一映射时也等于联想存储器的个数。

2) 输出过程就是将 ${N_{\rm{e}}}$ 个存储器存储的权值进行求和,得到神经网络输出值。

GBF-CMAC在传统CMAC的映射过程中附加了一个基函数的计算。基函数矩阵 ${{B}}({{{x}}_{\rm{I}}}) \in {{\bf{R}}^{{N_{\rm{h}}} \times {N_{\rm{h}}}}}$ 是一个对角矩阵,其对角线元素中有 ${N_{\rm{e}}}$ 个非零值,位置为 ${p_j}, \; j = 1,2, \cdots ,{N_{\rm{e}}}$ ,其计算如式(1)所示。

$b{({x_{\rm{I}}})_{{p_j}}} = \prod\limits_{k = 1}^n {\exp \left[\frac{{ - {{({x_{{\rm{I}},k}} - {\mu _{k,j,l_j^k}})}^2}}}{{\sigma _{k,j,l_j^k}^2}}\right]},\quad j = 1,2, \cdots ,{N_{\rm{e}}}$ (1)

式中: ${x_{{\rm{I}},k}}$ 为输入向量的第 $k$ 维; ${\mu _{k,j,l_j^k}}$ ${\sigma _{k,j,l_j^k}}$ 分别为输入向量第 $k$ 维对应的第 $j$ 层第 $l_j^k$ 个分块的高斯函数的中心和宽度。以图1为例,当 $j{\rm{ = }}1$ $b{({{{x}}_{\rm{I}}})_{{p_1}}}$ 为图中点1和点4的函数值的乘积。

GBF-CMAC的输出如式(2)所示:

${{y}} = {{a}}({{{x}}_{\rm{I}}}){{B}}({{{x}}_{\rm{I}}}){{w}}$ (2)

式中: ${{y}} \in {\bf R}$ 为网络输出; ${{a}}({{{x}}_{\rm{I}}}) \in {{\bf{R}}^{1 \times {N_{\rm{h}}}}}$ 为权值选择向量; ${{B}}({{{x}}_{\rm{I}}}) \in {{\bf{R}}^{{N_{\rm{h}}} \times {N_{\rm{h}}}}}$ 为基函数矩阵; ${{w}} \in {{\bf R}^{{N_{\rm{h}}} \times 1}}$ 为权值向量。

由上述可知,GBF-CMAC所需存储器的个数 ${N_{\rm{h}}}$ 是输入维数的指数型函数。当输入维数增加时所需存储器个数呈指数型增加,给实际应用带来极大的困难。有很多学者针对此问题作了大量研究,并取得了很多较好的成果。一种方法是在存储映射时采用压缩映射,但有研究表明该方法可能会导致网络学习能力下降甚至可能导致学习发散[17-18]。基于此,本文先利用符号距离减少神经网络的输入维数,再利用分层结构进一步减少神经网络所需存储器的数量,并提出了一种多GBF-CMAC神经网络参数的自适应学习律。

以二维输入为例,利用符号距离减少神经网络输入维数的原理如图2所示,过程为:

1) 若原网络的输入形如 ${{x}} = ({x_1},{x_2}) $ ,则其可以表示为二维坐标系中的一个点;

2) 设过原点的直线为 ${x_1} + \lambda {x_2} = 0$ ,其中 $\lambda $ 为常数。计算输入点到该直线的距离并将其作为网络的新输入,计算如式(3)所示:

${x_{{\rm{ds}}}} = \frac{{{x_1} + \lambda {x_2}}}{{\sqrt {1 + {\lambda ^2}} }}$ (3)
Download:
图 2 符号距离原理图 Fig. 2 Principle of signed distance

分层结构GBF-CMAC原理如图3所示。假设网络输入维数为 ${n_{\rm{z}}} = 18$ ,若使用1个GBF-CMAC,其联想层数 ${N_{\rm{e}}} = 5$ ,每层分块数 ${N_{\rm{b}}} = 42$ ,则需要的存储器总数 ${N_{\rm{h}}} = 8.29 \times {10^{29}}$ ,这在实际应用中几乎无法达到。若使用两层结构 ${n_1} = 1,{n_2} = 6$ ,每个GBF-CMAC网络结构参数都选为 ${N_{\rm{e}}} = 5,$ ${N_{\rm{b}}} = 42$ ,则需要的存储器总数最少为 ${N_{\rm{h}}} = 7 \times {10^{8}}$ ,这在实际应用中就可以很容易地实现。这种做法的实质是通过增加少量的算法复杂度而达到大量减少所需存储器个数的目的,随着处理器计算能力的加强,这种方法完全具有可操作性[18-19]

Download:
图 3 分层结构GBF-CMAC原理图 Fig. 3 Principle of hierarchical GBF-CMAC

分层结构GBF-CMAC学习过程的参数更新一般采用反向传播和梯度下降法[20-21]。在此基础上,本文提出了一种分层结构多GBF-CMAC的参数自适应学习律。不失一般性,现以输出维数 $m = 1$ 为例说明其学习过程,当 $m \ne 1$ 时仅需输出的每一维做下述运算即可。

性能指标如式(4):

$E = \frac{1}{2}{({y_{\rm{d}}} - y)^2}$ (4)

式中: ${y_{\rm{d}}}$ 为输出期望值; $y$ 为神经网络输出。

第一层GBF-CMAC的个数为 ${n_1} = 1$ ,输入向量为 ${{{x}}_1} \in {{\bf R}^{{n_2}}}$ ,输出 $y \in {\bf R}$ ,参数学习律如式(5)~(7):

$\begin{array}{c} \Delta {w_{{p_j}}} = - \displaystyle\frac{\alpha }{{U + {N_{\rm{e}}}b{{({{{x}}_1})}_{{p_j}}}}}\frac{{\partial E}}{{\partial {w_{{p_j}}}}} = \\ -\displaystyle\frac{\alpha }{{U + {N_{\rm{e}}}b{{({{{x}}_1})}_{{p_j}}}}}\frac{{\partial E}}{{\partial y}}\frac{{\partial {{y}}}}{{\partial {w_{{p_j}}}}} = \frac{{\alpha ({y_d} - {{y}})b{{({{{x}}_1})}_{{p_j}}}}}{{U + {N_{\rm{e}}}b{{({{{x}}_1})}_{{p_j}}}}}\end{array}$ (5)
$\begin{array}{c}\Delta {\mu _{i,j,l_j^i}} = \displaystyle\frac{\partial }{{\partial {\mu _{i,j,l_j^i}}}}\left( {\frac{{\alpha ({y_{\rm{d}}} - y)b{{({{{x}}_1})}_{{p_j}}}}}{{U + {N_{\rm{e}}}b{{({{{x}}_1})}_{{p_j}}}}}} \right) = \\ \displaystyle\frac{{2\alpha ({y_d} - y)}}{{U + {N_{\rm{e}}}b{{({{{x}}_1})}_{{p_j}}}}}\left( {1 - \frac{{{N_{\rm{e}}}b{{({{{x}}_1})}_{{p_j}}}}}{{U + {N_{\rm{e}}}b{{({{{x}}_1})}_{{p_j}}}}}} \right) \times \\ \exp \left[ {\displaystyle\frac{{ - {{({{{x}}_{1,i}} - {\mu _{i,j,l_j^i}})}^2}}}{{\sigma _{i,j,l_j^i}^2}}} \right]\left( {\displaystyle\frac{{{{{x}}_{1,i}} - {\mu _{i,j,l_j^i}}}}{{\sigma _{i,j,l_j^i}^2}}} \right)\end{array}$ (6)
$\begin{array}{c}\Delta {\sigma _{i,j,l_j^i}} = \displaystyle\frac{\partial }{{\partial {\sigma _{i,j,l_j^i}}}}\frac{{\alpha ({y_{\rm{d}}} - y)b{{({{{x}}_1})}_{{p_j}}}}}{{U + {N_{\rm{e}}}b{{({{{x}}_1})}_{{p_j}}}}}=\\ \displaystyle\frac{{2\alpha ({y_{\rm{d}}} - y)}}{{U + {N_{\rm{e}}}b{{({{{x}}_1})}_{{p_j}}}}}\left( {1 - \frac{{{N_{\rm{e}}}b{{({{{x}}_1})}_{{p_j}}}}}{{U + {N_{\rm{e}}}b{{({{{x}}_1})}_{{p_j}}}}}} \right) \times \\ \exp \left[ {\displaystyle\frac{{ - {{({{{x}}_{1,i}} - {\mu _{i,j,l_j^i}})}^2}}}{{\sigma _{i,j,l_j^i}^2}}} \right]\left( {\displaystyle\frac{{{{({{{x}}_{I,i}} - {\mu _{i,j,l_j^i}})}^2}}}{{\sigma _{i,j,l_j^i}^3}}} \right)\end{array}$ (7)

式中: $\Delta {w_{{p_j}}}$ $\Delta {\mu _{i,j,l_j^i}}$ $\Delta {\sigma _{i,j,l_j^i}}$ 分别为权值的修正量、基函数中心和宽度的修正量; $\alpha $ 为学习率; $U$ 表示自适应参数,为常数; $i = 1,2, \cdots ,{n_2}$ $j = 1,2, \cdots ,{N_{\rm{e}}}$ ;除了 ${p_j}$ $l_j^i$ 位置的参数,其余位置参数不更新。

该层网络除了计算各参数的修正量外,还需要计算 $\displaystyle\frac{{\partial E}}{{\partial {{{x}}_{1,i}}}}$ ,其计算如式(8):

$ - \frac{{\partial E}}{{\partial {{{x}}_{1,i}}}} = \sum\limits_{j = 1}^{{N_{\rm{e}}}} {\left( {2{w_{{p_j}}}b{{({{{x}}_{1,i}})}_{{p_j}}}\frac{{{{{x}}_{1,i}} - {\mu _{i,j,l_j^i}}}}{{\sigma _{i,j,l_j^i}^2}}} \right)} = {\delta _{1,i}}$ (8)

式中: $i = 1,2, \cdots ,{n_2}$ ${w_{{p_j}}}$ 为权值向量 ${{w}}$ 的第 ${p_j}$ 个权值。

第二层GBF-CMAC的个数为 ${n_2}$ 。网络的输入 ${{{x}}_{2,i}}$ $n_2^i$ 维列向量(其中 $i = 1,2, \cdots ,{n_2}$ $n_2^i$ 表示第 $i$ 个GBF-CMAC的输入维数, $\displaystyle\sum\limits_{i = 1}^{n_2} {n_2^i} = {n_3}$ );输出为 ${o_{2,i}}$ 。网络参数的学习律如式(9)~(11)。

$\begin{aligned}\Delta {w_{{p_j}}} = - \displaystyle\frac{\alpha }{{U + {N_{\rm{e}}}b{{({{{x}}_{2,i}})}_{{p_j}}}}}\frac{{\partial E}}{{\partial {w_{{p_j}}}}} =\quad\quad\quad \\- \displaystyle\frac{\alpha }{{U + {N_{\rm{e}}}b{{({{{x}}_{2,i}})}_{{p_j}}}}}\frac{{\partial E}}{{\partial {o_{2,i}}}}\frac{{\partial {o_{2,i}}}}{{\partial {w_{{p_j}}}}} =\quad\quad\quad\;\; \\ - \displaystyle\frac{\alpha }{{U + {N_{\rm{e}}}b{{({{{x}}_{2,i}})}_{{p_j}}}}}\frac{{\partial E}}{{\partial {{{x}}_{1,i}}}}\frac{{\partial {o_{2,i}}}}{{\partial {w_{{p_j}}}}} = \frac{{\alpha {\delta _{1,i}}b{{({{{x}}_{2,i}})}_{{p_j}}}}}{{U + {N_{\rm{e}}}b{{({{{x}}_{2,i}})}_{{p_j}}}}}\end{aligned}$ (9)
$\begin{array}{c}\Delta {\mu _{{f_i},j,l_j^{{f_i}}}} = \displaystyle\frac{\partial }{{\partial {\mu _{{f_i},j,l_j^{{f_i}}}}}}\left( {\frac{{\alpha {\delta _{1,i}}b{{({{{x}}_{2,i}})}_{{p_j}}}}}{{U + {N_{\rm{e}}}b{{({{{x}}_{2,i}})}_{{p_j}}}}}} \right) =\\ \displaystyle\frac{{2\alpha {\delta _{1,i}}}}{{U + {N_{\rm{e}}}b{{({{{x}}_{2,i}})}_{{p_j}}}}}\left( {1 - \frac{{{N_{\rm{e}}}b{{({{{x}}_{2,i}})}_{{p_j}}}}}{{U + {N_{\rm{e}}}b{{({{{x}}_{2,i}})}_{{p_j}}}}}} \right) \times \\\exp \left[ {\displaystyle\frac{{ - {{({{{x}}_{2,i,{f_i}}} - {\mu _{{f_i},j,l_j^{{f_i}}}})}^2}}}{{\sigma _{{f_i},j,l_j^{{f_i}}}^2}}} \right]\left( {\displaystyle\frac{{{{{x}}_{2,i,{f_i}}} - {\mu _{{f_i},j,l_j^{{f_i}}}}}}{{\sigma _{{f_i},j,l_j^{{f_i}}}^2}}} \right)\end{array}$ (10)
$\begin{array}{c}\Delta {\sigma _{{f_i},j,l_j^{{f_i}}}} = \displaystyle\frac{\partial }{{\partial {\sigma _{{f_i},j,l_j^{{f_i}}}}}}\left( {\frac{{\alpha {\delta _{1,i}}b{{({{{x}}_{2,i}})}_{{p_j}}}}}{{U + {N_{\rm{e}}}b{{({{{x}}_{2,i}})}_{{p_j}}}}}} \right) =\\\displaystyle\frac{{2\alpha {\delta _{1,i}}}}{{U + {N_{\rm{e}}}b{{({{{x}}_{2,i}})}_{{p_j}}}}}\left( {1 - \frac{{{N_{\rm{e}}}b{{({{{x}}_{2,i}})}_{{p_j}}}}}{{U + {N_{\rm{e}}}b{{({{{x}}_{2,i}})}_{{p_j}}}}}} \right) \times \\\exp \left[ {\displaystyle\frac{{ - {{({{{x}}_{2,i,{f_i}}} - {\mu _{{f_i},j,l_j^{{f_i}}}})}^2}}}{{\sigma _{{f_i},j,l_j^{{f_i}}}^2}}} \right]\left[ {\displaystyle\frac{{{{\left( {{{{x}}_{2,i,{f_i}}} - {\mu _{{f_i},j,l_j^{{f_i}}}}} \right)}^2}}}{{\sigma _{{f_i},j,l_j^{{f_i}}}^3}}} \right]\end{array}$ (11)

式中: $\Delta {w_{{p_j}}}$ $\Delta {\mu _{{f_i},j,l_j^{{f_i}}}}$ $\Delta {\sigma _{{f_i},j,l_j^{{f_i}}}}$ 分别为权值修正量、基函数中心和宽度修正量; $\alpha $ 表示学习率; $U$ 表示自适应参数,为常数; $i = 1,2, \cdots ,{n_2}$ ${f_i} = 1,2, \cdots ,n_2^i$ $j = 1,2, \cdots ,{N_{\rm{e}}}$ ;除了 ${p_j}$ $l_j^{{f_i}}$ 位置的参数,其余位置参数不更新。

1)在分层结构多GBF-CMAC神经网络中,对于具有封闭性质的GBF-CMAC神经网络结构参数( ${N_{\rm{e}}}$ ${N_{\rm{b}}}$ )和学习参数( $\alpha $ $U$ ),每个GBF-CMAC变量名称一样,但实际使用过程对于每个网络都有相互独立的参数值,且其生存期为神经网络的整个工作周期,另外 $j = 1,2, \cdots ,{N_{\rm{e}}}$ 为一种固定表示形式。

2)在分层结构的多GBF-CMAC神经网络中,对于具有开放性质的网络参数(输入变量和输出变量),对于每个GBF-CMAC都作了有区别的命名。分层结构的多GBF-CMAC神经网络整体:输入向量为 ${{{x}}_{\rm{I}}} \in {{\bf R}^{n \times 1}}$ ,输出为 $y \in {\bf R}$ 。内部第一层网络:输入向量为 ${{{x}}_1} \in {{\bf R}^{{n_2}}}$ ,输出为 $y \in {\bf R}$ ,且 $i = 1,2, \cdots ,{n_2}$ 为固定表示形式。内部第二层网络:输入向量为 ${{{x}}_{2,i}} \in {{\bf R}^{n_2^i}}$ $\displaystyle\sum\limits_{i = 1}^{n_2} {n_2^i} = {n_3}$ ,输出为 ${o_{2,i}} \in {\bf R}$ ,且 ${f_i} = 1,2, \cdots ,n_2^i$ 为固定表示形式。

3)在分层结构多GBF-CMAC神经网络中,对于临时参数(存储器地址 $p$ 和输入量化结果 $l$ )仅根据其因变量进行附加型命名,如第一层两个参数分别命名为 ${p_j}$ $l_j^i$ ,第二层两个参数分别命名为 ${p_j}$ $l_j^{{f_i}}$ 。另外,这两个参数的作用域和生存期为GBF-CMAC神经网络内部的一个学习周期。

4)在分层结构多GBF-CMAC神经网络中,由于本文只讨论两层结构GBF-CMAC的参数学习律,故 ${n_3}{\rm{ = }}n$ 。但结果不失一般性,如果需要采用更多分层结构,仅需在前一层网络中计算参数 $\delta $ 就可以对后一层网络的参数进行更新,通过这种递推过程就可以实现任意分层数的网络参数自适应更新。

2 不确定系统复合控制设计

考虑如下形式的不确定系统:

$\left\{\!\! {\begin{array}{*{20}{c}}{{\dot{ x}} = {{Ax}} + {{b}}u + {{{\tau }}_{\rm{d}}}}\\{{{y}} = {{Cx}}}\qquad\qquad\qquad\end{array}} \right.$ (12)

式中: ${{x}} = {[{x_1} \,\, {\dot x_1}\,\,{x_2}\,\,{\dot x_2}\,\, \cdots \,\, {x_n}\,\,{\dot x_n}]^{\rm{T}}} \in {{\bf R}^{2n \times 1}}$ 为系统的状态; ${{u}} \in {\bf R}$ 为输入; ${{A}} \in {{\bf R}^{2n \times 2n}}$ ${{b}} \in {{\bf R}^{2n \times 1}}$ ${{C}} \in {{\bf R}^{n \times 2n}}$ 为系统参数矩阵,矩阵 ${{C}}$ 的元素 ${c_{i,2i - 1}}(i = 1,2, \cdots ,n)$ 为1,其余元素为0; ${{{\tau }} _{\rm{d}}} \in {{\bf R}^{2n \times 1}}$ 为不确定部分。

对上述不确定系统的输出跟踪控制问题,滑模控制器的设计如下。

1) 定义系统误差

从系统状态方程式(12)可知系统的状态向量包含两部分:第一部分为系统输出 ${{y}} = {[{y_1}\,\,{y_2}\,\, \cdots \,\,{y_n}]^{\rm{T}}} = $ $ {[{x_1}\,\,{x_2}\,\, \cdots\,\, {x_n}]^{\rm{T}}}$ ;第二部分为系统输出的导数 $\dot {{y}} = {[{\dot y_1}\,\,{\dot y_2}\,\, \cdots \,\, {\dot y_n}]^{\rm{T}}} =$ $ {[{\dot x_1}\,\,{\dot x_2}\,\, \cdots \,\, {\dot x_n}]^{\rm{T}}}$ 。所以系统的输出跟踪控制即为部分状态的跟踪控制。设状态期望值 ${{{x}}_{\rm{d}}} = {[{x_{{\rm{d}},1}}{\dot x_{{\rm{d}},1}}\,\,{x_{{\rm{d}},2}}{\dot x_{{\rm{d}},2}} \,\, \cdots \,\, {x_{{\rm{d,}}n}}{\dot x_{{\rm{d,}}n}}]^{\rm{T}}}$ ,定义系统的误差及其导数如式(13)、(14)所示:

${{e}} = {[{x_{{\rm{d,}}1}} - {x_1}\;{\dot x_{{\rm{d,}}1}} - {\dot x_1}\cdots {x_{{\rm{d,}}n}} - {x_n}\;{\dot x_{{\rm{d,}}n}} - {\dot x_n}]^{\rm{T}}}$ (13)
$\dot {{e}} = {[{\dot x_{{\rm{d,}}1}} - {\dot x_1}\;{\ddot x_{{\rm{d,}}1}} - {\ddot x_1} \cdots {\dot x_{{\rm{d,}}n}} - {\dot x_n}\;{\ddot x_{{\rm{d,}}n}} - {\ddot x_n}]^{\rm{T}}}$ (14)

式中 ${{e}},\dot {{e}} \in {{\bf R}^{2n \times 1}}$

2) 设计滑模面

为保证系统的输出跟踪满足一定的性能品质,设计的滑模面及其导数如式(15)、(16)所示:

${{s}}({{x}}) = {{\Lambda e}}$ (15)
${\dot{ s}}({{x}}) = {{\Lambda }}{\dot{ e}}$ (16)

式中: ${{s}}({{x}}) \in {{\bf R}^{2n \times 1}}$ ${{\Lambda }} {\rm{ = diag}}({r_1},{r_2}, \cdots ,{r_{2n}})$ ${r_i} > 0$

3) 设计滑模控制器

滑模面的有限时间可达条件如式(17)所示:

${s_i}{\dot s_i} < - {k_i}{\rm{, }}\forall {k_i} > 0,\quad i = 1,2, \cdots ,2n$ (17)

采用等速趋近律设计的滑模控制器如式(18)所示:

$\left\{\!\! {\begin{array}{*{20}{l}}{u = {{{b}}_{li}}{{v}} - {{{b}}_{li}}{{Ax}} }\\{{{v}} = {{{\dot{ x}}}_{\rm{d}}} + {{bk}}{\mathop{\rm sat}\nolimits} ({{s}}/\delta )}\end{array}} \right.$ (18)

式中: ${{{b}}_{li}} = {({{{b}}^{\rm{T}}}{{b}})^{ - 1}}{{{b}}^{\rm{T}}} \in {{\bf R}^{1 \times 2n}}$ ,表示向量 ${{b}}$ 的左逆; ${{k}} = [{k_1}\;{k_2}\cdots {k_{2n}}] \in {{\bf R}^{1 \times 2n}}$ ${k_i} > 0$ ${\rm{sat}} ({{s}}/\delta )$ 表示 ${{s}}$ 的饱和函数,其中 $\delta $ 为常数,其定义如式(19)所示:

${\rm{sat}}({{s}}/\delta ){\rm{ = }}\left\{\!\! {\begin{array}{l}{1,\quad \displaystyle\frac{{s}}\delta \geqslant 1}\\{{{s}}/\delta ,\quad - {\rm{1 < }}\displaystyle \frac{s}{\delta}< 1}\\{ - 1,\quad \displaystyle \frac{s}{\delta} \leqslant - 1}\end{array}} \right.$ (19)

采用积分类型的滑模面就可以构成积分滑模控制。针对上述不确定系统,设计的积分滑模面如式(20)所示。采用指数趋近律设计的积分滑模控制器如式(21)所示。

${{s}}({{x}}) = {{{x}}_{\rm{d}}} - \int_0^t {\left( {{\dot{ x}} - {{\varLambda }_{\rm{I}}}{{e}}} \right){\rm{d}}t} $ (20)

式中: ${{{\varLambda }} _{\rm{I}}}{\rm{ = diag}}({r_{{\rm{I}},1}},{r_{{\rm{I}},2}}, \cdots ,{r_{{\rm{I}},2n}})$ ${r_{{\rm{I}},i}} > 0$

$\left\{ {\begin{split}& {u = {{{b}}_{li}}{{v}} - {{{b}}_{li}}{{{\Lambda }}_{\rm{I}}}{{x}} }\\& {{{v}} = {{{\dot{ x}}}_{\rm{d}}} + {{{\Lambda }}_{\rm{I}}}{{e}} + {{b}}({{ps}} + {{{k}}_{\rm{I}}}{\rm{sat}}({{s}}/{\delta _{\rm{I}}}))}\end{split}} \right.$ (21)

式中 : ${{p}} \!=\! {[{p_1}\;{p_2} \cdots {p_{2n}}]^{\rm{T}}}$ ${p_i}\! > \! 0$ ${\delta _{\rm{I}}}$ 为常数; ${{{k}}_{\rm{I}}} \!=\! [{k_{{\rm{I}},1}}\;{k_{{\rm{I}},2}}\cdots $ ${k_{{\rm{I}},2n}}],\;{k_{{\rm{I}},i}} > 0$

神经网络用于控制系统设计时,一种典型的结构是利用神经网络逼近非线性映射的能力,将神经网络与其他控制器并联组成复合控制器。针对上述不确定系统的输出控制问题,设计GBF-CMAC和滑模控制结合的控制系统结构如图4所示。

Download:
图 4 控制系统结构图 Fig. 4 Structure of control system

总控制量u(t)为式(22)所示:

$u(t) = \gamma (t){u_{{S}}}(t) + (1 - \gamma (t)){u_{{C}}}(t)$ (22)

式中: $u(t)$ 为总控制量; ${u_{S}}(t)$ ${u_{C}}(t)$ 分别为滑模控制和GBF-CMAC控制器的输出; $\gamma (t)$ 为选择函数,即

$\gamma (t) = \left\{ {\begin{array}{*{20}{c}} \!\!\! {1, \; \; t < 2\,\,{\rm{s}}} \\ \!\!\! {0,\; \; t \geqslant 2\,\,{\rm{s}}} \end{array}} \right.$ (23)
3 高阶柔性直线系统复合跟踪控制 3.1 被控对象建模及仿真参数

将设计的控制系统用于高阶柔性直线系统的跟踪控制[22],实际系统如图5所示,系统状态空间表达式如式(24)所示。该系统是一种典型的欠驱动系统,其部分小车无法直接控制,而只能通过各个小车之间的耦合作用实现控制的目的。

Download:
图 5 高阶柔性直线系统 Fig. 5 High-order flexible linear system
$\left\{ {\begin{aligned}& {{\dot{ x}}(t) = {{Ax}}(t) + {{b}}u(t) + {{{\tau }}_{\rm{d}}}(t)}\\& {{{y}}(t) = {{Cx}}(t)}\end{aligned}} \right.$ (24)

式中: ${{{\tau }} _{\rm{d}}}(t) = {[{\tau _1}\;{\tau _2}\;{\tau _3} {\tau _4} \;{\tau _5} \;{\tau _6}]^{\rm{T}}}$ 为系统不确定项,其值如式(25);参数 ${{A}}$ ${{b}}$ ${{C}}$ 是系统参数; ${{x}}(t) = $ ${[{x_1}\;{\dot x_1}\;{x_2}\;{\dot x_2}\;{x_3}\;{\dot x_3}]^{\rm{T}}}$ 为系统状态; $u(t)$ 为系统控制量; ${{y}}(t) = {[{y_1}\;{y_2}\;{y_3}]^{\rm{T}}}$ 为系统输出。

${\tau _i} = \exp \left[ { - {{\left( {\frac{{t - 5}}{{0.2}}} \right)}^2}} \right], \quad i = 1,2, \cdots ,6$ (25)
${{A}} = \left[ {\begin{array}{*{20}{r}} {0}\;\;\;\;&1&{ 0 }\;\;\;\;&{ 0}&0\;\;\;\;&{ 0}\;\;\;\;\;\;\; \\ { - 213.0 }&0&{140.8}&0&{ 0}\;\;\;\;&0\;\;\;\;\;\;\; \\ 0\;\;\;\;&{ 0} &{ 0}\;\;\;\;&{ 1}&0\;\;\;\;&0 \;\;\;\;\;\;\;\\ {150.6 }&{0 }&{ - 301.2 }&{ 0}&{ 150.6 }&{ 0} \;\;\;\;\;\;\;\\ 0\;\;\;\;&0&{0 }\;\;\;\;&0&{ 0}\;\;\;\;&{ 1} \;\;\;\;\;\;\;\\ { 0}\;\;\;\;&{ 0 }&{150.6}&0&{ - 150.6}&{ - 3.94} \end{array}} \right]$
${{b}} = {\left[ {\begin{array}{*{20}{c}} 0&{4600}&0&0&0&0 \end{array}} \right]^{\rm{T}}}$
${{C}} = \left[ {\begin{array}{*{20}{c}} 1&0&0&0&0&0 \\ 0&0&1&0&0&0 \\ 0&0&0&0&1&0 \end{array}} \right]$

跟踪控制系统MATLAB/SIMULINK仿真图如图6~8所示。图6为控制系统总体结构图;图7所示为滑模面计算子系统,其中利用一个切换开关可以实现一般滑模面和积分滑模面之间的切换;图8为GBF-CMAC子系统,包括符号函数计算部分和分层GBF-CMAC两部分。

Download:
图 6 控制系统总体仿真结构图 Fig. 6 Simulation of control system
Download:
图 7 滑模面计算图 Fig. 7 Calculation of sliding surface
Download:
图 8 高斯基函数小脑模型关节控制器 Fig. 8 GBF-CMAC

仿真控制参数为:仿真时间 $T = 10$ s;仿真步长 $\Delta T = 0.001$ s。高阶柔性直线系统状态期望值为 $\left\{\! {\begin{array}{*{20}{c}}\!\!\!\!\!\!\!{{{{x}}_{{\rm{d}},i}} = \sin (\displaystyle\frac{{\text{π}}}{2}t),\quad i = 1,3,5} \qquad \qquad \\ {{{{x}}_{{\rm{d}},i}} = ({\text{π}}/2)\cos (\displaystyle\frac{{\text{π}}}{2}t),\quad i = 2,4,6} \end{array}} \right.$

一般滑模控制器的参数设置为 ${{\Lambda }} = 5{{{I}}_6}$ k = $ {10^{ - 3}} \times [1\;1\;1\;1\;1\;1]$ $\delta = 0.8$ 。积分滑模控制参数为 ${{k}} = $ $ 5 \times{10^{ - 4}} \times [1\;1\;1\;1\;1\;1]$ ${{p}} = 5 \times {10^{ - 4}} \times [1\;1\;1\;1\;$ $ 1\;1]$ ${{{\Lambda }} _{\rm{I}}} = $ diag(30,30,20,25,30,20)和 ${\delta _{\rm{I}}} = 0.8$

传统CMAC的参数设为 ${N_{\rm{e}}} = 5$ ${N_{\rm{b}}}{\rm{ = }}3$ $\alpha {\rm{ = }}0.{\rm{1}}$ ,权值存储器数量为 ${N_{\rm{e}}} \times {\rm{1}}{{\rm{0}}^{\rm{2}}}$

GBF-CMAC部分首先利用符号函数将18维输入变成9维输入,然后利用4个GBF-CMAC构成两层结构,其参数设置为: ${n_1} = 1$ ${n_2} = 3$ $n = 9$ $n_2^i = 3,i = 1,2,3$ 。4个GBF-CMAC的结构参数和学习参数都设置为相同的值: ${N_{\rm{e}}} = 5$ ${N_{\rm{b}}}$ =3、22、42, $\alpha {\rm{ = }}0.5$ $U{\rm{ = }}3$

3.2 结果分析

1) 复合控制器中神经网络不同分块数(3、22、42)下控制效果对比实验

3种控制器的控制量输出如图9所示,跟踪误差如图10所示。

Download:
图 9 3种控制器输出对比 Fig. 9 Output contrast of three controllers
Download:
图 10 3种控制器跟踪误差 Fig. 10 Tracking error of three controllers

综合图9图10可以看出,神经网络的参数 ${N_{\rm{b}}}$ 在不同值时,复合控制器的性能有较大差别。 ${N_{\rm{b}}}$ 越小其控制量的抖振抑制效果越好,并且对距离外部控制越远的小车的控制精度越高, 但其鲁棒性也越差。综合考虑, ${N_{\rm{b}}} = 3$ 时的复合控制器的性能最好。

2) 一般滑模控制、积分滑模控制、传统CMAC复合控制和改进GBF-CMAC复合控制对比实验

4种控制器的控制量输出如图11所示,跟踪误差如图12所示。

Download:
图 11 4种控制器输出对比 Fig. 11 Output contrast of four controller
Download:
图 12 4种控制器跟踪误差 Fig. 12 Tracking error of four controllers

图11图12可以看出,一般滑模控制抖振程度最大;积分滑模控制抖振程度小,但鲁棒性和跟踪精度最差;本文设计的改进GBF-CMAC复合控制器,不仅抖振基本消除,而且具有较好的鲁棒性,同时输出跟踪精度要比一般滑模控制、积分滑模控制和传统CMAC复合控制器好。

4 结束语

针对一类不确定系统,设计了将GBF-CMAC与滑模控制结合的复合控制器,采用符号函数和分层结构减少了GBF-CMAC所需存储器的数量,提出了一种分层结构多GBF-CMAC参数的自适应学习律。并将设计的复合控制器应用于高阶柔性直线系统的输出跟踪控制中。从实验结果可以看出,本文所提的复合控制器不仅具有较好的鲁棒性,并基本消除抖振现象,而且跟踪精度比一般滑模控制和积分滑模控制要好。此外,结果显示可以通过调节复合控制器中神经网络的参数对控制系统抖振程度、鲁棒性和跟踪精度进行调节,从而可以在抖振程度、鲁棒性和跟踪精度之间进行最优选择。

参考文献
[1] 梁涛年, 陈建军. 分数阶参数不确定系统的PIλ控制器 [J]. 控制理论与应用, 2011, 28(3): 400-406.
LIANG Taonian, CHEN Jianjun. Design of fractional order PIλ controller for fractional order systems with uncertain parameters [J]. Control theory & applications, 2011, 28(3): 400-406. (0)
[2] 叶思隽, 王新民, 张清江, 等. 不确定系统混合H2/H鲁棒控制的直接迭代LMI方法 [J]. 控制理论与应用, 2011, 28(2): 247-255.
YE Sijun, WANG Xinmin, ZHANG Qingjiang, et al. Direct iterative LMI-based approach of mixed H-two/H-infinity robust control for uncertain systems[J]. Control theory & applications, 2011, 28(2): 247-255. (0)
[3] 齐丽强, 孙明轩, 管海娃. 非参数不确定系统的有限时间迭代学习控制[J]. 自动化学报, 2013, 40(7): 1320-1327.
QI LiQiang, SUN MingXuan, GUAN HaiWa. Finite-time iterative learning control for systems with nonparametric uncertainties[J]. Acta automatica sinica, 2013, 40(7): 1320-1327. (0)
[4] 于靖, 陈谋, 姜长生. 基于干扰观测器的非线性不确定系统自适应滑模控制[J]. 控制理论与应用, 2014, 31(8): 993-999.
YU Jing, CHEN Mou, JIANG Changsheng, Adaptive sliding mode control for nonlinear uncertain systems based on disturbance observer[J]. Control theory & applications, 2014, 31(8): 993-999. (0)
[5] 王琦, 陈龙胜. 非仿射纯反馈不确定系统预设性能鲁棒自适应控制[J]. 电机与控制学报, 2017, 21(2): 109-116.
WANG Qi, CHEN Longsheng. Prescribed performance adaptive robust control for a class of uncertain non-affine pure feedback system[J]. Electric machines and control, 2017, 21(2): 109-116. (0)
[6] 王艳敏, 冯勇, 夏红伟, 等. 多输入不确定系统的平滑非奇异终端滑模控制[J]. 控制与决策, 2015, 30(1): 161-165.
WANG Yanmin, FENG Yong, XIA Hongwei, et al. Smooth nonsingular terminal sliding mode control of uncertain multi-input systems[J]. Control and decision, 2015, 30(1): 161-165. (0)
[7] 胡盛斌. 非线性多关节机械人系统滑模控制[M]. 北京: 国防工业出版社, 2015. (0)
[8] 姚灵灵, 贺乃宝, 高倩, 等. 四旋翼偏航系统的优化神经网络滑模控制[J]. 机械设计与制造, 2016(10): 147-150.
YAO Lingling, HE Naibao, GAO Qian, et al. Optimized neural network sliding mode control for the yaw system associated with quad-rotor[J]. Machinery design & manufacture, 2016(10): 147-150. DOI:10.3969/j.issn.1001-3997.2016.10.038 (0)
[9] 翟晨汐, 李洪兴. 板球系统的直接自适应模糊滑模控制[J]. 计算机仿真, 2016, 33(2): 383-388, 432.
ZHAI Chenxi, LI Hongxing. Direct adaptive fuzzy sliding-mode control for ball and plate system[J]. Computer simulation, 2016, 33(2): 383-388, 432. DOI:10.3969/j.issn.1006-9348.2016.02.080 (0)
[10] 楼晓春, 吴国庆. 主动磁轴承系统的自适应滑模控制[J]. 电工技术学报, 2012, 27(1): 142-147.
LOU Xiaochun, WU Guoqing. Adaptive sliding mode control for an active magnetic bearing system[J]. Transactions of China electrotechnical society, 2012, 27(1): 142-147. (0)
[11] 张强, 于宏亮, 许德智, 等. 基于自组织小波小脑模型关节控制器的不确定非线性系统鲁棒自适应终端滑模控制[J]. 控制理论与应用, 2016, 33(3): 387-397.
ZHANG Qiang, YU Hongliang, XU Dezhi, et al. A robust adaptive integral terminal sliding mode control for uncertain nonlinear systems using self-organizing wavelet cerebella model articulation controller[J]. Control theory & applications, 2016, 33(3): 387-397. (0)
[12] ALBUS J S. Data storage in the cerebellar model articulation controller (CMAC)[J]. Journal of dynamic systems, measurement, and control, 1975, 97(3): 228-233. DOI:10.1115/1.3426923 (0)
[13] 鲍春雷, 王斌锐, 金英连, 等. 气动肌肉关节的无模型自适应CMAC迟滞补偿控制[J]. 机器人, 2015, 37(3): 298-303, 309.
BAO Chunlei, WANG Binrui, JIN Yinglian, et al. Model free adaptive CMAC hysteresis compensation control of the pneumatic muscle joint[J]. Robot, 2015, 37(3): 298-303, 309. (0)
[14] LIN C M, LI H Y. Intelligent control using the wavelet fuzzy CMAC backstepping control system for two-axis linear piezoelectric ceramic motor drive systems[J]. IEEE transactions on fuzzy systems, 2014, 22(4): 791-802. DOI:10.1109/TFUZZ.2013.2272648 (0)
[15] ZHANG Ping, LIU Xin, DU Guanglong. Online robot auto-calibration using IMU with CMAC and EKF[C]//Proceedings of 2015 IEEE International Conference on Cyber Technology in Automation, Control, and Intelligent Systems. Shenyang China, 2015. (0)
[16] CHIANG C T, LIN C S. CMAC with general basis functions[J]. Neural networks, 1996, 9(7): 1199-1211. DOI:10.1016/0893-6080(96)00132-3 (0)
[17] YEH M F. Single-input CMAC control system[J]. Neurocomputing, 2007, 70(16/17/18): 2638-2644. (0)
[18] RODRÍGUEZ F O, DE JESÚS RUBIO J, GASPAR C R M, et al. Hierarchical fuzzy CMAC control for nonlinear systems[J]. Neural computing and applications, 2013, 23(1): 323-331. (0)
[19] YU Wen, RODRIGUEZ F O, MORENO-ARMENDARIZ M A. Hierarchical fuzzy CMAC for nonlinear systems modeling[J]. IEEE transactions on fuzzy systems, 2008, 16(5): 1302-1314. DOI:10.1109/TFUZZ.2008.926579 (0)
[20] 段培永, 邵惠鹤. 基于广义基函数的CMAC学习算法的改进及收敛性分析[J]. 自动化学报, 1999, 25(2): 258-263.
DUAN Peiyong, SHAO Huihe. Improved algorithm of CMAC with general basis function and its convergence analysis[J]. Acta automatica sinica, 1999, 25(2): 258-263. (0)
[21] NGO T Q, PHUONG T V. Robust adaptive self-organizing wavelet fuzzy CMAC tracking control for de-icing robot manipulator[J]. International journal of computers communications & control, 2015, 10(4): 567-578. (0)
[22] M210使用手册[M]. 美国: 易希普公司, 2014. (0)