本发明涉及一种主动减小水下机器人在近水面工作时横摇运动的方法,尤其涉及一种水下机器人在近水面受海浪干扰时使用水平舵进行主动减摇的模糊pid控制方法。
背景技术:
水下机器人在近水面航行并执行任务的过程中,由于受到海浪的干扰,会不可避免的产生摇荡运动,其中横摇运动是最为剧烈的运动之一。减小水下机器人在近水面时的横摇运动,不但可以保证其安全性,而且能更好的完成水下作业任务。
将水下机器人的四个水平舵做为控制横摇运动的装置,不但没有增加额外的安装成本,而且还可以获得较好的减摇效果。
技术实现要素:
本发明的目的是为了提供一种水下机器人在近水面受海浪干扰时使用水平舵进行主动减摇的模糊pid控制方法,一种改善在对水下机器人在近水面不同深度时,基于自带的水平舵,实现自主减摇的模糊pid控制方法。
本发明的目的是这样实现的:步骤如下:
步骤一:建立随机海浪模型;
步骤二:根据建立的海浪模型得到水下机器人的水动力系数;根据简化后的水下机器人的六自由度方程建立水下机器人的横摇运动模型,并得到水下机器人的横摇运动相应的横摇角;
步骤三:利用得到的水下机器人的横摇角度,并根据水下机器人在近水面的不同深度的横摇特点,建立相应的模糊规则,优化pid控制器的三个参数,得到水平舵的控制输出横摇角度改变量;
步骤四:建立水下机器人的水平舵的升力模型,利用横摇角改变量得到水平舵为水下机器人提供的升力,反馈作用在水平舵的随动系统上;
步骤五:在matlab的simulink中搭建仿真模型,对水下机器人在近水面不同深度下进行仿真,验证减摇效果。
本发明还包括这样一些结构特征:
1.步骤一中的随机海浪模型具体是:
基于ittc提供的双参数海浪建立水面上随机海浪模型sζ(ω)为:
式中:
水下的波幅ζ(t)的大小随着水深的增加是呈指数函数规律下降的,满足:
式中:z为水深,ζai为波幅,ζai为第i次谐波的波幅,ωi为第i次谐波的角频率,εi为第i次谐波的初相位,δ为2π/λ,其中λ表示波长。
2.步骤三具体为:
将系统的偏差量e和偏差量的导数ec作为模糊控制器的输入变量,误差信号e和误差变化率ec的实际论域为[-0.2,0.2],[-0.4,0.4];输出量δkp,δki,δkd的论域均为[-3,3];为实施模糊控制需要将实际论域转化为以自然语言形式表示出的语言变量值,采用三角形函数这一隶属函数将论域内的实数归类于特定的语言变量值当中,语言变量值的取值取{nb,nm,ns,zo,ps,pm,pb}七个,{nb,nm,ns,zo,ps,pm,pb}分别表示负大、负中、负小、零、正大、正中、正小;在模糊控制中,它们是用来表示隶属度关系;利用模糊控制规则,通过模糊推理得到输出变量的语言变量值,采用centroid做为清晰化决策,最后得到通过模糊控制得到的pid控制器的三个参数。
3.步骤四中的水平舵升力模型具体是:
式中:j——零航速水平舵的附加转动惯量;α——弦长的一半;b——水平舵的厚度;c——水平舵轴至弦长的中点的距离;d——附加质量力作用在水平舵上的点到水平舵轴的距离;e——展长;k——比例系数;
当水平舵与水平方向夹角为α(t)时,在竖直方向上产生的升力的大小可以表示为:
lzero(t)=f(t)cosα(t)。
4.步骤五中的仿真模型满足:在遭遇角为45°,下潜深度为0.5m、1.5m、2.5m,有义波高为1m的海况下进行仿真的结果,仿真时间为300s。
与现有技术相比,本发明的有益效果是:本发明通过选择合适的坐标系,根据简化后的水下机器人的六自由度方程,建立水下机器人的横摇运动模型,根据不同海浪干扰,基于水下机器人的自带水平舵,建立水平舵的升力模型,给出波浪对机器人的干扰力矩的计算方法。然后通过测量元件检测在摆波浪干扰下的水平舵的横摇角度,建立相应的模糊规则,优化pid控制器的三个参数,从而产生减小水下机器人的横摇力矩,达到减摇的目的。本发明采用的模糊pid控制算法,该控制算法既可以发挥模糊控制的灵活性和适应性的优势,而且还具有pid控制的高精度的特点,非常适合水下波浪干扰的复杂性和多变性。主要针对采用水下机器人的自带的四个水平舵进行减摇不但没有增加额外的安装成本,还可以获得更好地减摇效果。为水下机器人在水下航行并执行任务的过程增加了很大的安全性。
附图说明
图1是本发明的水下机器人模型;
图2是本发明的冲激响应数据拟合曲线;
图3是本发明的水下机器人横摇控制系统总模型框图;
图4是本发明的控制方法流程图;
图5(a)-图5(f)均是本发明的仿真结果图,其中:图5(a)是1.045°0.5m未减摇曲线;图5(b)是1.045°0.5m模糊pid减摇曲线;图5(c)是1.045°1.5m未减摇曲线;图5(d)是1.045°1.5m模糊pid减摇曲线;图5(e)是1.045°2.5m未减摇曲线;图5(f)是1.045°2.5mpid减摇曲线;
图6是未减摇与减摇后效果比较效果表。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述。
结合图1至图5(f),本发明的步骤如下:
步骤一:根据已有文献中给出的长峰波随机海浪的仿真理论基础,建立随机海浪模型。
步骤二:利用随即海浪模型,通过查阅相关文献得到水下机器人的水动力系数。根据简化后的水下机器人的六自由度方程建立水下机器人的横摇运动模型。得到水下机器人的横摇运动相应的横摇角。
步骤三:利用上述得到的水下机器人的横摇角度,根据水下机器人在不同深度的横摇特点,建立相应的模糊规则,优化pid控制器的三个参数,得到水平舵的控制输出横摇角度改变量。
步骤四:建立水下机器人的水平舵的升力模型,利用横摇角的改变量得到水平舵为水下机器人提供的升力,反馈作用在水平舵的随动系统上。
步骤五:在matlab的simulink中搭建仿真模型,对水下机器人在近水面不同深度下进行仿真,验证减摇效果。
步骤一所述随即海浪模型具体为:
模型的建立基于ittc提供的双参数海浪谱,如下所示:
式中的
以上的波浪方程描述的是在水面上的情况,通过上面的波浪方程,由流体力学的理论可知波幅的大小随着水深的增加是呈指数函数规律下降的,如下式所示:
式中z表示水深,λ表示波长,ζai为第i次谐波的波幅,ωi为第i次谐波的角频率,εi为第i次谐波的初相位,δ为2π/λ,其中λ表示波长。
步骤二所述的水平舵上的横摇运动模型具体为:
(1)查阅相关文献资料,得到水下机器人的水动力系数;
(2)根据简化后的水下机器人六自由度方程,使用matlab平台的cftool工具箱进行函数拟合,得到降阶后的横摇运动模型的传递函数
步骤三所述的模糊pid的模糊规则设计具体为:
本模糊控制系统中将系统的偏差量e和偏差量的导数ec作为模糊控制器的输入变量,误差信号e和误差变化率ec的实际论域为[-0.2,0.2],[-0.4,0.4]。输出量δkp,δki,δkd的论域均为[-3,3]。为实施模糊控制需要将实际论域转化为以自然语言形式表示出的语言变量值,本控制系统采用三角形函数(trimf)这一隶属函数将论域内的实数归类于特定的语言变量值当中。语言变量值的取值取{nb,nm,ns,zo,ps,pm,pb}七个。分别表示负大(negativebig)、负中(negativemiddle)、负小(negativesmall)、零(zero)、正大(positivebig)、正中、正小。在模糊控制中,它们是用来表示隶属度关系。然后利用专家知识和实际的操作经验总结出的模糊控制规则,通过模糊推理得到输出变量的语言变量值,采用centroid(重心法)做为清晰化决策,最后得到通过模糊控制得到的pid控制器的三个参数。
步骤四所述的水平舵的升力模型具体为:
式中:j—零航速水平舵的附加转动惯量;α—弦长的一半;b—水平舵的厚度;c—水平舵轴至弦长的中点的距离;d—附加质量力作用在水平舵上的点到水平舵轴的距离;e—展长;k—比例系数。
当水平舵与水平方向夹角为α(t)时,在竖直方向上产生的升力的大小可以表示为:
lzero(t)=f(t)cosα(t)
步骤五所述的仿真过程为:
在matlab的simulink中搭建仿真模型具体为:在遭遇角为45°,下潜深度为0.5m、1.5m、2.5m,有义波高为1m的海况下进行仿真的结果,仿真时间为300s。并对减摇前后数据进行对比,显示减摇效果。
下面给出本发明的具体实施例:
本发明以npsauvⅱ自主式水下机器人为研究对象图1,对其在海浪干扰中的横摇运动开展了研究。水下机器人的六自由度模型的非线性和强耦合性加大了建立起横摇模型的难度,而且水下机器人在水下航行时会受到各种干扰力和力矩的影响,它们具有随机性和不规则性。因上述难点的存在,本发明在不同深度上对水下机器人的横摇仿真进行研究从而模拟上升和下降过程中的运动。
由于在不同的浪向和深度的条件下固定参数的pid控制器很难满足所有海况。为了追求更好的减摇效果,我们需要pid控制器以外的智能的控制系统对其进行参数整定。模糊pid控制器汇聚了常规pid控制的精确性和模糊控制不需要研究对象的精准模型的优点,非常适用于像水下机器人横摇运动这样的系统。
本发明最后通过matlab软件搭建模型对水下机器人的横摇运动进行仿真研究。为了方便工程上的实际控制操作,首先对水下机器人的横摇模型进行了降阶处理,在同时给降阶前和降阶后的模型输入波浪力矩干扰时,其误差满足降阶要求,证明降阶后可代替降阶前进行研究。然后再通过simulink环境搭建出系统模型分别在模糊pid控制器的控制下进行仿真。
(1)随机海浪模型的建立
本发明参照长峰波随机海浪的仿真理论基础,建立了随机海浪的模型,此模型有较高的仿真精度。长峰波海浪的数学的表达式为
式中:ζai—第i次谐波的波幅;ki—第i次谐波的波数;ωi—第i次谐波的角频率;εi—第i次谐波的初相位。
考虑到海面上固定的波浪,为了不失一般性,设在ξ=0和η=0处,可以得出定点长峰波海浪方程为
根据海浪理论可知波幅ζai与频谱sζ(ωi)之间的关系如下:
当δω趋近于零时,在δω范围内的波就去进与确定频率的谐波,故式(2)可写为
许多海洋方面的工作者研究了大量的关于随机海浪的统计数据,然后根据数据用适合的函数来表达海浪普密度。谱密度有许多种函数表达式,本文介绍ittc提供的双参数海浪谱,如下所示:
式中的
以上的波浪方程描述的是在水面上的情况,然而在水下也有海浪的影响。由流体力学的理论可知波幅的大小随着水深的增加是呈指数函数规律下降的,如下式所示:
式中z表示水深。
遭遇频率ωe=2π/te(te为遭遇周期)表示机器人经受到的波浪频率,表示了机器人是如何遭遇到波浪的,因此它在对于研究机器人在波浪中的运动是很重要的。遭遇频率是可以由海浪角频率来表示出来的,如下式:
式中μe为遭遇角,它指波浪传递方向和机器人航行方向间的夹角。
波浪力的计算可利用莫里森方程,如下所示:
其中,ρ为流体密度,a为物体投影面积,b为物体的体积,u为流体速度,
那么可得出横摇干扰力矩的计算方法如下:
(2)水下机器人的横摇运动的传递函数:
由于本发明研究的是水下机器人的横摇运动,除了横倾方程和对横摇有较大耦合的纵向和偏航方程外,其他方程可考虑不计,并可在上述三个方程中略去除关于横倾、纵向、偏航以外的参数从而达到简化六自由度方程的目的。这样得到的横摇运动模型容易计算且易于控制。简化后的式子如下:
式(11)、(12)、(13)右侧的项为水下机器人受到的力和力矩的和,有外界的干扰力,附加质量力,水动力等,其中:
m为水下机器人的质量(kg),zg为机器人的质心坐标,l为机器人的长度(m),ix为绕着x轴旋转的转动惯量(n·m2),iy为绕着y轴旋转的转动惯量(n·m2),iz为绕着z轴旋转的转动惯量(n·m2),其余的量则为水动力参数。
将其化为矩阵形式,可得到:
其中:
进一步简化后得:
对其进行线性化的处理后再对两边进行拉氏变换得:
其中:
因此得到:
φ(s)=f22mwave(17)
则f22为水下机器人的横摇数学模型。
将水动力系数和机器人的各参数带入后,计算可得:
由上式可见,水下机器人的横摇运动的传递函数阶次较高,不利于控制。这就需要将其进行降阶处理。在matlab界面中打开cftool工具箱,将冲击响应数据录入工具箱中,拟合函数形式为f(x)=ae-bxsincx。拟合曲线如图2所示。得到a=0.0194b=0.3145c=0.119,且拟合误差精度达到10-8级别,满足了对降阶时精度的要求。
将拟合后所得到的函数f(x)=0.0194e-0.3145xsin0.119x进行拉普拉斯变换,可得降阶后的横摇运动模型的传递函数如下:
(3)系统总模型的建立及其模糊控制器的设计
图3为水下机器人减摇系统总结构图。其中的水下机器人横摇运动模型,水平舵升力模型和波浪干扰在前面已经给出,其他控制元件下面给出:
1.测量元件
在水平舵控制系统中我们常采用角速度陀螺仪为测量元件,其传递函数为:
2.放大器
本发明的设计过程中所取的放大器的传递函数为:
gb(s)=kq(20)
其中kq是可调节的。
3.控制器
模糊控制规则为整个模糊控制器的核心部分,它决定了模糊pid控制器的控制效果。本发明中使用通过专家知识和实际的操作经验总结出的模糊控制规则。
本发明采用pid控制器,其传递函数为
通过模糊控制来整定pid控制器的三个系数得到kp=9,ki=7,kd=16
4.随动系统
采用伺服电机来转动水平舵。其传递函数如下所示:
在波浪干扰输入下,水下机器人做横摇运动,测量元件检测到其横摇角速度后,通过放大器输入到控制器中。在通过控制器的运算后输出的控制量作用到水平舵随动系统,随动系统就按照控制量来转动水平舵使其产生扶正力矩,扶正力矩可减弱波浪力矩干扰,从而达到水下机器人减摇的目的。
(4)水平舵升力模型的建立
综合了形状阻力f1(t),漩涡作用力f2(t)和附加质量力f3(t),水平舵的水动力可以描述为下式
式中:j—零航速水平舵的附加转动惯量;α—弦长的一半;b—水平舵的厚度;c—水平舵轴至弦长的中点的距离;d—附加质量力作用在水平舵上的点到水平舵轴的距离;e—展长;k—比例系数。
当水平舵与水平方向夹角为α(t)时,在竖直方向上产生的升力的大小可以表示为:
lzero(t)=f(t)cosα(t)
(5)水下机器人横摇仿真
综合上述对水下机器人横摇运动系统的总模型的每一部分的分析,在simulink环境中分别搭建模糊pid控制器的模型和系统总模型。下面就分别对系统进行开环时的仿真和在有模糊pid控制器控制下的系统的仿真。为了能够说明在不同深度下的机器人横摇运动,本文中取了不同的深度做了仿真,结果参照附图5(a)至图5(f)。
结合图6的效果表,通过数据的对比可一目了然的看出,模糊pid控制器的控制性能非常好,在遭遇角为45°时,当深度逐渐增加时,不论何种海况下模糊pid控制器都能保持稳定的减摇效率。做到了大幅度的减去水下机器人的横摇。因此可以粗略的得出水下机器人在深度增加即下潜过程中通过控制器的控制系统能得到稳定的减摇效率的结论。
综上,本发明属于主动减小水下机器人在近水面工作时横摇运动的方法,本发明的目的在于提供一种改善在对水下机器人在近水面不同深度时,基于自带的水平舵,实现自主减摇的模糊pid控制方法。首先选择适合的水下机器人运动坐标系,根据简化后的水下机器人的六自由度方程,建立水下机器人的横摇运动模型。本发明以长峰波随机海浪的仿真理论基础,建立了随机海浪的模型。根据不同海浪干扰,研究在不同的深度时机器人的横摇运动。基于水下机器人自带水平舵,建立水平舵纵向摆动时的升力模型。得到波浪对机器人的干扰力矩计算方法并进行仿真。利用上述的水下机器人的横摇运动模型和波浪对机器人的干扰力矩的计算方法,搭建受扰后的水下机器人在近水面的横摇减摇系统的模型,通过测量元件检测在波浪干扰作用下水平舵的横摇角度,分析近水面机器人在不同深度的横摇特点,建立相应的模糊规则,优化pid控制器的三个参数,得到水平舵的横摇角,从而使水平舵的随动系统作出反应产生减小水下机器人横摇的扶正力矩,达到减摇的目的。在matlab的simulink中搭建仿真模型,对水下机器人在近水面不同深度下进行仿真,验证减摇效果。