本发明属于舰船运动控制领域,具体涉及一种舰船用pid无模型自适应航向控制算法。
背景技术:
准确的控制舰船航向,才能使舰船安全有效的从而执行各种任务,如海图绘制,水文测量等。目前在工程应用中,舰船航向的控制,基本上采用的是pid控制算法,但舰船容易受到模型摄动,环境干扰力等影响,导致拥有一组固定参数的pid控制器难以维持一致的控制效果,需要重新调整参数才能使系统稳定。而基于“模型导向”设计策略开发的控制器,严重地依赖于系统数学模型,由于获得精确的数学模型十分困难,存在未建模动态、模型摄动等影响导致系统的自适应较差,难以保证系统鲁棒性能,从而很难在工程中获得应用。
在文献“headingmfacontrolforunmannedsurfacevehiclewithangularvelocityguidance”中作者提出一种串级控制方法通过角速度制导的方式间接控制无人艇的航向。但控制器结构复杂,控制器参数多参数整定困难。申请日2018年09月5日,申请号201811031878.6,发明名称“一种舰船用积分分离式pi型紧格式无模型控制方法”通过将比例控制与紧格式无模型自适应方法相结合实现对舰船航向控制的目的,但比例控制没有自适应性。申请日2018年02月02日,申请号201810106120.8,发明名称“一种重定义输出式无模型自适应航向控制方法及系统”,通过将系统输出重定义为舰船航向与角速度线性和的形式实现对舰船航向控制的目的。但实际中,舰船的角度度信息不易获取,且因外界干扰的存在导致角速度信息测量不准,因此该方法不易于工程实现。
技术实现要素:
本发明的目的在于提供一种舰船用pid无模型自适应航向控制算法,使舰船航向能够稳定收敛到期望航向。
一种舰船用pid无模型自适应航向控制算法,包括以下步骤:
步骤1、将自适应比例项以及自适应微分项引入无模型自适应控制(modelfreeadaptivecontrol,mfac),提出一种舰船用pid-mfac算法;
步骤2、根据舰船期望航向y*(k),与舰船当前航向y(k),计算航向偏差e(k)其中e(k)=y*(k)-y(k);
步骤3、比较e(k)的绝对值与e1的大小,当e(k)的绝对值|e(k)|小于设定的航向状态偏差的阈值e1,则认为舰船的实际航向收敛到期望航向并跳出循环,否则执行pid_mfac算法,pid-mfac算法解算出航向系统期望输入量u(k);
步骤4、操纵机构接收并执行航向系统输入指令u(k);
步骤5、令k=k+1,更新航向舰船当前航向y(k),并转到步骤2。
所述一种舰船用pid无模型自适应航向控制算法,步骤1中自适应比例项的形式为
所述一种舰船用pid无模型自适应航向控制算法,步骤2中pid_mfac算法为:
其中,η∈(0,1],ρ∈(0,1],α和β为步长因子,μ>0,λ>0为权重系数,δe(k)=e(k)-e(k-1),e(k)、e(k-1)分别为第k,第k-1个控制周期的航向偏差,u(k)为第k个控制周期改进pid_mfac算法输出,φ(k)为伪偏导数,
所述一种舰船用pid无模型自适应航向控制算法,步长因子β,α使得控制算法变成如下形式:
所述一种舰船用pid无模型自适应航向控制算法,步骤3中e1为较小的正常量,本发明中取e1=2。
本发明的有益效果在于:
本发明基于无模型自适应理论将自适应比例项以及自适应微分项引入无模型自适应控制(modelfreeadaptivecontrol,mfac),提出一种舰船用pid-mfac算法,解决了mfac算法直接应用到舰船航向控制中存在易发生严重超调、震荡现象甚至失稳的问题。自适应比例项的引入提高了控制器的响应速度,自适应微分项的引入使得控制算法对舰船航向系统的响应具有了预测的作用,提高了系统的动态响应性能。
附图说明
图1为本发明的航向系统整体框图;
图2为本发明的流程图。
具体实施方式
下面结合附图对本发明作进一步描述:
如附图1所示,为本发明的航向系统整体框图;首先给出期望航向y(k)*的命令,根据当前时刻舰船实际航向y(k)计算航向偏差e(k)作为pid-mfac算法的输入,pid-mfac算法解算出航向系统期望输入量u(k)。操纵机构执行期望输入指令u(k),从而改变舰船的实际航向,令k=k+1更新航向偏差e(k)并作为pid-mfac算法下一时刻的输入。循环上述过程,从而使得舰船的实际航向收敛到期望航向。
如附图2所示,为本发明的系统流程图。具体实现步骤如下:
步骤1、将自适应比例项以及自适应微分项引入无模型自适应控制(modelfreeadaptivecontrol,mfac),提出一种舰船用pid-mfac算法。自适应比例项的形式为
步骤2、根据舰船期望航向y*(k),与舰船当前航向y(k),计算航向偏差e(k)其中e(k)=y*(k)-y(k);
步骤3、比较e(k)的绝对值与e1的大小,当e(k)的绝对值|e(k)|小于设定的航向状态偏差的阈值e1,则认为舰船的实际航向收敛到期望航向并跳出循环,否则执行pid_mfac算法,pid-mfac算法解算出航向系统期望输入量u(k);
步骤4、操纵机构接收并执行航向系统输入指令u(k);
步骤5、令k=k+1,更新航向舰船当前航向y(k),并转到步骤2。
所述一种舰船用pid无模型自适应航向控制算法,步骤1中自适应比例项的形式为
所述一种舰船用pid无模型自适应航向控制算法,步骤2中pid_mfac算法为:
其中,η∈(0,1],ρ∈(0,1],α和β为步长因子,μ>0,λ>0为权重系数,δe(k)=e(k)-e(k-1),e(k)、e(k-1)分别为第k,第k-1个控制周期的航向偏差,u(k)为第k个控制周期改进pid_mfac算法输出,φ(k)为伪偏导数,
所述一种舰船用pid无模型自适应航向控制算法,步长因子β,α使得控制算法变成如下形式:
凡是以这种形式引入步长因子的方法都属于本专利的保护范围之内。
所述一种舰船用pid无模型自适应航向控制算法,步骤3中e1为较小的正常量,本发明中取e1=2。