电子技术快速发展,船舶航向控制不再仅仅依靠机械方式,基于PID控制器的参数控制在船舶航行控制系统中起着越来越重要的作用,包括航向操纵航角参数控制、船舶减摇控制及航行轨迹控制等子系统。同时现代船舶对控制精度的要求越来越高,传统的PID控制器已经不能适应现代船舶动力控制系统性能的要求。
现代基于PID参数控制优化算法有神经网络算法、蚂群算法、遗传算法及模拟退火算法等,其中模拟退火算法是一种优化后的局部搜索算法,结合航向操纵航角最小原则确定了算法目标函数及初始化参数,能够与船舶航行的实际轨迹相结合[1],通过最少的迭代次数寻找最优解,其算法的精确度高、实时性能较好。
本文重点研究了基于模拟退火算法的船舶航向PID控制器参数过程,利用Matlab对算法进行了建模,并与传统的PID控制器参数优化及遗传算法进行了分析比较。
1 船舶航向动力模型 1.1 船舶动力方程本文选择的坐标为动态坐标,以航行船舶重心为中心,3个坐标轴Gx、Gy、Gz分别与水平面、航向剖面及剖面的正交垂直面方向一致,此坐标下航行船舶有6个运动参数,分别为直线运行参数与转向运动参数,如表 1所示[2]。
对船舶航行中以动态坐标建立起动力方程,作出如下假设:
1)航行中不考虑海风、海浪等对船舶外力作用的影响,忽略Gz垂直作用力。
2)船舶的动态坐标满足惯性参考坐标条件。
若Gx、Gy在2个方向所受外力为X、Y,且船舶航向为V(Gx、Gy的分量为u、v),则运动方程为:
$ \left\{ {\begin{array}{*{20}{c}} {[X - m(\dot u - v\dot \phi )\cos \phi ] - [Y - m(\dot v + u\dot \phi )]\sin \phi = 0},\\ {[X - m(\dot u - v\dot \phi )\sin \phi ] + [Y - m(\dot v + u\dot \phi )]\cos \phi = 0}。 \end{array}} \right. $ | (1) |
本文只考虑船舶转向角度,令
$ \left\{ {\begin{array}{*{20}{c}} {m(\dot u - vr) = X},\\ {m(\dot v + ur) = Y},\\ {I_{zz}\dot r = N}。 \end{array}} \right. $ | (2) |
其中:m为船舶重量;Izz为船舶在转向时所受到的垂直转动力;N为船舶在转向时以重心为中心受到的旋转力矩。
2 基于模拟退火算法的PID参数控制 2.1 PID参数控制过程PID控制器是一种负反馈自适应参数调节过程,分为3个过程[4]:
1)偏差调节
对PID控制系统出现的偏差利用Kp进行调节,使偏差逐渐收敛。
2)积分过程
积分过程对PID控制系统的稳定性进行控制,实现对目标值过程中的扰动最小。
3)微分过程
微分过程对PID控制系统的时效性进行控制,提高参数调优速度。
其PID控制过程如图 1所示:
系统理论输出为r,实际输出为y,两者之差表示系统偏差:
$ e(t) = r(t) - y(t) $ | (3) |
对偏差值分别进行偏差调节、积分过程及微分过程,其最终输出为:
$ u(t) = {K_P}\left[ {e(t) + \frac{1}{{{T_I}}}\int_0^t {e(t){\rm d}t + {T_D}\frac{{{{\rm d}}e(t)}}{{{{\rm d}}t}}} } \right], $ | (4) |
进一步计算得到:
$ u(t) = {K_P}e(t) + {K_I}\int_0^t {e(t){\rm d}t + {K_D}\frac{{{\rm{d}}e(t)}}{{{\rm{d}}t}}} , $ | (5) |
其中,TI和TD分别为积分、微分过程的时间系数;KP偏差调节系数,且
$ K_I = K_p/T_I、K_D = K_pT_D。 $ | (6) |
模拟退火算法是利用Metropolos准则[5]对退火降温过程进行模拟,对参数进行控制实现最优的冷却过程,在给定时间内计算出局部最优解。
退火冷却过程是将加热后的液体通过参数控制进行冷却,最终形成理想的规则固体。在冷却过程中,参数控制目的是使液体保持稳定状态,若出现温度急降等状态,则最终不能形成均匀的固定。
在此设固定系统在状态点i的能量为Ei,整个系统处于i状态的概率为pi,其满足正态分布,表达式如下:
$ p_i = \exp \left[ { - \frac{{E_i}}{{k \cdot T}}} \right]/Z, $ | (7) |
其中,T为系统环境温度;k为调节系数;Z为调节表达式
$ Z = \sum\limits_i {\exp \left[ { - \frac{{E_i}}{{k \cdot T}}} \right]} 。 $ | (8) |
可以看出,固定环境温度T,Ei变小则pi变大,可以通过调节T改变系统的能量。
Ei等效为最终需要控制的船舶航向PID目标函数,通过对环境温度T的控制使系统达到最佳的平衡状态。
模拟退火算法满足Metropolos准则,包含如下3个条件:
1)状态为i、能量为Ei、系统可以通过一个随机扰动跳转至状态j、且能量为Ej。
2)判断Ej与Ei大小,若Ej < Ei,则退火过程正常,直接跳转至状态j。
3)若Ej≥Ei,判断
$ r = \frac{{p_j}}{{p_i}} = \frac{{\exp \left[ { - \frac{{E_j}}{{k \cdot T}}} \right]}}{{\exp \left[ { - \frac{{E_i}}{{k \cdot T}}} \right]}} = \exp \left[ { - \frac{{E_j - E_i}}{{k \cdot T}}} \right]。 $ | (9) |
比较r的大小,若大于阀值则此退火过程正常,直接跳转至状态j,否则保持当前状态。
退火算法设置系统的控制参数为t,在船舶转向时通过步骤k,k + 1,…使得tk,tk+1逐渐达到最终的航向状态,在每个步骤则利用Metropolos准则进行迭代,实现算法的最佳平衡。
模拟退化算法本质是一个参数优化问题,设状态θ∈RN为一个长度为N的向量,其每个状态对应能量函数为f(θ),最终目的是使得f(θ)趋于设定的参考值,f(θ)→min的θ*,则通过步骤k,k + 1,…及Metropolos准则进行迭代可以实现。
3 算法仿真算法时效性及精度是衡量船舶航向PID控制参数优化形同的两大性能指标,本文最后利用Matlab对模拟退火算法、传统的PID控制参数优化算法、神经网络算法及蚁群算法进行了仿真,并给出了算法耗时及精度指标,每种算法进行了100次仿真,取其均值,仿真结果如表 2所示。
本文分析了船舶航向动力方程,在此基础上给出了基于模拟退火算法船舶航向PID控制器参数优化过程,最后进行了仿真并与其它算法进行了对比。
[1] | 王伟, 张晶涛, 柴天佑. PID参数先进整定方法综述[J]. 自动化学报, 2000, 26 (3): 347–355. |
[2] | 霍海波, 吴燕翔, 刘雨青, 等. 基于改进模拟退火算法的二自由度PID控制器设计[J]. 科学技术与工程, 2009, 9 (23): 1741–1745. |
[3] | DORIGO M, MANIEZZO V, COLORNI A. Ant system:optimization by a colony of cooperating agents[J]. IEEE Transaction on Systems, Man and Cybernetics-Part B, 1996, 26 (1): 1–26. |
[4] | KIM, K. H, KIM, D. Y. Group storage methods at container port terminals. MH-2. The Materials Handling Engineering Division, 75th Anniversary Commemorative Volume, 1994:15-20. |
[5] | KENNEDY J., EBERHART RC. Particle swarm optimization Proceedings of the IEEE International Conference on Neural Networks, 1995, 1942-1948. |