首页 理论教育仿真与结果分析:一个实践案例

仿真与结果分析:一个实践案例

【摘要】:系统仿真的一般过程包括建模阶段、模型实验阶段和结果分析阶段。本章概略介绍了系统的仿真环境和S函数,重点给出了滑模控制、自抗扰控制以及所设计的复合控制器的仿真模块图和轨迹跟踪的结果分析。图5.21复合控制下ESO的输出图5.22大惯量下自抗扰控制器输出对于大惯量下复合控制器的仿真,其结果如图5.23所示,可以看出复合控制下火炮跟踪轨迹无超调,而且稳态误差基本为零。

系统仿真的一般过程包括建模阶段、模型实验阶段和结果分析阶段。本章也是本书的重要组成部分,在没有完全理想的实验条件来对坦克炮控系统进行实际验证的情况下,系统仿真成为检测所设计的控制器性能及品质的重要方法。本章概略介绍了系统的仿真环境和S函数,重点给出了滑模控制、自抗扰控制以及所设计的复合控制器的仿真模块图和轨迹跟踪的结果分析。

1.仿真环境及S函数

本书采用MathWorks公司开发的MATLAB/SIMULINK软件对系统进行仿真,MATLAB/SIMULINK仿真平台集数值计算和交互式图形化建模环境于一体,目前被广泛应用于控制系统的仿真研究。

自抗扰控制技术的一大特色就是“开发利用特殊的非线性效应”,运用符号函数和绝对值函数构造出一些非线性函数,这些非线性函数在自抗扰控制器的快速跟踪逼近和高效率反馈控制中发挥着重要作用[117]。这些特殊的非线性函数及其动态结构组成形式多样,参数设置较多,在MATLAB/SIMULINK环境下用其固有模块搭建自抗扰控制器模型较为复杂,而且不易实现其非线性效应。

虽然MATLAB/SIMULINK提供了丰富的模块,但并非所有的数学模型都能用现有模块方便地搭接。针对需要实现的特定功能及特殊算法,用户通常需要定义自己的模块。S-Function(System Function,系统函数)是对SIMULINK功能进行扩展的有力机制,可用MATLAB、C、C++、Fortran和Ada等语言编写,实现用户特定的算法,以模块的形式加入SIMULINK模型之中[118,119]。跟踪微分器(TD)和扩张状态观测器(ESO)是自抗扰控制技术中的新型动态系统,其算法中包含特定的非线性算法和特殊的动态结构。因此,本书中对于这两个模块中所涉及的非线性部分利用S-Function来实现其功能。

下面以本书中扩张状态观测器的算法(5.36)为例,简要介绍如何利用SFunction来自定义SIMULINK模块。

设计S-Function并将其自定义为han-ESO模块,结构如图5.15所示。

图5.15 扩张状态观测器模块图

按照SIMULINK的运行机制,利用S-Function自定义的每个模块都有三个基本元素:输入向量、状态向量和输出向量。按式(5.36)中的算法,输入变量为系统的控制量u和输出量y构成的二维输入向量,状态变量z1、z2、z3构成三维输出向量,参数α1、α2、δ、β01、β02、β03、b为模块内部参数,可在S-Function定义的模块对话框中进行设置,如图5.16所示。

图5.16 模块参数设置对话框

S-Function是采用特殊的调用语法,通过传递参量flag执行不同的子函数,使函数文件与SIMULINK方程解法器进行交互,来完成仿真执行流程,它主要分为初始化阶段和仿真循环阶段。本书中使用SIMULINK提供的模板,以MATLAB语言编写函数源程序,函数名和文件名保持一致,均为han-ESO。这里,根据算法(5.36)确定仿真模块需要执行的仿真阶段,选择相应的flag参量值,并编写相应仿真阶段的子函数。

han-ESO模块的S-Function的部分源程序如下:

上述给出了扩张状态跟踪器中S-Function的定义及初始化的源程序,其微分计算和输出子函数可以按照算法(5.36)的公式写出。同样,本书中跟踪微分器的动态结构也可以利用S-Function自定义模块为han-TD,原理同上,这里不再赘述。

2.结构图及结果分析

本节将给出坦克高低向瞄准跟踪控制系统的仿真结果及分析,用来验证所设计的控制器的有效性,其中被控对象模型的具体参数见前面介绍。

(1)当火炮惯量Jα=3 430 kg·m2时,系统仿真结果如下:

①滑模变结构控制器,仿真结果如图5.17所示。从图5.17中可以看出,虽然能够实现跟踪,但是局部放大图显示,运动轨迹在到达滑模面后仍旧存在明显的抖振,这是滑模变结构控制不可避免的,也是其主要的弊端之一。

②自抗扰控制器,仿真结果如图5.18和图5.19所示。从图5.18中可以看出,自抗扰控制器响应速度快,无稳态误差,实现了火炮的精确瞄准。图5.19表明扩张状态观测器基本能够估计出系统的扰动(仿真时给定了幅值为1的正弦扰动),这是自抗扰控制器能够实现火炮快速、平稳瞄准的根本所在。

图5.17 滑模变结构控制下火炮跟踪轨迹

图5.18 自抗扰控制下火炮跟踪轨迹

③复合控制器,仿真结果如图5.20和图5.21所示。从图5.20中可以看出,基于滑模和自抗扰技术的复合控制器能够实现火炮较快速、无稳态误差瞄准。和图5.17对比,可以看出在稳定状态,明显优于滑模变结构控制器,体现了复合控制器的优点,即利用了自抗扰控制中的扩张状态观测器估计和补偿了系统的所有扰动,包括滑模变结构产生的抖振。复合控制器中扩张状态观测器的对于扰动(仿真时给定了幅值为1的方波扰动)的估计如图5.21所示。

图5.19 自抗扰控制下ESO的输出

图5.20 复合控制下火炮跟踪轨迹

(2)加大火炮惯量,令Jα=34 300 kg·m2时,系统仿真结果如下:

①自抗扰控制器,仿真结果如图5.22所示。

②复合控制器,仿真结果如图5.23所示。对于大惯量下自抗扰控制器的仿真,当调节控制器的参数达到一定值(本书中ESO的参数为β01=1 000,β02=333 300,β03=3 125 000)时,会发现随着参数的变化,系统输出曲线不变,一直如图5.22所示。因此,加大火炮惯量时,自抗扰控制器的调节参数范围有限,系统输出曲线有一定的超调,并存在微小的稳态误差。

图5.21 复合控制下ESO的输出

图5.22 大惯量下自抗扰控制器输出

对于大惯量下复合控制器的仿真,其结果如图5.23所示,可以看出复合控制下火炮跟踪轨迹无超调,而且稳态误差基本为零。因此,在加大火炮惯量的情况下,复合控制器的精度优于自抗扰控制器,但存在系统的过渡时间稍长的缺点,这也是以后要研究和改进的一个方面。

综上,通过系统仿真可以明显看出,在小惯量情况下复合控制优于滑模变结构控制;当加大火炮惯量时,复合控制相较于自抗扰控制具有一定的优势。因此,基于两者结合的复合控制方法能够提高坦克高低向炮控系统的瞄准精度和稳定精度,使系统具有强鲁棒性。

图5.23 大惯量下复合控制器输出