陈路伟
(91388部队94分队 湛江 524022)
目前水下航行器主要有螺旋桨和泵喷水推进两种推进方式[1]。对于喷水推进的水下航行器的操纵,仍多是以鳍舵构成的操纵面来进行。当航行器低速航行时,以鳍舵构成的操纵面控制效率会严重降低,甚至失效。并且其操纵机构反映时间较长,机动性不高[2~3]。对此本文针对采用喷水推进水下航行器的特点,提出了一种新的操纵方法—可动喷管式矢量推进操纵。采用模糊PID算法设计了水下航行器的模糊PID控制器,并以偏航角控制为例,进行了仿真研究。仿真结果表明采用模糊PID算法所设计的运动控制器,可以完成矢量喷水推进水下航行器的运动控制任务要求。
推力矢量技术又称推力转向技术,是指空间运动物体的推进系统除了提供前进推力外,还能同时或单独的在航行体的俯仰、偏航、横滚和反推力等方向上提供推进力和力矩,用以部分或全部取代舵面产生的动力来进行控制。即推进器推力矢量化[4~5]。
在本文中拟采用整体可偏转喷管式矢量推进技术。整体可偏转式喷管主要由以下四部分组成:可动喷管,密封环,固定底座以及伺服机构。图1为结构原理简图。
图1 可动喷管结构简图
固定底座安装在航行器尾部,与喷水推进装置相连接。密封环则将可动喷管与固定底座连接起来,它不但起到连接固定部分和可动部分以使喷管摆动,还起着密封的作用。该喷管结构原理相对简单,关键部件是作为密封环的浮液轴承。它是一个定容的人造皮囊,由加强的增强织物制成,皮囊内腔充满了密封液。它负责将可动喷管与固定底座连接起来,在伺服机构的带动下,它容许可动喷管偏离中心轴线一定角度,造成推力偏斜,产生侧向控制力,从而改变水下航行器的运动方向。
模糊PID控制器的整体结构如图2,模糊PID控制器以误差e和误差变化率ec作为输入,可以满足不同时刻的误差e和误差变化率ec对PID参数自整定的要求[6]。利用模糊控制规则在线对PID参数进行修改,在运行中通过不断检测误差e和误差变化率ec,根据模糊控制原理来对3个参数进行在线修改,以满足不同误差e和误差变化率ec对实时控制参数的不同要求,从而使被控对象有良好的动、静态性能[7]。
图2 模糊PID控制器控制原理图
模糊PID控制器的设计方法可总结如下。
1)输入量的确定及模糊化
控制系统通过测量反馈装置获得系统被控量的精确值,然后将其与给定值比较,得到系统的误差e,并计算误差变化率ec作为模糊控制器的输入[8]。
在本文中主要想通过对于系统输入误差e和误差变化率ec的模糊化处理,达到对于PID控制器的三个控制参数的实时在线整定的目的。因此,选择选择系统的误差及误差变化率作为模糊控制器的输入量,选择PID控制器的三个控制参数KP、Ki及Kd作为模糊控制器的输出控制量。而系统的误差、误差变化率及控制量这些都是精确量,为了进行模糊控制,必须把系统的误差、误差变化率等精确量进行模糊化,变成用模糊语言变量的语言值的模糊子集表示。同时,由模糊控制器经过推理得到的控制量为模糊量,必须转化为精确量。
2)建立模糊控制器的控制规则
模糊控制器的控制规则是模糊控制器的核心,是专家知识或现场操作人员经验的一种体现,也就是控制中所需要的策略。模糊控制规则可用多条模糊语句来描述[9]。
3)模糊推理
模糊推理有多种实现方法,在本文中采用查表法。查表法就是将模糊控制规则表中输入输出模糊语言值用模糊论域中一个元素代替,对于论域X、Y中的元素xi、yi,分别对它们进行模糊化,得到对应的模糊量E、EC,然后进行合成运算,得到一个控制量语言变量的模糊行向量,模糊判决后得到一个属于控制量语言变量论域的精确量uij。从而得到一个叫查询表的表格存储到控制系统内存中。在实时控制中,模糊控制器首先将采样得到的输入量(偏差、偏差变化)量化到输入量语言变量模糊论域中,再根据量化的结果元素去查表求出控制量的一个清晰值。据此可求出输入输出论域内的对应的所有清晰值[10]。
水下航行器模糊PID控制器设计的主要目的主要是对PID控制器的三个控制参数进行实时在线整定。主要针对比例系数KP、积分系数Ki、微分系数Kd进行模糊控制设计。
1)输入、输出语言变量值的选取及模糊化
采用两输入、三输出的模糊控制系统,以矢量喷水推进控制系统的当前误差e、误差变化率ec作为模糊控制器的输入,以PID控制器的3个控制参数KP、Ki、Kd作为输出量。
系统的当前误差e、误差变化率ec以及PID控制器的3个控制参数KP、Ki、Kd的变化范围定义为模糊集上的论域:
{-6,-5,-4,-3,-2,-1,0,11,2,3,4,5,6}
模糊子集定义为
{PL,PM,PS,O,NS,NM,NL}
隶属度函数采用三角函数形式。输入输出语言变量的隶属度函数如图3所示。
图3 输入输出语言变量的隶属度函数
对应输入语言变量的隶属度矢量表如表1。
表1 偏差e及偏差变化率ec的隶属度矢量表
2)模糊PID控制器模糊控制规则表的建立
由于缺乏实验基础,结合上面的表述,我们根据现有水下航行器的特点,得到了在水下航行器中,利用模糊控制整定PID参数的一些基本控制规律[11]:
(1)当 | e|较大时,为使系统具有较好的跟踪性能,应取较大KP的与较小的Kd,同时为避免系统响应出现较大的超调,应对积分作用加以限制,通常取Ki=0;
(2)当 | e|和 | ec|中等大小时,为使系统具有较小的超调,KP应取小一些,在这种情况下,Kd的取值对系统的影响较大,应取小一些,Ki的取值要适当;
(3)当 | e|较小时,为使系统具有较好的稳定性能,KP和Ki均应取大些,同时,为避免系统在设定值时出现震荡,并考虑到系统抗干扰的性能,当|ec|较大时,Kd可取小些,当 | ec|较小时,Kd可取较大些;依据上述规则建立的KP、Ki、Kd的模糊控制规则如表2、3、4所示。
表2 KP模糊控制规则表
表3 Kd模糊控制规则表
表4 Ki模糊规则表
3)建立模糊控查询表
根据输入变量偏差e及偏差变化率ec的隶属度矢量表以及的KP、Kd、Ki的模糊规则表建立KP、Kd、Ki的模糊控制查询表如表5、6、7。
表5 KP模糊控制查询表
4)PID参数的调整
最终得到的PID控制器参数计算公式如下:
其中(Kp0,Kd0,Ki0)为控制器参数的预设值。模糊控制器根据系统当前的误差e和误差变化率ec,将它们分别进行模糊化,通过查询模糊控制查询表得出修正参数代入上式计算,就完成了对PID参数的在线自校正。
表6 Kd模糊控制查询表
在完成了水下航行器的模糊PID控制器的设计后,利用Matlab对于模糊PID控制器的控制效果进行仿真计算,以检验控制器的控制效果。
以偏航角控制为例,由矢量推进水下航行器的空间运动模型可以得到偏航角传递函数为[12]
在这里,传递函数的计算数据仍采用参考文献所提供的参数数据。
取舵机传递函数为
取PID参数预设值为(1.854、10.66、0.464).
仿真框图如图4所示。
表7 Ki模糊控制查询
阶跃响应曲线如图5所示。
图4 偏航角模糊PID控制仿真框图
图5 偏航角跃响应曲线图
从上面响应曲线可以看出:偏航角的阶跃响应快速,平稳,超调小。说明模糊PID控制可以满足所设计的矢量喷水推进水下航行器的控制要求。
本文主要研究了矢量喷水推进系统的控制算法问题。针对水下航行器水下工作环境的复杂性以及传统PID控制算法参数整定不便等问题,结合矢量喷水推进装置控制系统的特点,采用模糊控制方法对PID参数实现实时在线整定。设计了矢量喷水推进装置的模糊PID控制器,通过对航向角的阶跃仿真来看,模糊PID控制器可以达到水下航行器的控制精度要求。