舰船科学技术  2017, Vol. 39 Issue (1A): 25-27   PDF    
模拟退火算法在船舶航向PID控制器参数优化中的研究
傅寰宇     
西南大学, 重庆 400715
摘要: 基于PID控制器的航向参数控制是控制船舶按照既定航向运行的主要方法。传统的PID控制器虽然结构简单,但是航行参数调节精确度不高,在全局进行搜索,收敛性能较差,已经越来越不能适应现代船舶航行参数控制系统的要求。模拟退火算法是一种局部最优搜索方法,能够结合航向操纵航角最小的原则对航向参数进行最优控制。本文在研究了船舶航行参数控制结构的基础上,提出了基于模拟退火算法在船舶航向PID控制器参数的优化算法,最后进行仿真。
关键词: 模拟退火算法     搜索算法     参数优化    
Study of simulated annealing algorithm in parameter optimization of PID controller for ship course
FU Huan-yu     
Southwest University, Chongqing 400715, China
Abstract: Course parameter control based on PID controller is the main method to control the ship in accordance with the existing course. The traditional PID controller is simple in structure, but the accuracy of navigation parameter is not high and algorithm convergence performance is poor, has become increasingly unable to meet the requirements of modern ship navigation parameters control system. Simulation algorithm is an optimization of the local optimal search method, which can combine the principle of the minimum steering angle to control the heading parameters. In this paper, the optimal structure of ship navigation parameter control is studied, and a parameter optimization algorithm based on simulated annealing algorithm in PID controller is presented.
Key words: simulated annealing algorithm     search algorithm     parameter optimization    
0 引言

电子技术快速发展,船舶航向控制不再仅仅依靠机械方式,基于PID控制器的参数控制在船舶航行控制系统中起着越来越重要的作用,包括航向操纵航角参数控制、船舶减摇控制及航行轨迹控制等子系统。同时现代船舶对控制精度的要求越来越高,传统的PID控制器已经不能适应现代船舶动力控制系统性能的要求。

现代基于PID参数控制优化算法有神经网络算法、蚂群算法、遗传算法及模拟退火算法等,其中模拟退火算法是一种优化后的局部搜索算法,结合航向操纵航角最小原则确定了算法目标函数及初始化参数,能够与船舶航行的实际轨迹相结合[1],通过最少的迭代次数寻找最优解,其算法的精确度高、实时性能较好。

本文重点研究了基于模拟退火算法的船舶航向PID控制器参数过程,利用Matlab对算法进行了建模,并与传统的PID控制器参数优化及遗传算法进行了分析比较。

1 船舶航向动力模型 1.1 船舶动力方程

本文选择的坐标为动态坐标,以航行船舶重心为中心,3个坐标轴GxGyGz分别与水平面、航向剖面及剖面的正交垂直面方向一致,此坐标下航行船舶有6个运动参数,分别为直线运行参数与转向运动参数,如表 1所示[2]

表 1 六个自由度运动 Tab.1 Six degrees of freedom movement

对船舶航行中以动态坐标建立起动力方程,作出如下假设:

1)航行中不考虑海风、海浪等对船舶外力作用的影响,忽略Gz垂直作用力。

2)船舶的动态坐标满足惯性参考坐标条件。

GxGy在2个方向所受外力为XY,且船舶航向为VGxGy的分量为uv),则运动方程为:

$ \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)

本文只考虑船舶转向角度,令$r = \dot \phi $,则[3]

$ \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所示:

图 1 PID控制过程 Fig. 1 PID control process

系统理论输出为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)

其中,TITD分别为积分、微分过程的时间系数;KP偏差调节系数,且

$ K_I = K_p/T_I、K_D = K_pT_D。 $ (6)
2.2 模拟退火算法

模拟退火算法是利用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)

可以看出,固定环境温度TEi变小则pi变大,可以通过调节T改变系统的能量。

Ei等效为最终需要控制的船舶航向PID目标函数,通过对环境温度T的控制使系统达到最佳的平衡状态。

模拟退火算法满足Metropolos准则,包含如下3个条件:

1)状态为i、能量为Ei、系统可以通过一个随机扰动跳转至状态j、且能量为Ej

2)判断EjEi大小,若Ej < Ei,则退火过程正常,直接跳转至状态j

3)若EjEi,判断$p_j = \exp \left[ { - \frac{{E_j}}{{k \cdot T}}} \right]/Z$$p_i = \exp \left[ { - \frac{{E_i}}{{k \cdot T}}} \right]/Z$的比值:

$ 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,在船舶转向时通过步骤kk + 1,…使得tktk+1逐渐达到最终的航向状态,在每个步骤则利用Metropolos准则进行迭代,实现算法的最佳平衡。

模拟退化算法本质是一个参数优化问题,设状态θRN为一个长度为N的向量,其每个状态对应能量函数为fθ),最终目的是使得fθ)趋于设定的参考值,fθ)→min的θ*,则通过步骤kk + 1,…及Metropolos准则进行迭代可以实现。

3 算法仿真

算法时效性及精度是衡量船舶航向PID控制参数优化形同的两大性能指标,本文最后利用Matlab对模拟退火算法、传统的PID控制参数优化算法、神经网络算法及蚁群算法进行了仿真,并给出了算法耗时及精度指标,每种算法进行了100次仿真,取其均值,仿真结果如表 2所示。

表 2 仿真结果 Tab.2 Simulation result
4 结语

本文分析了船舶航向动力方程,在此基础上给出了基于模拟退火算法船舶航向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.