付兴建,于士贤
(北京信息科技大学 自动化学院,北京 100192)
随着现代控制系统规模的不断扩大,系统的机械复杂度和环境复杂度越来越高,整个系统往往呈现出复杂的非线性和不确定性。不确定性的存在使得传统控制理论很难或者无法设计出满足性能要求的控制系统。近些年来,很多学者针对不确定系统设计了各种各样的控制系统[1-4],并取得了较好的效果。
滑模控制的基本原理是根据系统当前的状态有目的地改变系统的“结构”,使系统按照预定的“滑动模态”的状态轨迹运动,故称滑模控制是一种变结构控制。由于滑模控制具有“不变性”,当系统处于滑动模态运动状态时,系统动力学行为完全由设计的“滑动模态”决定,而与系统内部参数的不确定性和外部扰动无关,此时系统具有完全鲁棒性,使其在不确定系统的控制中得到广泛应用[5-7],并取得了较好的效果。但是滑模控制存在一个较为严重的缺点,就是当系统状态轨迹到达滑模面后,难以严格地沿着滑模面向平衡点移动,而是会在滑模面两侧来回穿越,即发生抖振。一方面,抖振的存在会很容易激发系统的未建模特性,从而使控制性能下降甚至导致系统发散;另一方面,抖振的存在对于控制系统的硬件也具有一定的损伤,导致控制系统的寿命大大缩短。对此,文献[8]利用BP神经网络的输出来调整离散指数趋近律中的到达速度常数和趋近速度指数;文献[9]针对板球系统,设计了一种基于蚁群的直接自适应模糊滑模控制器;文献[10]针对磁轴承系统,设计了一种自适应滑模控制器;文献[11]针对一类不确定系统,设计了一种将CMAC与滑模控制相结合的基于自组织小波CMAC的不确定非线性系统鲁棒自适应终端滑模控制。
本文针对一类不确定系统的跟踪控制问题,设计了一种将GBF-CMAC和滑模控制相结合的控制系统。利用符号函数和分层结构减少了神经网络所需存储器的数量,进一步提出了一种神经网络参数的自适应学习律。并将设计的控制器用于含有不确定性和欠驱动结构的高阶柔性直线系统的跟踪控制。
CMAC本质是一种基于表格查询技术的[12],局部连接的类感知器型联想记忆神经网络。由于CMAC具有局部连接、收敛速度快和逼近精度高等优点,所以在控制领域(尤其是机器人控制系统中)得到广泛应用[13-15]。其中Chiang等[16]将Albus提出的CMAC的常数型基函数推广到了一般类型的基函数,并引入了可微型基函数,GBF-CMAC即为其中一种。
GBF-CMAC神经网络映射原理如图1所示,其中GBF-CMAC的基本参数为:输入维数、输出维数、联想空间层数、联想空间每层分块数和量化等级。
CMAC包含5层(输入层I、离散层S、联想层A、存储层M和输出层O)和4个映射(离散映射I→S、联想映射S→A、存储映射A→M和输出映射M→O)。4个映射过程进一步可以分为两部分。
图1 GBF-CMAC映射原理Fig. 1 Mapping principle of GBF-CMAC
GBF-CMAC在传统CMAC的映射过程中附加了一个基函数的计算。基函数矩阵是一个对角矩阵,其对角线元素中有个非零值,位置为,其计算如式(1)所示。
GBF-CMAC的输出如式(2)所示:
以二维输入为例,利用符号距离减少神经网络输入维数的原理如图2所示,过程为:
图2 符号距离原理图Fig. 2 Principle of signed distance
分层结构GBF-CMAC原理如图3所示。假设网络输入维数为,若使用1个GBF-CMAC,其联想层数,每层分块数,则需要的存储器总数,这在实际应用中几乎无法达到。若使用两层结构,每个GBF-CMAC网络结构参数都选为,则需要的存储器总数最少为,这在实际应用中就可以很容易地实现。这种做法的实质是通过增加少量的算法复杂度而达到大量减少所需存储器个数的目的,随着处理器计算能力的加强,这种方法完全具有可操作性[18-19]。
图3 分层结构GBF-CMAC原理图Fig. 3 Principle of hierarchical GBF-CMAC
分层结构GBF-CMAC学习过程的参数更新一般采用反向传播和梯度下降法[20-21]。在此基础上,本文提出了一种分层结构多GBF-CMAC的参数自适应学习律。不失一般性,现以输出维数为例说明其学习过程,当时仅需输出的每一维做下述运算即可。
性能指标如式(4):
1)在分层结构多GBF-CMAC神经网络中,对于具有封闭性质的GBF-CMAC神经网络结构参数(和)和学习参数(和),每个GBFCMAC变量名称一样,但实际使用过程对于每个网络都有相互独立的参数值,且其生存期为神经网络的整个工作周期,另外为一种固定表示形式。
2)在分层结构的多GBF-CMAC神经网络中,对于具有开放性质的网络参数(输入变量和输出变量),对于每个GBF-CMAC都作了有区别的命名。分层结构的多GBF-CMAC神经网络整体:输入向量为,输出为。内部第一层网络:输入向量为,输出为,且为固定表示形式。内部第二层网络:输入向量为输出为,且为固定表示形式。
3)在分层结构多GBF-CMAC神经网络中,对于临时参数(存储器地址和输入量化结果l)仅根据其因变量进行附加型命名,如第一层两个参数分别命名为和,第二层两个参数分别命名为和。另外,这两个参数的作用域和生存期为GBF-CMAC神经网络内部的一个学习周期。
4)在分层结构多GBF-CMAC神经网络中,由于本文只讨论两层结构GBF-CMAC的参数学习律,故。但结果不失一般性,如果需要采用更多分层结构,仅需在前一层网络中计算参数就可以对后一层网络的参数进行更新,通过这种递推过程就可以实现任意分层数的网络参数自适应更新。
考虑如下形式的不确定系统:
对上述不确定系统的输出跟踪控制问题,滑模控制器的设计如下。
1) 定义系统误差
从系统状态方程式(12)可知系统的状态向量包含两部分:第一部分为系统输出;第二部分为系统输出的导数。所以系统的输出跟踪控制即为部分状态的跟踪控制。设状态期望值,定义系统的误差及其导数如式(13)、(14)所示:
2) 设计滑模面
为保证系统的输出跟踪满足一定的性能品质,设计的滑模面及其导数如式(15)、(16)所示:
3) 设计滑模控制器
滑模面的有限时间可达条件如式(17)所示:
采用等速趋近律设计的滑模控制器如式(18)所示:
采用积分类型的滑模面就可以构成积分滑模控制。针对上述不确定系统,设计的积分滑模面如式(20)所示。采用指数趋近律设计的积分滑模控制器如式(21)所示。
神经网络用于控制系统设计时,一种典型的结构是利用神经网络逼近非线性映射的能力,将神经网络与其他控制器并联组成复合控制器。针对上述不确定系统的输出控制问题,设计GBF-CMAC和滑模控制结合的控制系统结构如图4所示。
图4 控制系统结构图Fig. 4 Structure of control system
总控制量u(t)为式(22)所示:
将设计的控制系统用于高阶柔性直线系统的跟踪控制[22],实际系统如图5所示,系统状态空间表达式如式(24)所示。该系统是一种典型的欠驱动系统,其部分小车无法直接控制,而只能通过各个小车之间的耦合作用实现控制的目的。
图5 高阶柔性直线系统Fig. 5 High-order flexible linear system
跟踪控制系统MATLAB/SIMULINK仿真图如图6~8所示。图6为控制系统总体结构图;图7所示为滑模面计算子系统,其中利用一个切换开关可以实现一般滑模面和积分滑模面之间的切换;图8为GBF-CMAC子系统,包括符号函数计算部分和分层GBF-CMAC两部分。
图6 控制系统总体仿真结构图Fig. 6 Simulation of control system
图7 滑模面计算图Fig. 7 Calculation of sliding surface
图8 高斯基函数小脑模型关节控制器Fig. 8 GBF-CMAC
GBF-CMAC部分首先利用符号函数将18维输入变成9维输入,然后利用4个GBF-CMAC构成两层结构,其参数设置为:,,,。4个GBF-CMAC的结构参数和学习参数都设置为相同的值:,=3、22、42,,。
1) 复合控制器中神经网络不同分块数(3、22、42)下控制效果对比实验
3种控制器的控制量输出如图9所示,跟踪误差如图10所示。
图9 3种控制器输出对比Fig. 9 Output contrast of three controllers
2) 一般滑模控制、积分滑模控制、传统CMAC复合控制和改进GBF-CMAC复合控制对比实验
4种控制器的控制量输出如图11所示,跟踪误差如图12所示。
图10 3种控制器跟踪误差Fig. 10 Tracking error of three controllers
图11 4种控制器输出对比Fig. 11 Output contrast of four controller
图12 4种控制器跟踪误差Fig. 12 Tracking error of four controllers
从图11和图12可以看出,一般滑模控制抖振程度最大;积分滑模控制抖振程度小,但鲁棒性和跟踪精度最差;本文设计的改进GBF-CMAC复合控制器,不仅抖振基本消除,而且具有较好的鲁棒性,同时输出跟踪精度要比一般滑模控制、积分滑模控制和传统CMAC复合控制器好。
针对一类不确定系统,设计了将GBF-CMAC与滑模控制结合的复合控制器,采用符号函数和分层结构减少了GBF-CMAC所需存储器的数量,提出了一种分层结构多GBF-CMAC参数的自适应学习律。并将设计的复合控制器应用于高阶柔性直线系统的输出跟踪控制中。从实验结果可以看出,本文所提的复合控制器不仅具有较好的鲁棒性,并基本消除抖振现象,而且跟踪精度比一般滑模控制和积分滑模控制要好。此外,结果显示可以通过调节复合控制器中神经网络的参数对控制系统抖振程度、鲁棒性和跟踪精度进行调节,从而可以在抖振程度、鲁棒性和跟踪精度之间进行最优选择。