基于PID算法的船舶航迹自动控制
1 引言
当船舶在大海中航行时,通常利用自动舵系统改变舵角从而使船舶沿着期望的航迹自动航行[1]。自动舵系统是根据航迹偏差信息自动完成操纵舵机的装置,是在随动操舵基础上发展起来的一种自动控制操舵方式。它可以代替人工操舵,保持船舶在设定航向或预定航迹上航行,实现航向保持、航向改变以及航迹保持的功能。自动舵不仅可以减轻舵手的劳动强度,而且在远航时,在相同的航行条件下,可以减少偏航次数,减小航向偏差,从而提高航速,缩短航行时间,节省燃料,提高航行的经济效益[2,3]。
2 视线扫描导航系统设计
2.1 航迹控制方案设计
航迹控制分为直接航迹控制和间接航迹控制。直接航迹控制是依据航迹偏差直接改变舵角,从而使船舶的实际航迹能够跟踪期望航迹。间接航迹控制是通过航迹偏差计算期望的航向信息,再利用期望的航向与实际船舶航向的偏差改变舵角,从而实现航迹控制。
本文采用间接航迹控制方式,如图1所示,内环为船的舵角控制,用于操纵舵机使实际舵角与规划舵角一致,从而使船舶航向发生改变,中环为船的航向控制,是将GPS测量的当前船舶航向与航向规划器产生的期望航向相比较,航向误差送入航向PID控制器,从而产生期望的舵角变化值,外环为船舶的航迹控制,通过航迹跟踪算法计算可以消除航迹偏差的规划航向。
2.2 航迹跟踪方式
船舶在航行过程中受到风、浪及海流等因素的影响,出现航迹偏差问题。本文通过GPS系统获取的船舶实际位置信息对航迹偏差进行解算,以获取可消除航迹偏差的航向修正角度。图2所示为航迹跟踪方式原理图。人工驾驶时,船舶驾驶人员会在一定的视线区域实时观察船舶前方有无障碍物和是否偏离期望的航迹。因此在船舶航迹自动控制时,模拟人工驾驶设定视线扫描区域,当航迹偏差在一定范围时,视线扫描区域与预定航迹相交于航迹瞄准点P。当前船位与航迹瞄准点P形成的航迹瞄准方向即为经视线导航策略导出的规划航向角度。利用GPS系统反馈的船舶位置、航向信息以及设定的航迹信息可计算出当前的规划航向角度
从而解算出可消除航迹偏差的规划航向角度
。解算具体过程如下所示。
计划航迹向角度可通过计划航迹点坐标解算获得:
其中为从赤道到纬度
的纬线之间的距离,即
将A、B点的纬度坐标代入到式(3)计算出数值,再利用(2)式可解算出计划航迹向角度
由于航迹瞄准点P在计划航向AB上,所以用AP点、PB点计算出的航向角度与计划航向相同。
利用式(1)、(2)即可计算出航迹瞄准点P位置坐标。由此可利用式(1)得到当前船位点与瞄准点形成的规划航向角度值
。
经视线导引策略解算出的规划航向角将传递到航向控制系统中。通过对船舶的航向控制使船舶按规划航向角度方向行驶,从而使船舶相对于预定航线的偏差逐渐趋向零。该跟踪规律可以使船舶在逼近预定航线缩短航迹偏差的同时,使得船舶航向角度趋近于预定航线的航向角。
3 视线扫描导航系统控制设计
3.1 运动学方程
图3为建立的船舶运动坐标系,其中为大地坐标系,xoy为船体坐标系,船体在左右对称、前后对称时的水平面运动线性方程如下[6]:
—工作状态下,当船舶作
方向的加速运动
时所受到的
向水作用力;
—工作状态下,当船舶绕
轴的角加速运动
时所受到的
向水作用力;
—工作状态下,当船舶作
方向的匀速运动
时所受到的
向水作用力和绕
轴的水作用力矩;
—工作状态下,当船舶作绕
轴的匀角速运动时所受到的
向水作用力和绕
轴的水作用力矩;
—工作状态下,匀速操舵角
时所受到的
向水作用力和绕
轴的水作用力矩。
—绕
轴的转动惯量;
船体左右对称、前后接近对称式水平面运动关于艏向速度的单状态变量线性方程为
式(5)称为舵角—偏航方程,其中:
式(5)写成传递函数形式为
式(6)中称回转性指数或舵效系数。
上面得到的单变量方程是二阶方程。其中是船固有的运动响应时间常数,在良好稳定性条件下
为正实数,通常
是操舵时间常数,数值一般与
相似。在此基础上作进一步简化,把二阶方程化为近似等效的一阶方程。以
来代替
的总效应。于是可得传递函数
的一阶近似
由于,则可以得到船体艏向运动的传递函数及线性方程为
式(8)为的一阶方程,也称野本(Nomoto)模型。式中
就是舵效应系数;
是应舵时间常数。利用试航实验中获取的船体艏向角及舵角数据,通过最小二乘法对该模型参数进行辨识,获得参数值为
3.2 PID控制器设计
由于PID控制的航向舵具有结构简单、参数易于调整和固有的鲁棒性特点,使得这种控制方式得到广泛应用[7,8]。当存在由风浪、海流等因素的干扰时,航向偏差给操舵设备提供修正信号,此时航向控制方程为: (10)
式(10)中,比例环节可成比例的反应航向偏差信号,使得偏差一旦产生,控制器立即产生控制舵角信号,从而减少航向角度偏差。积分环节可消除稳态误差,提高系统的无差度。微分环节可调节航向角度变化速率,误差突变时能及时控制,并在航向偏差出现变大趋势时,在系统中引入有效的早期舵角修正信号,从而加快系统的动作速度,减少调节时间。利用模型辨识结果进行30°航向偏差的PID控制器设计,获得PID控制参数为
在航迹控制过程中只要偏差存在,积分环节就会连续积分,可能导致积分饱和,影响航迹控制性能。针对这一问题,根据船舶运动过程中实际航向偏差不同阶段,采用不同的积分策略。航向偏差反映了实际航向与规划航向角度间的差距。当航向偏差
减小时,系统正在向规划航向方向行驶,此时可取消航向PID控制器中的积分环节,利用船舶惯性作用向稳态逼近。当航向偏差
增大时说明系统正向远离规划航向方向运动,此时需要加入积分环节作用,抑制其远离趋势,使船舶向规划航向方向行驶。若航向偏差在某一范围内趋近恒定,此时系统存在稳态误差,需要加大积分环节作用,以消除误差,提高系统控制精度。航迹控制的流程图如图4所示。
- 形象解释PID算法+PID算法源代码(12-01)
- 51单片机实现PID算法(温度控制)(11-26)
- 关于单片机PID的算法实现(11-26)
- 51单片机PID算法程序(二)位置式PID控制算法(11-24)
- PID算法调节C51程序(3)(11-23)
- PID算法调节C51程序(2)(11-23)