基于遗传和小脑模型算法的新型航向控制器
2014-11-28陈进涛王仁强杜加宝
陈进涛, 王仁强, 杜加宝
(江苏海事职业技术学院, 南京 211170)
基于遗传和小脑模型算法的新型航向控制器
陈进涛, 王仁强, 杜加宝
(江苏海事职业技术学院, 南京 211170)
运用智能算法研发一种既能缩短航程又能降低能耗的新型船舶航向控制器。在分析船舶运动的非线性数学模型和普通PID控制算法的基础上,运用遗传算法优化整定常规的PID控制参数,以实现反馈控制并保证系统的稳定性;同时,运用小脑模型神经网络进行前馈非线性控制,以抑制源自船舶内外部的非线性扰动,最终确保系统的控制精度和响应速度。运用船舶操纵模拟器对新型航向控制器进行检验,结果表明其性能稳定,功能优越。
船舶工程; CMAC神经网络; 遗传算法; PID智能控制; 航向控制器
由于船舶在航行时会受到风、浪、流等外力的随机干扰,其运动具有非线性的特点,而普通的比例-微分-积分(PID-Proportional, Integral and Differential)航向控制属于人工线性控制[1],故动态性能、控制精度都很差,响应速度也很慢,航向控制不够理想。出现这种情况的原因是:人工设置的控制参数不能及时和准确地反映当时的实际情况,结果造成操舵设备不能很好地根据船舶的偏向幅度、速度和海况在恰当的时机给出恰当的舵角,进而导致船舶航迹弯曲,航程与航时增加,操舵纠正的次数较多,航行阻力与能耗、舵机的机械负荷增加。
那么,能否对普通自动舵加以改进,设计出一种既能保持船舶近乎直线航行又能减少操舵纠偏频次的改进型航向控制器呢?计算机技术和智能控制技术的发展为解决此类问题提供了可能。
把经过遗传算法(Genetic Algorithm,GA)优化了的PID控制[2]和小脑模型(Cerebellar Model Articulation Controller,CMAC)神经网络控制[3]有机地结合在一起,可以设计出一种具有缩短航程与航时、降低阻力与能耗、保护舵机等三大功能的新型船舶航向控制器。其总体设计过程为:把普通的PID人工控制升级为智能化PID控制,即运用遗传算法在线自动优化整定PID参数(抛弃人工离线式繁琐的控制参数调节),准确抑制动态线性干扰,从而实现反馈控制和系统的稳定;运用CMAC神经网络进行前馈非线性控制、抑制源自船舶内外部的非线性干扰、控制复杂的动态不确定系统,以确保系统的控制精度和响应速度。
1 船舶运动非线性数学模型分析
(1)
(2)
式(2)中:ψ为船舶航向;α,β为非线性系数。在此基础上,考虑外界干扰的船舶二阶非线性运动响应模型为
(3)
式(3)中:T为追随性指数;K为旋回性指数;δ为舵角;δD为外界干扰折合舵角。
2 普通PID控制算法的缺陷分析
普通PID控制是将偏航信号送至电子线路处理后反馈到舵机控制装置,从而实现自动操舵。该控制算法的数学表达式为
(4)
式(4)中:偏差e=rin-yout(e为航向偏差,rin为定向航行所设置的标准航向,yout为系统实际输出的航向);u为控制操舵信号;Kp为比例增益;Ki为积分增益;Kd为微分增益。
比例增益Kp使控制器的输入、输出成比例关系,一旦系统出现偏差会立即产生控制作用,属于有差调节。为尽量减小偏差、加快响应速度、缩短调节时间,必须增大Kp,但其又受系统稳定性的限制,不能增大过多。
积分增益Ki是为消除船舶左右不对称造成的静态误差而引入的,不过其会使系统响应速度下降、响应出现过大的超调、调节时间变长。
引入微分增益Kd使系统能够根据偏差变化的快慢趋势做出反应,从而加快对偏差变化的反应速度,有效地减小超调,缩小最大动态偏差,但容易使系统受到高频干扰的影响。
因此,只有合理地整定上述三参数,才能获得比较符合实际情况的参数值,从而获得较为理想的控制效果。然而,目前普遍的做法是:船员凭经验估测参数的大小,进行手动调节(输入)。由于人工设置的参数值不一定符合实际情况,因此自动操舵过程中往往会出现船舶航迹弯曲、航程与往时增加、操舵频次多、舵机负荷大、航行阻力与能耗增加等问题。
3 基于GA优化的航向PID控制算法研究
针对上述问题,可以运用GA对控制参数进行在线自动优化整定、获取最佳数值配比,创建新型的船舶航向PID控制算法(简称“PID优化算法”)[5],这既能提高效率又能增强系统的控制精度。
3.1遗传算法独特功能分析
GA是由生物界的“适者生存,优胜劣汰”的进化机制演化而来的一种随机搜索算法。其优势为:
1) 可直接对被控对象(船舶)进行操作。
2) 具有内在的隐并行性,便于分布式计算而不会陷入局部最优解的快速下降陷阱,因此能迅速搜索出空间中的全体解,加快求解速度。
3) 采用了概率化寻优方法,能自动获取和优化搜索空间、自适应地调整搜索方向,不再需要确定的规则,具有更强的全局搜索寻优能力。
3.2遗传算法的运行过程分析(见图1)
图1 遗传算法的运行过程图
3.2.1编码
由于依靠遗传算法不能直接处理解空间的解数据,故必须通过编码将其表示成遗传空间的基因型结构数据,也即对实际问题中需要优化的规则和参数进行编码。这些规则和参数大都编成固定长度的二进制形式,这种二进制串叫做染色体。
3.2.2生成初始种群
由于遗传算法需要进行群体性操作,因此必须为其准备若干个初始解,使其组成一个初始群体,即后续进化的第一代。由于初始群体中的个体都是随机生成的,因而具有普遍的适应度。[6]
3.2.3构建适应度函数
适应度函数是遗传算法与优化问题的接口、系统性能的评价环节。各个个体经过翻译处理后分解为所代表的参数,代入所要优化的适应度函数,从而求出系统性能指标的高低。
系统性能指标是对系统性能的定量描述,其高低应由当时的船舶状况、海域风浪条件等来确定。
在船舶航向控制中,航向偏差越大则航迹越弯曲,航程与航时越长;而频繁地操舵纠偏虽然可以减小航向偏差,但会增加操舵引起的航行阻力,进而增加能耗,加重舵机负担,造成舵机磨损。因此,为达到既节能省时又保护舵机的目标,要求系统在控制航向偏差和操舵纠偏上找到最佳的结合点,即既要做到航向偏差不是太大,又要做到输出舵角大小合适、操舵次数不会太多。为此,需创建一个操舵经济性最佳的系统性能指标函数(适应度函数)。
(5)
式(5)中:e为航向偏差,emin≤e≤emax;λ1为航向偏差加权系数,随海况变差而变大;δ为舵角,-35°≤δ≤35°;λ2为舵角加权系数,海况恶劣、排水量大、舵叶露出水面时取大值,反之取小值;f为操舵频次;λ3为操舵频次加权系数,海况恶劣、排水量大时取小值,反之取大值;T为迭代次数;J为代价函数(性能指标),值越小意味着操舵的综合经济性越好。
3.2.4复制(选优)
复制操作的目的是从当前的群体中选出优良的个体,使其有机会作为父代。判断个体优良与否的准则是各自的适应值。显然这一操作遵循“适者生存,不适者淘汰”的原则,即个体的适应度越高,其被选中的概率就越大。具体做法是:把每个适应值乘以一个随机数,然后从中选出两个乘积值最大的染色体作为父本,用于繁衍后代个体。
3.2.5交叉
交叉在含有等待配对的基因群的匹配池中分两步实现:
(1) 将新复制产生的基因随机两两配对;
(2) 随机选择交叉点,对匹配的基因进行交叉繁殖,产生一对新的基因。
具体过程为:设基因的字符长度为l,在[1,l-1]内随机选择一个整数值k作为交叉点,将2个配对基因与位置k后的所有字符交换,从而生成2个新的位串(多点交叉同理)。交叉操作能得到新一代个体,故是遗传算法中最主要的遗传操作。
3.2.6变异
为避免在复制和交叉过程中遗漏重要的信息,在人工遗传系统中加入变异操作。为挖掘群体中个体的多样性、克服可能陷入局部最优解的弊病,需变异操作与交叉、复制操作默契配合。标准GA中的变异操作是在群体中随机选择一个个体,对于选中的个体以一定的概率随机地改变字符串中某个字符的值。变异操作是按位进行的,即对某一位的内容进行变异。对于二进制编码的个体,若某位原为0,则通过变异操作后就变成了1,反之亦然。
通过复制、交叉、变异生成新一代群体,计算新个体的适应值,评价个体的优劣……如此迭代下去,各群体的优良基因逐渐被积累,群体的平均适应度值和最优个体不断上升,直到收敛于最优解。
总之,基于GA优化的航向PID控制算法能随时感知船舶的运动特性和海况的变化,自动、及时调整各系数,实现航向的最佳控制,达到减少操舵次数、减小舵角的目的,弥补常规PID算法的不足。
4 CMAC神经网络算法剖析
CMAC神经网络[6]是一种表达复杂非线性函数的表格查询型自适应神经网络,具有收敛速度快、泛化能力强等特点,现已成功应用于机器人控制、非线性控制等领域。
4.1CMAC神经网络结构剖析
CMAC神经网络(见图2)本质上是一种用来映射复杂非线性函数的查表技术,可通过学习算法改变表格的内容,具有对信息进行分类存储的能力。其把系统的输入状态作为一个指针,把相关信息分布式地存到一组存储单元。具体作法是:将输入空间分成许多分块,每个分块指定一个实际存储器位置;将每个分块学习到的信息分布式地存储到相邻分块的位置的映射上,即多个分块映射到同一个存储器地址上。
图2 CMAC神经网络结构图
4.2CMAC神经网络算法独特功能剖析
与一般性神经网络相比,CMAC算法的独特功能有:
1) 基于局部学习的神经网络,把信息存储到局部结构上,使得每次修正的权值很少,在保证函数非线性逼近的前提下,学习速度快,适于实时控制。
2) 具有一定的泛化能力,即相近输入产生行进输出,不同输入给出不同输出。
3) 具有连续的(模拟)输入与输出能力。
4) 采用寻址编程方式,利用串行计算机仿真,因而响应速度更快。
因此,CMAC算法比普通神经网络更适合于复杂环境下的非线性实时控制、任意多维非线性映射、动态建模、控制系统设计等。CMAC有多种控制形式(如直接逆运动控制、反馈控制、前馈控制等),为更好地与PID优化算法进行融合,采用CMAC前馈控制。
5 基于PID优化算法和CMAC算法的航向控制器的设计
5.1PID优化与CMAC混合控制系统的创建
混合控制系统通过将PID优化控制器与CMAC器进行有机融合[7-9],实现前反馈控制:CMAC器进行前馈控制,从而创建被控对象的逆动态模型;PID优化器进行反馈控制,以评判下一级CMAC器的性能,从而保证系统的稳定性并抑制扰动。
PID优化器单独控制时,Kp增益的值在很大程度上决定着控制效果,而采用PID优化器和CMAC器混合控制时,控制效果不再依赖Kp值,其只需在一个合理的范围内即可。
CMAC采用导师型学习算法,当每个控制周期结束时,CMAC函数计算器算出相应的输出值un(k),然后将其与总控制输入值u(k)相比较,修正权重、进入学习过程,学习的目的是使u(k)与un(k)之差达到最小。混合系统的控制算法[9]为
(6)
u(k)=un(k)+up(k)
(7)
式(6)和式(7)中:ai为二进制选择向量;c为CMAC网络的泛化参数;up(k)为PID优化器的输出值。
CMAC的调整指标为
(8)
式(8)中:η为网络学习速率,η∈(0,1);α为惯性量,α∈(0,1)。
当系统开始运行时,w=0,un=0,up=0,系统由PID优化器进行控制。通过对CMAC进行学习,可使PID产生的输出量up(k)逐渐为0,CMAC产生的输出量un(k)逐渐逼近控制器的总输出量。
5.2基于PID优化算法和CMAC算法的航向控制器结构与原理设计
遗传算法器根据输入信号rin与输出信号yout对比检测器(图3左“○”)送来的偏航信息,实时运算船舶的偏航量、偏转角(加)速度、左右对称性,实时发出符合船舶瞬间偏航运动特性的用于纠偏的PID线性参数;PID优化器根据这些参数,求出操舵时机、次数和舵角大小,向伺服舵机(图3右“○”)发出操舵指令信号,即运用遗传算法在线自动优化PID的线性参数,从而实现反馈控制和保证系统的稳定性。以上述PID优化算法为基础,CMAC器(包含CMAC量化器、地址器、学习算法器、记忆器与函数计算器) 在对rin实施量化并送入地址器映射后,感知船舶内外部的随机杂乱的非线性干扰(船速与载重变化、风、流、浪),产生附加的操舵指令信号送给伺服舵机,进行前馈非线性控制、抑制非线性干扰,从而确保系统的控制精度和响应速度。
图3 基于PID优化和CMAC的航向控制器结构原理
6 新型航向控制器仿真试验效果分析
以某教学实习船为试验对象,将其船舶数据输入具有高度仿真性能的船舶操纵模拟器中进行研究:该船二阶非线性Nomoto模型相关参数[10]为K=0.24,T=206.79,α=1,β=30。
6.1常规与新型航向控制器对比试验
利用遗传算法在线自动寻优,求取该船的PID优化控制参数,所得参数为Kp=7.5,Kd=0.001,Ki=83.5;应用MATLAB/Simulink技术搭建仿真比较平台,比较 “基于遗传算法和CMAC算法的新控制器” 与 “仅基于PID常规算法的控制器”的性能,预设期望航向值030°,设定外界干扰等效舵角δD=0.01+0.01sin(πt),试验结果见图4和图5。
图4 存在干扰航向设定为030°时航向输出
由图4可知:“新控制器”具有较快的响应速度和较好的跟踪能力,航向稳定,无左右摇摆。“常规控制器”虽然也可跟踪航向,但具有一定的超调量,航向左右摇摆,对干扰敏感,控制性能较差。
图5 存在干扰航向设定为030°时舵角输出
由图5可知:“新型航向控制器”的舵角输出光滑平稳,摆动微弱;“常规航向控制器”的舵角抖振比较严重,舵机频繁工作,机械负荷加重。
6.2新型航向控制器专项试验
6.2.1航向改变试验
进行方波跟踪实验,方波周期为100 s,航向幅度为30°,试验结果见图6。
(a)航向(b)舵角
图6 航向连续变化时航向角和舵角输出曲线
从图6中可以看出,在期望航向变化的情况下,新控制器能较好地根据船舶特性和海况在合适的时机操舵、回舵、反舵,并输出合适的舵角;能以较快的速度进行无超调的跟踪。
6.2.2船舶操纵性指数摄动和白噪声干扰共同试验
拟定初始航向000°,期望航向030°,拟定船舶
操纵性指数K与T各摄动40%,对航向施加幅值为0.1°的白噪声干扰,试验结果见图7。
(a)航向(b)舵角
图7 白噪声干扰和模型参数摄动时航向角和舵角输出
从图7中可以看出,当船舶模型参数发生摄动,且受到外界干扰时,新控制器所输出的航向围绕期望航向的波动较小,控制舵角的振荡幅度更小,说明新控制器的抗干扰能力较强。
6.3新型航向控制器的系统性能综合分析
基于上述典型试验的结论,以常规控制器为参照,综合分析新控制器的系统性能。
当船型、载况、排水量变化引起船舶操纵性发生变化时,在外界随机干扰的作用下,新控制器能够敏锐感测这些变化不定、无章可循的非线性动态干扰,进而快速响应、及时给出应对干扰的控制参数和指令,以采取较为符合实际情况的控制动作。输出的航向能较快地趋于预期值;达到预期值后,虽然也有波动,但左右摆动的幅度小(航向稳态误差较小),超调量处于可接受的范围,从而保证航向的快速、准确跟踪,降低航迹的弯度,节省航行时间。
新控制器输出的舵角抖振微弱、摆动幅度较小,且自动调节平缓,符合舵机特性要求。所需操舵的频次较少,无需舵机频繁工作,从而避免舵阻力的频繁增加,降低能耗,减少舵机磨损。
总之,新型航向控制器具有较强的抗干扰能力,控制效果良好,性能稳定可靠,具有较强的鲁棒性。
7 结 语
从Nomoto船舶运动数学模型的角度出发,针对船舶参数和外界干扰动态变化的特点,采用优于普通自动舵的设计技术研发出一种新型航向控制器。该航向控制器运用遗传算法对来自船舶内外部环境的动态性干扰进行高效抑制,确保了系统的稳定性;运用小脑模型神经网络进行前馈控制,确保了系统的控制精度和响应速度。仿真检验结果表明:运用新型控制器能缩短航程、节省航时、降低能耗、保护舵机,对促进航运的安全、经济、绿色具有重要的现实意义。
[1] 刘金琨. 智能控制[M]. 2版.北京:电子工业出版社, 2009: 30-32.
[2] 刘金琨. 先进PID控制及其MATLAB仿真[M]. 2版.北京:电子工业出版社, 2004: 44-46.
[3] 朱家群, 邹凌, 孙玉强. CMAC神经网络与PID复合控制的应用研究[J]. 控制系统, 2006(13):59-61.
[4] 贾欣乐, 杨盐生. 船舶运动数学模型[M]. 大连: 大连海事大学出版社, 1999:52-55.
[5] 戴雅丽. 基于遗传算法优化模糊控制器的船舶航向控制[J]. 船海工程, 2009, 38(3):113-115.
[6] 宋轶群, 杜华生, 王传新. 基于CMAC神经网络与PID的并行控制器设计与应用[J]. 自动化与仪表, 2005(3):37-39.
[7] 张伟, 朱大奇,孔敏,等. 基于改进的CMAC神经网络与PID并行控制的研究[J]. 计算机测量与控制, 2005, 13(12):1 359-1 360.
[8] 张林根, 赵桥生, 何春荣,等. CMAC神经网络在潜艇操纵控制中的仿真应用[J]. 船舶力学, 2009, 13(2):226-233.
[9] 金鸿章, 于波. CMAC与PID的复合控制在减摇鳍中的应用[J]. 舰船科学技术, 2009, 31(1):53-55.
[10] 张显库, 贾欣乐. 船舶运动控制[M]. 北京:国防工业出版社, 2006:60-64.
DesignofNewShipCourseControllerBasedonGeneticandCerebellarModelAlgorithm
CHENJintao,WANGRenqiang,DUJiabao
(Jiangsu Maritime Institute, Nanjing 211170, China)
In order to design a ship course controller good for reducing both sailing milage and power consumption, the nonnonlinear mathematical model of ship motion and the current ship course PID control algorithms are analyzed thoroughly; The PID parameters are optimized online with genetic algorithms(GA) to achieve superior feedback control and ensure system stability. Besides, CMAC neural network feed-forward nonlinear control is used to suppress internal and external disturbances for achieving control accuracy and response speed. The new ship course controller is verified on ship-maneuvering simulator. Simulation result proves that new ship course controller has superior performance and robustness.
ship engineering; CMAC neural network; genetic algorithm; PID intelligent control; course controller
2014-04-03
江苏省教育科学“十二五”规划重点课题(B-a/2011/03/008);江苏省高校大学生实践探究训练计划课题(2012JSSPITP3772)
陈进涛(1964—),男,江苏南通人,副教授, 硕士,主要从事船舶操纵与航海科技研究。E-mail:njcjt@163.com
1000-4653(2014)03-0010-05
U664.82
A