Adaptive Antiswing Control for Underactuated Dual Overhead Crane System Using Neural Network
-
摘要: 由于工业实践对运输能力提出了更高的要求, 双吊车的应用日益广泛. 然而其动力学模型非线性很强, 因此控制器结构十分复杂. 另一方面, 大型货物的摆动很难抑制, 这给双吊车的自动化带来了巨大的挑战. 为了处理以上问题, 首先, 采用神经网络准确地估计了系统的模型, 在此基础上提出了一种自适应防摆控制方法, 很好地实现了双吊车系统的防摆控制; 然后, 采用李雅普诺夫方法, 严格地证明了系统在平衡点的渐近稳定性; 最后, 通过大量的实验结果, 验证了该方法具有良好的性能.Abstract: There is a mounting application of dual overhead crane systems because of the higher requirements for transportation capacity in industrial practice. However, due to the strong nonlinearity of system dynamics, the designed controller is quite sophisticated. On the other hand, the swing of large cargos is more difficult to suppress, making the automation of dual overhead crane systems a huge challenge. To solve the above problems, an adaptive antiswing control method is proposed by utilizing a neural network to estimate the model of dual overhead crane systems, which achieves superior antiswing performance for dual overhead crane systems. Then, the asymptotic stability of the system at the equilibrium point is proved by the Lyapunov techniques. Finally, the control performance is validated by experimental results.
-
Key words:
- Antiswing control /
- dual crane /
- adaptive control /
- neural network /
- underactuated system
-
一个训练好的神经网络可以看成是一种知识的表达, 与模糊系统中使用IF-THEN规则表达局部知识不同, 神经网络通过它的结构, 更确切地说, 通过它的连接权和局部处理单元, 以一种分布式的或局部的方法来储存知识.神经网络中的前馈计算与模糊系统中的前向推理扮演同样的角色.这两种系统都能根据当前情况通过对存储知识的操作来执行任务, 以得到期望输出.通过给定一个合适的行为来响应新情况是这两种系统的核心.但是, 两者完成任务的方法是不同的.模糊系统是基于逻辑推论的插值推理, 而神经网络是基于泛化能力的代数计算.模糊系统通常是从领域专家处获取知识, 这个知识借助模糊逻辑理论融入系统.相反, 神经网络通常从样本中获取知识, 这个知识通过训练被吸收到神经网络中.模糊系统和神经网络的结合就形成了模糊神经网络, 这种网络致力于两种方法的优点, 同时避免它们各自的缺陷.把神经网络应用于模糊系统, 可以解决模糊系统中提取模糊规则的问题, 把模糊系统应用于神经网络, 可以避免任意选择初值.
1. 动态模糊神经网络理论分析
1.1 动态模糊神经网络的结构
本文提出的动态模糊神经网络(Dynamic fuzzy neural network, D-FNN)学习算法的特点是:不仅参数可以在学习过程中调整, 同时, 也可以自动确定模糊神经网络的结构.从功能上看, 它等同于一个TSK (Takagi-Sugeno-Kang)模糊系统, 该系统采用高斯隶属函数和T-范数乘积算子[1].
D-FNN结构如图 1所示.
在图 1中, $ {x_1}, {x_2}, \cdots, {x_r} $是系统的输入数据, $ \boldsymbol{ Y} $是系统的输出数据, $ {\rm MF_{ru}} $是隶属函数[2].
高斯函数表示的隶属函数为
$ \begin{align} &{\mu _{ij}}({x_i}) = \exp \left( { - \frac{{{{({x_i} - {c_{ij}})}^2}}}{{\sigma _j^2}}} \right) \\ &\qquad\qquad\qquad i = 1, 2, \cdots , r, \; \; j = 1, 2, \cdots , u \end{align} $
(1) 其中, $ {c_{ij}} $是$ {x_i} $的第$ j $个高斯隶属函数的中心, $ {\sigma _j} $是$ {x_i} $的第$ j $个高斯隶属函数的宽度.
$ {N_j} $为第$ j $个节点的输出
$ \begin{align} {\psi _j} = \frac{{{\varphi _j}}}{{\sum\limits_{k = 1}^u {{\varphi _k}} }}, \quad j = 1, 2, \cdots , u \end{align} $
(2) 总输出信号为
$ \begin{align} y(\boldsymbol{{X}}) = \sum\limits_{k = 1}^u {{w_k}} \cdot {\psi _k} \end{align} $
(3) 其中, $ y $是输出信号, $ {w_k} $是模糊规则.对于TSK模型[3]
$ \begin{align} &{w_k} = {a_{k0}} + {a_{k1}}{x_1} + \cdots + {a_{kr}}{x_r}\\ &\qquad\qquad\qquad\qquad\qquad k = 1, 2, \cdots , u \end{align} $
(4) TSK模型
$ \begin{align} &y(\boldsymbol{{X}}) = \\ &\ \ \frac{{\sum\limits_{i = 1}^u {\left[ {({a_{i0}} + {a_{i1}}x{}_1 + \cdots + {a_{ir}}{x_r})\exp \left( { - \frac{{{{\left\| {{\boldsymbol{ X}} - {{\boldsymbol{ C}}_i}} \right\|}^2}}}{{\sigma _i^2}}} \right)} \right]} }}{{\sum\limits_{i = 1}^u {\exp \left( { - \frac{{{{\left\| {{\boldsymbol{ X}} - {{\boldsymbol{ C}}_i}} \right\|}^2}}}{{\sigma _i^2}}} \right)} }} \end{align} $
(5) 1.2 分级学习思想
D-FNN的结构不仅由接收域决定, 还由系统误差决定, 尽管这两种方法都可以划分为分级自组织方法.由输出误差确定是否应该加入新模糊规则.
输出误差判断描述如下: $ ({\boldsymbol{{X}}_i}, {t_i}) $是第$ i $个输入数据, $ {\boldsymbol{{X}}_i} $表示第$ i $个输入向量, $ {t_i} $表示第$ i $个期望的输出, 动态模糊神经网络输出为$ {y_i} $.
定义
$ \begin{align} \left\| {\, {e_i}\, } \right\| = \left\| {\, {t_i} - {y_i}\, } \right\| \end{align} $
(6) 如果
$ \begin{align} \left\| {\, {e_i}\, } \right\| > {k_e} \end{align} $
(7) 此时, 增加一条新的模糊规则. $ {k_e} $值是根据动态模糊神经网络期望的精度预先选定的[4].分级学习主要思想能保证更简洁的结构和更短的学习时间. $ {k_e} $是个变量
$ \begin{align} {k_e} = \max [{e_{\max }} \times {\beta ^i}, {e_{\min }}] \end{align} $
(8) 这里, 最大误差为$ {e_{\max }} $, 动态模糊神经网络的精度为$ {e_{\min }} $, 收敛常数是$ \beta\, (0 < \beta < 1) $[5].
1.3 D-FNN修剪技术
修剪策略采用的是误差下降率(Error reduction rate, ERR)方法.用ERR、SVD (Singular value decomposition)和ED (Eigenvalue decomposition)方法的不同的修剪策略将导致不同的D-FNN结构, 即不同模糊规则数以及对于某个特定的性能, 每条规则的参数不同.实验说明, ERR方法具有明显的物理意义和稳定的数值计算, 这就是该方法被广泛使用的原因.
$ \boldsymbol{ T} = ({t_1}, {t_2}, \cdots , {t_n}) \in {\textbf{R} ^n} $为系统理想输出, $ \boldsymbol{ Y} $ $ \in $ $ {\textbf{R} ^n} $为系统实际输出. $ \boldsymbol{ \Psi} \in {\textbf{R} ^{(r + 1)u \times n}} $和$ \boldsymbol{ T}\in{\textbf{R} ^n} $之间有如下关系[6]
$ \begin{align} &\boldsymbol{ Y} = \boldsymbol{ W} \times \boldsymbol{ \Psi} \end{align} $
(9) $ \begin{align} &\tilde E = \left\| {\;\boldsymbol{ T} - \boldsymbol{ Y} \;} \right\| \end{align} $
(10) $ {\tilde E^{\rm{T}}}\tilde E $表示误差能量. $ \{ X(i), t(i) $, $ i = 1, 2, \cdots $, $ n\} $为第$ n $个输入-输出对, 把式(9)代入式(10)推导得到线性回归模型[7]为
$ \begin{align} \boldsymbol{ D} = \boldsymbol{ H} \boldsymbol{ \theta} + \boldsymbol{ E} \end{align} $
(11) 其中, 期望输出为$ \boldsymbol{ D} = {\boldsymbol{ T}^{\rm T}} \in {\textbf{R} ^n} $, 回归向量为$ \boldsymbol{ H} = $ $ {\boldsymbol{ \Psi} ^{\rm T}} $ $ = ({h_1} \cdots {h_v}) \in {\textbf{R} ^{n \times v}} $, $ v = u \times (r + 1) $, 实参数为$ \boldsymbol{ \theta} = {\boldsymbol{ W} ^{\rm T}} \in {\textbf{R} ^n} $, 误差向量为$ \boldsymbol{ E} \in {\textbf{R} ^n} $, 回归量为$ {\boldsymbol{ h}_i} $.回归量为$ {\boldsymbol{ q}_i} $, 期望输出方差为$ \sum\nolimits_{i = {\rm{1}}}^v {g_i^2\boldsymbol{ q}_i ^{\rm{T}}{\boldsymbol{ q}_i }} /n $.误差下降率为
$ \begin{align} {\rm{er}}{{\rm{r}}_i} = \frac{{{{(\boldsymbol{ q}_i ^{\rm{T}}\boldsymbol{ D} )}^2}}}{{\boldsymbol{ q}_i ^{\rm{T}}{\boldsymbol{ q}_i }{\boldsymbol{ D} ^{\rm{T}}}\boldsymbol{ D} }}, \quad i = 1, 2, \cdots , v \end{align} $
(12) $ {\rm{er}}{{\rm{r}}_i} $值如果很大, 那么$ {\boldsymbol{ q}_i} $和$ \boldsymbol{ D} $的相似程度就很大[8], $ {\boldsymbol{ q}_i} $对于输出结果影响显著.式(12)的几何意义也很显著.向量$ {\boldsymbol{ q}_i} $和$ \boldsymbol{ D} $的夹角设为$ {\phi _i} $, 那么
$ \begin{align} {\rm{co}}{{\rm{s}}^{\rm{2}}}{\phi _i} = {\rm{er}}{{\rm{r}}_i} = \frac{{{{(\boldsymbol{ q}_i ^{\rm{T}}\boldsymbol{ D} )}^2}}}{{\boldsymbol{ q}_i ^{\rm{T}}{\boldsymbol{ q}_i }{\boldsymbol{ D} ^{\rm{T}}}\boldsymbol{ D} }}, \quad i = 1, 2, \cdots , v \end{align} $
(13) 若$ {\phi _i} = {90^\circ} $, $ {\rm{er}}{{\rm{r}}_i} = 0 $, 表示两个向量正交, 意味着$ {\boldsymbol{ q}_i } $对$ \boldsymbol{ D} $无影响, 如果, 若$ {\phi _i} = 0 $, $ {\rm{er}}{{\rm{r}}_i} = 1 $, 意味着$ {\boldsymbol{ q}_i } $对$ \boldsymbol{ D} $影响显著. $ \Delta = ({\boldsymbol{ \delta} _1}, \boldsymbol{ \delta} {}_2, \cdots , {\boldsymbol{ \delta} _u}) \in {\textbf{R} ^{(r + 1) \times u}} $为$ {\rm{er}}{{\rm{r}}_i} $ $ (i = 1, 2, \cdots, (r + 1)u) $重新排列的矩阵, $ \Delta $的第$ i $列$ {\boldsymbol{ \delta} _i} $是误差下降率[9].定义
$ \begin{align} {\eta _i} = \sqrt {\frac{{\boldsymbol{ \delta} _i^{\rm{T}}{\boldsymbol{ \delta} _i}}}{{r + 1}}} \end{align} $
(14) 第$ i $个模糊规则的重要性用$ {\eta _i} $表达, 值$ {\eta _i} $越大, 表示第$ i $个模糊规则越重要[10].假设
$ \begin{align} {\eta _i} < {k_{{\rm{err}}}} \end{align} $
(15) 预先设置阈值为$ {k_{{\rm{err}}}} $, 则第$ i $个模糊规则可以剔除[11].
未修剪时的训练误差总是比修剪后的误差小, 但是经过修剪, 无论是用ERR还是SVD或ED方法, 系统的测试误差(用RMSE (Root-mean-square error)来评判)总是小于未修剪的系统.
1.4 结果参数确定的分析
假定$ u $个模糊规则是由$ n $个观测数据产生的, 可以写成式(16) $ N $节点的模糊规则矩阵输出形式
$ \begin{align} \boldsymbol{ \Psi} = \left[ {\begin{array}{*{20}{c}} {{\psi _{11}}}& \cdots &{{\psi _{1n}}}\\ \vdots &\ddots & \vdots \\ {{\psi _{u1}}}& \cdots &{{\psi _{un}}} \end{array}} \right] \end{align} $
(16) $ {X_j}({x_{1j}}, {x_{2j}}, \cdots , {x_{rj}}) $是输入的观测数据, $ {y_i} $是系统的输出数据, 可写成式(17)形式[12]
$ \begin{align} \boldsymbol{ W} \boldsymbol{ \Psi} = \boldsymbol{ Y} \end{align} $
(17) 对于TSK模型, $ \boldsymbol{ W} $由下式给出
$ \begin{align} \boldsymbol{ W} = ({\alpha _{10}}\; \cdots \; {\alpha _{u0}}, \; {\alpha _{11}}\; \cdots\; {\alpha _{u1}}, \; \cdots, \; {\alpha _{1r}}\; \cdots \; {\alpha _{ur}}) \end{align} $
(18) 对于S模型, $ \boldsymbol{ W} ^{\rm T} \in {\textbf{R} ^u} $, $ \boldsymbol{ \Psi} \in {\textbf{R} ^{u \times n}} $.
如何使误差能量$ {\tilde E^{\rm{T}}}\tilde E $最小, 决定于一个最优的系数向量$ {\boldsymbol{ W} ^ * } \in {\textbf{R} ^{(r + 1)u}} $.式(19)给出了利用线性最小二乘法(Linear least squares, LLS)逼近该问题的方法
$ \begin{align} {\boldsymbol{ W} ^ * } \times \boldsymbol{ \Psi} = T \end{align} $
(19) 具有如下表达形式的$ {\boldsymbol{ W} ^ * } $是属于最优的[13]
$ \begin{align} {\boldsymbol{ W} ^ * } = T{{\rm{(}}{\boldsymbol{ \Psi} ^{\rm{T}}}\boldsymbol{ \Psi} {\rm{)}}^{{\rm{ - 1}}}}{\boldsymbol{ \Psi} ^{\rm{T}}} \end{align} $
(20) 其中, $ \boldsymbol{ \Psi} $的转置为$ {\boldsymbol{ \Psi} ^{\rm{T}}} $, $ \boldsymbol{ \Psi} $的广义逆为$ {\boldsymbol{ \Psi} ^ + } = {{\rm{(}}{\boldsymbol{ \Psi} ^{\rm{T}}}\boldsymbol{ \Psi} {\rm{)}}^{{\rm{ - 1}}}}{\boldsymbol{ \Psi} ^{\rm{T}}} $.
卡尔曼滤波算法用于确定以下权值
$ \begin{align} &{\boldsymbol{ W} _i} = {\boldsymbol{ W} _{i - 1}} + {S_i}\boldsymbol{ \Psi} _i^{\rm T}{\rm{(}}{T_i} - {\boldsymbol{ \Psi} _i}{\boldsymbol{ W} _{i - 1}}{\rm{)}}\\ &{S_i} = {S_{i - 1}}{\rm{ - }}\frac{{{S_{i - 1}}\boldsymbol{ \Psi} _i^{\rm{T}}{\boldsymbol{ \Psi} _i}{S_{i - 1}}}}{{{\rm{1}} + {\boldsymbol{ \Psi} _i}{S_{i - 1}}\boldsymbol{ \Psi} _i^{\rm{T}}}}, \; \; \; i = 1, 2, \cdots , n \end{align} $
(21) 其中, $ {\boldsymbol{ W} _{\rm{0}}} = 0 $和$ {S_{\rm{0}}} = \chi I $为初始条件.经过$ i $次迭代后的系数矩阵为$ {\boldsymbol{ W} _i} $, 第$ i $个观测数据的误差协方差矩阵为$ {S_i} $, $ \chi $是一个正数, $ \boldsymbol{ \Psi} $的第$ i $列为$ {\boldsymbol{ \Psi} _i} $, $ u(r $ $ + $ $ 1) \times u(r + 1) $为单位矩阵$ I $.
给予最新的数据最大的加权, 而最旧数据加权最小, 乃至被遗忘[14].其实现方法是加入一个遗忘因子$ \lambda $.采用数据遗忘法的回归最小二乘法公式如下
$ \begin{align} &{\boldsymbol{ W} _i} = {\boldsymbol{ W} _{i - 1}} + {S_i}\boldsymbol{ \Psi} _i^{\rm{T}}({T_i} - {\boldsymbol{ \Psi} _i}{\boldsymbol{ W} _{i - 1}})\\ &{S_i} = \frac{1}{\lambda }\left( {{S_{i - 1}} - \frac{{{S_{i - 1}}\boldsymbol{ \Psi} _i^{\rm{T}}\boldsymbol{ \Psi} {S_{i - 1}}}}{{\lambda + {\boldsymbol{ \Psi} _i}{S_{i - 1}}\boldsymbol{ \Psi} _i^{\rm{T}}}}} \right), \; \, i = 1, 2, \cdots , n \end{align} $
(22) 其中, $ 0 < \lambda < 1 $, $ \lambda $越小, 表明数据遗忘越快.
当收集到的数据越来越多时, 线性最小二乘法的自适应能力将会大大降低.在这种情况下, 就需要减少旧数据的影响.
2. 实验结果与分析
$ \Delta p $是血压的变化, SNP (Sodium nitroprusside)是硝普钠, $ u $为SNP注射率, 它们之间关系的传递函数为
$ \begin{align} \Delta p(s) = \frac{{k{{\rm e}^{ - {T_i}s}}(1 + \alpha {e^{ - {T_c}s}})}}{{1 + \tau s}}u(s) \end{align} $
(23) 其中, 循环延时为$ {T_c} $, 初始传送延时为$ {T_i} $, 硝普钠的敏感性表示为$ k $, 滞后时间常数为$ \tau $, 循环系数为$ \alpha $.
根据式(23), 在硝普钠影响下给出了平均动脉血压(Mean artery pressure, MAP)的离散数学模型
$ \begin{align} \Delta p(k) = &\ {a_0}\Delta p(k - 1) + {b_0}u(k - d)\; +\\ &\ {b_1}u(k - m) + n(k) \end{align} $
(24) 参数$ m $, $ {a_0} $, $ {b_0} $, $ {b_1} $和$ d $在采样时间下通过计算式(19)连续时间模型得到[15].
我们采用直接逆控制方法来检测D-FNN能否逼近一个动态时变的系统.所谓直接逆控制法, 就是基于系统的参考模型, 模糊神经网络学习或逼近该模型的逆系统模型, 并作为控制器与控制对象简单串接在一起, 使合成的系统能够在期望响应$ r(t) $和被控系统的输出$ y(t) $之间形成一个一致的映射. D-FNN作为直接逆控制方法的原理图如图 2所示.其中参考模型的作用是用来产生训练样本数据.
在系统中D-FNN作为控制器时, 为了使输出值$ y(t) $逼近期望值$ r(t) $, 目标是要得到适当的控制行为$ u(t) $.这个仿真实验需要两个阶段即学习阶段与应用阶段.在学习阶段, D-FNN辨识了潜伏在对象的时变动态逆模型.在应用阶段, D-FNN作为控制器产生控制行为.
逆模型通常由带外输入的自回归非线性模型(Nonlinear auto regressive with exogenous input, NARX)经过简单的推导得到
$ \begin{align} u(t) = &\ {f^{ - 1}}[y(t + 1), y(t), \cdots , y(t - {n_y}), \\&\ u(t - 1), \cdots , u(t - {n_u})] \end{align} $
(25) 由式(25), 可以看到计算$ u(t) $的值需要知道$ y(t + 1) $的值, 而$ y(t + 1) $是未来值.为了解决这个问题, 一般情况下用$ r(t + 1) $代替$ y(t + 1) $.由于$ r(t) $与参考信号有关联, 这个代替是合理的.
可以用NARX模型直接构造如下的逆模型: $ u(t) $ $ = $ $ g[y(t + 1), \cdots , y(t - {n_y}), u(t - 1), \cdots , u(t - {n_u})] $
取$ g \approx {f^{ - 1}} $.实际上$ g $不是$ f $的准确逆模型, 它只是数学上逼近这个逆映射.
在注射系统标准时不变模型与注射系统参数变化模型仿真研究中, 通过对血压的控制来验证D-FNN逼近能力及所提控制方案的有效性.
2.1 注射系统标准时不变模型
病人响应的数学模型表达如下:
$ \begin{align} \Delta p(k) = &\ 0.742\Delta p(k - 1)\; + \\&\ 0.188u(k - 3)+0.076u(k - 6) \end{align} $
(26) 为了产生训练数据, 药物注射率$ u(k) $取为
$ \begin{align} u(k) = \left| {A\sin (2\pi k/250)} \right| \end{align} $
(27) 设$ A = 50 $, 初始条件为:当$ t \le 0 $时$ \Delta p(t) = 0 $, $ u(t) $ $ = 0 $, 根据式(26)和式(27)提取200个样本.式(26)的逆模型取为$ \hat u(k) = f(\Delta p(k), \Delta p(k - 3)) $其中, $ f $是D-FNN, 它代表式(22)的逆映射. D-FNN预定义的参数选择如下: $ {d_{\min }} = 2 $, $ {d_{\max }} = 35 $, $ {e_{\min }} $ $ = 0.5 $, $ {e_{\max }} = 50e_{\min } $, $ \gamma = {( {\frac{{{d_{\min }}}}{{{d_{\max }}}}} )^{2.5/200}} $, $ \beta $ $ = $ $ {( {\frac{{{e_{\min }}}}{{{e_{\max }}}}} )^{1/100}} $, $ {\sigma _0} = 35 $, $ k = 2.5 $, $ {k_w} = 1.05 $, $ {k_{\rm err}} $ $ = $ $ 0.0007 $训练结果如图 3所示.其中, 图 3 (a)是训练阶段期望和实际注射的差别, 图 3 (b)是训练阶段的均方根误差, 图 3 (c)是训练阶段期望(-)和实际注射率(o)比较.
控制器采样间隔是15 s, 高血压病人的血压设定为140 mmHg, D-FNN控制器训练好后用于控制对象, 最后病人的血压要求降低到100 mmHg, 如图 4所示.其中, 图 4 (a)可以看到血压随着硝普钠注射的变化而平稳地变化, 并没有发生时延和震荡, 这表明D-FNN很好地学习了模型的特性, 对系统进行了很好的建模.图 4 (b)是血压的实际的变化和期望的变化, 期望的血压变化中含有方差为1 mmHg的白噪声, 图 4 (c)是仿真结果的血压误差.修剪技术对于动态时变非线性系统的辨识是非常必要的, 如果在学习进行时, 检测到不活跃的模糊规则并加以剔除, 则可获得更为紧凑的系统结构以及快速的学习速度.
仿真的结果如下: $ \Delta {p_{\max }} = 5.91 $; $ \Delta MA{P_{\max }} = 2.61 $; $ \Delta MA{P_{\min }} = 97.1 $.
由上述仿真结果可以看到: D-FNN控制器能使得血压平稳的变化, 能够满足实际的要求.
2.2 注射系统参数变化模型
根据式(26), 得到了病人在$ SNP $作用下, 最大后验概率(Maximum a posteriori estimation)的离散数学模型
$ \begin{align} \Delta p(k) = &\ {a_0}\Delta p(k - 1) \; + \\ &\ {b_0}u(k - d) + {b_1}u(k - m) + n(k) \end{align} $
(28) 设定初始条件为:当$ t \le 0 $时$ u(t) = 0 $, $ y(t) $ $ = $ $ 0 $.用训练D-FNN的样本数据的产生, 根据输入式$ u(k) $ $ = $ $ | {A\sin (2\pi k/250)}| $来选择训练样本, 且取$ A $ $ = $ $ 15, $逆模型为$ \hat u(t) = f(\Delta p(k), \Delta p(k - 3)) $.
为了观察药物注射系统参数变化模型的时变特性, 使用一个移动窗口.设置移动窗口的宽度$ w $ $ = $ $ 120 $.其中药物注射系统变化模型的训练结果如图 5所示.图 5 (a)是D-FNN控制器训练阶段的期望(+)和实际(o)输出比较, 图 5 (b)是训练时均方根误差, 图 5 (c)是训练阶段的输出误差.其中变化模型的测试结果见图 6.图 6 (a)是药物注射率和血压之间的关系, 图 6 (b)是D-FNN控制器的实际与期望的血压变化比较, 图 6 (c)是噪声环境下的药物注射率, 其中扰动选择方差为1 mmHg的白噪声.
表 1是文献[16]与D-FNN中的仿真性能比较结果. IANC方法与D-FNN方法相比, D-FNN的仿真结果(图 6 (a))非常理想, 即使在扰动选择方差为1 mmHg的白噪声环境下也没有大的延迟和振荡.用最大误差$ \Delta p_{\max} $来评估期望和实际MAP (平均动脉血压)变化的D-FNN控制器的性能, IANC方法与D-FNN方法相比较的结果列于表 1中.
表 1 D-FNN与IANC的性能比较(mmHg)Table 1 Performance comparison between D-FNN and IANC (mmHg)方法 $ \Delta p_{\max} $ 方法 $ \Delta p_{\max} $ D-FNN 9.01 IANC 10.1 仿真时应注意到, 移动窗的宽度$ w $在辨识时变系统中有着重要的作用.宽度$ w $较小时, 会遗漏一些重要的数据; 而宽度$ w $较大时, 收集到的样本数据越来越多, D-FNN逐渐进入饱和而失去调整功能, 使得时变参数无法辨识.
通过使用不同移动窗宽度, 做了多次的仿真.根据RMSE(均方误差)和$ \Delta p_{\max} $进行评估D-FNN的性能, 仿真结果表明, 最优宽度$ w $的范围是$ 90\leq $宽度$ w\leq110. $
从仿真结果来看, 由于使用了修剪技术与移动窗技术, 使得网络结构没有持续增长, 可获得更为紧凑的D-FNN结构, 因而确保了系统的泛化能力.
3. 结论
采用分级学习的思想能保证更简洁的结构和更短的学习时间, 分级学习策略的一大好处是可以缓解学习过程中的震荡问题.实验结果表明, D-FNN控制器具有强大的在线学习能力, 特别是当外部环境出现扰动时, D-FNN具有很强的自适应性和鲁棒性可以把轨迹误差迅速地减少到接近零. D-FNN可以根据对控制系统的重要性及系统的复杂性自动地产生或者删除模糊规则, 在线学习时模型不需要预先设定, 可以从训练数据设置次序自适应地学习, 从而补偿了非线性系统建模误差处理外部扰动.通过仿真研究, 动态模糊神经网络将会在许多实时自动控制系统中得到应用. D-FNN学习的快速性未来还有进一步改进的空间.
-
表 1 实验1的性能指标
Table 1 Performance indices of Experiment 1
性能指标 本文方法 PD LQR PID SMC $e_{1xs}\,({\rm{ m}})$ ${\bf{-0.003}}$ −0.028 −0.032 −0.007 0.001 $e_{2xs}\,({\rm{ m}})$ −0.003 −0.004 −0.004 −0.004 ${\bf{-0.001}}$ $\theta_{1{\rm{max}}}\,(^\circ)$ ${\bf{0.582}}$ 7.149 3.666 7.746 1.357 $\theta_{2{\rm{max}}}\,(^\circ)$ ${\bf{0.636}}$ 5.908 4.387 5.401 2.481 $\theta_{3{\rm{max}}}\,(^\circ)$ ${\bf{0.002}}$ 0.472 0.187 0.452 0.056 $\theta_{1res}\,(^\circ)$ ${\bf{0.293}}$ 4.160 3.350 1.515 1.274 $\theta_{2res}\,(^\circ)$ ${\bf{0.000}}$ 2.926 3.053 1.273 1.145 $\theta_{3res}\,(^\circ)$ ${\bf{0.000}}$ 0.085 0.068 0.016 0.001 $\Delta_{x{\rm{max}}}\,({\rm{ m} })$ ${\bf{0.905}}$ 0.924 0.994 0.920 0.938 $\Delta_{x{\rm{min} } }\,({\rm{ m} })$ ${\bf{0.899}}$ 0.749 0.848 0.697 0.894 -
[1] Ramli L, Mohamed Z, Abdullahi A M, Jaafar H I, Lazim I M. Control strategies for crane systems: A comprehensive review. Mechanical Systems and Signal Processing, 2017, 95: 1-23 doi: 10.1016/j.ymssp.2017.03.015 [2] Lu B, Fang Y, Lin J, Hao Y, Cao H. Nonlinear antiswing control for offshore boom cranes subject to ship roll and heave disturbances. Automation in Construction, 2021, 131: 1-13 [3] Lu B, Fang Y. Gain-adapting coupling control for a class of underactuated mechanical systems. Automatica, 2021, 125: 1-7 [4] 王岳, 孙宁, 吴易鸣, 梁潇, 陈鹤, 方勇纯. 深海起重机系统的实时轨迹规划方法. 自动化学报, 2021, 47(12): 2761-2770Wang Yue, Sun Ning, Wu Yi-Ming, Liang Xiao, Chen He, Fang Yong-Chun. Real-time motion planning of deep sea-oriented flexible crane systems. Acta Automatica Sinica, 2021, 47(12): 2761-2770 [5] 曹海昕, 郝运嵩, 林静正, 卢彪, 方勇纯. 绳长时变情况下轮胎式集装箱起重机非线性防摆控制算法. 自动化学报, 2021, 47(8): 1876-1884Cao Hai-Xin, Hao Yun-Song, Lin Jing-Zheng, Lu Biao, Fang Yong-Chun. Nonlinear anti-swing control for rubber tyre container gantry crane with rope length variation. Acta Automatica Sinica, 2021, 47(8): 1876-1884 [6] Vaughan J, Yoo J, Singhose W. Using approximate multi-crane frequencies for input shaper design. In: Proceedings of the International Conference on Control, Automation and Systems. Jeju, South Korea: IEEE, 2012. 639−644 [7] 卢彪, 吴壮, 方勇纯, 孙宁. 带有完整约束的双吊车系统输入整形控制. 控制理论与应用, 2018, 35(12): 1805-1811Lu Biao, Wu Zhuang, Fang Yong-Chun, Sun Ning. Input shaping control for underactuated dual overhead crane system with holonomic constraints. Control Theory & Applications, 2018, 35(12): 1805-1811 [8] Zhao X, Huang J. Distributed-mass payload dynamics and control of dual cranes undergoing planar motions. Mechanical Systems and Signal Processing, 2019, 126: 636-648 doi: 10.1016/j.ymssp.2019.02.032 [9] Sun N, Fu Y, Yang T, Zhang J, Fang Y, Xin X. Nonlinear motion control of complicated dual rotary crane systems without velocity feedback: Design, analysis, and hardware experiments. IEEE Transactions on Automation Science and Engineering, 2020, 17(2): 1017-1029 doi: 10.1109/TASE.2019.2961258 [10] Li Y, Xi X, Xie J, Liu C. Study and implementation of a cooperative hoisting for two crawler cranes. Journal of Intelligent & Robotic Systems, 2016, 83(2): 165-178 [11] Lu B, Fang Y, Sun N. Modeling and nonlinear coordination control for an underactuated dual overhead crane system. Automatica, 2018, 91: 244-255 doi: 10.1016/j.automatica.2018.01.008 [12] Li D J. Neural network control for a class of continuous stirred tank reactor process with dead-zone input. Neurocomputing, 2014, 131: 453-459 doi: 10.1016/j.neucom.2013.11.006 [13] Selmic R R, Lewis F L. Deadzone compensation in motion control systems using neural networks. IEEE Transactions on Automatic Control, 2000, 45(4): 602-613 doi: 10.1109/9.847098 [14] Lewis L F, Yesildirek A, Liu K. Multilayer neural-net robot controller with guaranteed tracking performance. IEEE Transactions on Neural Networks, 1996, 7(2): 388-399 doi: 10.1109/72.485674 [15] Yang T, Sun N, Chen H, Fang Y. Neural network-based adaptive antiswing control of an underactuated ship-mounted crane with roll motions and input dead zones. IEEE Transactions on Neural Networks and Learning Systems, 2019, 31(3): 901-914 [16] 马乐, 闫一鸣, 徐东甫, 李志伟, 孙灵芳. 含未知动态与扰动的非线性系统神经网络嵌入学习控制. 自动化学报, 2021, 47(8): 2016-2028Ma Le, Yan Yi-Ming, Xu Dong-Fu, Li Zhi-Wei, Sun Ling-Fang. Neural network embedded learning control for nonlinear system with unknown dynamics and disturbance. Acta Automatica Sinica, 2021, 47(8): 2016-2028 [17] 章联生, 金耀初, 宋永端. 时滞忆阻神经网络动力学分析与控制综述. 自动化学报, 2021, 47(4): 765-779Zhang Lian-Sheng, Jin Yao-Chu, Song Yong-Duan. An overview of dynamics analysis and control of memristive neural networks with delays. Acta Automatica Sinica, 2021, 47(4): 765-779 [18] 林静正, 方勇纯, 卢彪, 郝运嵩, 曹海昕. 基于迭代学习和神经网络的船用起重机控制. 控制理论与应用, 2022, 39(4): 581–592Lin Jing-Zheng, Fang Yong-Chun, Lu Biao, Hao Yun-Song, Cao Hai-Xin. Controller design of an offshore boom crane utilizing iterative learning and neural network. Control Theory & Applications, 2022, 39(4): 581–592 [19] Lu B, Fang Y, Sun N. Sliding mode control for underactuated overhead cranes suffering from both matched and unmatched disturbances. Mechatronics, 2017, 47: 116-125 doi: 10.1016/j.mechatronics.2017.09.006 期刊类型引用(4)
1. 陈家煜,刘丽桑,张友渊,陈炯晖,王晨曦. 基于改进PID算法的钢铁行车系统建模与控制. 福建理工大学学报. 2024(01): 47-53 . 百度学术
2. 靳国良,孙茂凱,王生海,黄哲,王丙昱,孙玉清. 桥式起重机分布式质量吊重系统双摆滑模控制. 机电工程. 2024(03): 494-503 . 百度学术
3. 谭天乐,张万超,何永宁,周恒杰. 神经网络类机理建模下的持续自学习控制. 控制理论与应用. 2024(05): 885-894 . 百度学术
4. 叶润青. 建筑用塔式起重机定位防摆自动控制方法研究. 工程机械与维修. 2024(06): 14-16 . 百度学术
其他类型引用(3)
-