舰船科学技术  2019, Vol. 41 Issue (3): 93-96   PDF    
小型AUV动力定位建模与控制仿真
蔡炜, 王俊雄     
上海交通大学 船舶海洋工程国家重点实验室,上海 200240
摘要: 伴随着水下潜航器的进一步深入研究,AUV产品正朝着小型化、民用化的方向不断发展。以小型AUV为研究对象的水动力性能分析、路径规划、水下通信等问题成为AUV产品设计的核心所在。本文基于ITTC双参数波浪谱及漂移力计算公式,在Matlab中建立不规则波浪仿真模型,对AUV运动规律进行预测。搭建动力定位控制系统Simulink模型,基于粒子群算法优化PID控制器参数,对AUV进行定位控制研究。成功模拟小型AUV的工作水环境并搭建动力定位仿真台架,实现AUV的定位控制,为AUV水动力性能试验及动力定位系统的软硬件设计创造了条件,为小型AUV产品的设计实现奠定基础。
关键词: 动力定位控制     水环境模拟     粒子群算法     仿真模型     小型AUV    
Dynamic positioning modeling and control simulation of small-sized AUV
CAI Wei, WANG Jun-xiong     
State Key Laboratory of Ocean Engineering, Shanghai Jiaotong University, Shanghai 200240, China
Abstract: AUV products are designed for smaller size and civil purpose with the further study of underwater vehicles. Based on small-sized AUVs, there are some problems about hydrodynamic performance analysis, path planning and underwater communication, which are the keys of AUV design. The paper set up an irregular wave simulation model in Matlab to predict the movement of AUV, which is based on ITTC two-parameter wave spectrum and drifting force computational formula. The paper also set up Simulink model of dynamic positioning control system, using particle swarm optimization to select PID controller parameters to do research on dynamic positioning of AUV. The study successfully simulated the water environment of small-sized AUV, set up dynamic positioning Simulink frame and realized the primary positioning control of AUV. The study created conditions for further hydrodynamic performance experiment and design of hardware and software for positioning system, which lay the foundation for the design of small-sized AUV products.
Key words: dynamic positioning control system     water environment simulation     particle swarm optimization     simulation model     small-sized AUV products    
0 引 言

水下自主航行器(AUV)广泛应用于水下监测、侦察等工程作业,目前以军用为主,但小型、民用的AUV产品需求已逐渐在市场上升温。水下通信、路径规划、水动力性能分析等成为小型AUV产品设计实现亟需解决的难题。相对于大型深海作业的AUV,小型民用AUV体积质量小、航行速度慢、作业水深小、水环境多变,对水动力性能试验和动力定位控制的设计要求较高。

小型AUV的动力定位系统要求能够实时地根据当前的位置、姿态反馈信息发出控制信号,推进器执行信号产生抵抗风、浪等外界干扰力的作用力并推动AUV运行,从而在不施加外力控制的条件下,沿预先规划的路径轨迹实现AUV的定位航行。

AUV动力定位系统框图如图1所示。

图 1 AUV动力定位系统框图 Fig. 1 The diagram of AUV dynamic positioning system
1 AUV数学模型建立

对于AUV动力定位控制系统而言,首要工作是建立水环境、AUV自身以及推进系统的数学模型。

为了描述AUV的运动,采用如图2所示的固定坐标系 ${O_0} - {x_0}{y_0}{z_0}$ 和运动坐标系 $O - xyz$ [1]

图 2 AUV固定坐标系和运动坐标系 Fig. 2 Fixed coordinate and moving coordinate of AUV

由于小型民用AUV的作业水深小,姿态保持相对稳定,横倾和纵倾幅度很小,因此仅考虑三自由度(纵荡、横荡、首摇)的运动情况。以位置向量 $ \eta = {[x,y,\psi ]^{\rm{T}}}$ 表示固定坐标系下AUV的位置及首向角,以速度向量 ${ v} = {[u,v,r]^{\rm{T}}}$ 表示运动坐标系下AUV的三自由度运动速度。

1.1 随机波浪模型

AUV在水下面临的作业环境属于不规则波浪环境,研究上经常把仅存在于主风方向且有无穷长波线、单向波峰彼此保持平行的二次不规则波称为不规则长峰波[2]

不规则波可以看成是各种频率规则波的线性叠加,对于长峰波,海面上任一点的波高可表示为:

$ \begin{split} \zeta (t) = & \sum\limits_{i = 1}^n {{\zeta _{ai}}\cos ({\omega _i}t + {\varepsilon _i})} = \\ & \sum\limits_{i = 1}^n {\sqrt {2{S_{\zeta \zeta }}({\omega _i})\Delta {\omega _i}} \cos ({\omega _i}t + {\varepsilon _i})} \text{。} \end{split} $ (1)

式中: ${\zeta _a}$ 为波幅; $\omega $ 为波浪频率; $\varepsilon $ 为初相位,在区间 $[0,2\text{π} ]$ 内均匀分布; ${S_{\zeta \zeta }}(\omega )$ 为波谱密度函数; $\Delta \omega $ 为采样频率间隔。

常用的波谱密度函数有P-M谱、纽曼(Newman)谱、JONSWAP谱、ITTC双参数谱等。其中,ITTC双参数谱以有义波高 ${h_{1/3}}$ 和海浪特征周期T1为谱参量,具体表达式如下:

$ {S_{\zeta \zeta }}(\omega ) = \frac{{173h_{1/3}^2}}{{T_1^4{\omega ^5}}}\exp \left( - \frac{{691}}{{T_1^4{\omega ^4}}}\right)\text{。} $ (2)

波浪力包括2部分:1)1阶波浪力引起的高频往复运动;2)2阶波浪力引起的慢漂运动,使AUV缓慢地漂离原来的位置。高频运动位置变化频繁,动力定位系统很难也没有必要对其进行控制,因为这样会大大加速推进系统的磨损和能量损耗。

规则波的2阶波浪力一般采用Daidola公式进行计算[3]

$ \left\{ \begin{aligned} & F_x^D = \frac{1}{2}\rho L\zeta _a^2\cos \chi C_x^D\text{,}\\ & F_y^D = \frac{1}{2}\rho L\zeta _a^2\sin \chi C_y^D\text{,}\\ & M_n^D = \frac{1}{2}\rho {L^2}\zeta _a^2\sin \chi C_n^D\text{。} \end{aligned} \right. $ (3)

式中:ρ为水密度;L为船长;χ为波向角,即航行方向与波浪方向的夹角; $C_x^D,C_y^D,C_n^D$ 为波浪力计算系数。

波浪力系数的计算公式如下:

$ \left\{ \begin{aligned} & C_x^D(\lambda ) = 0.05 - 0.2\left(\frac{\lambda }{L}\right) + 0.75{(\frac{\lambda }{L})^2} - 0.51{\left(\frac{\lambda }{L}\right)^3}\text{,}\\ & C_y^D(\lambda ) = 0.46 + 6.83\left(\frac{\lambda }{L}\right) - 15.65{\left(\frac{\lambda }{L}\right)^2} + 8.44{\left(\frac{\lambda }{L}\right)^3}\text{,}\\ & C_n^D(\lambda ) = - 0.11 + 0.68\left(\frac{\lambda }{L}\right) - 0.79{\left(\frac{\lambda }{L}\right)^2} + 0.21{\left(\frac{\lambda }{L}\right)^3}\text{,} \end{aligned} \right. $ (4)
$ \left\{ \begin{array}{l} \lambda = 2{\text{π}}/k\text{,}\\ k = {\omega ^2}/g\text{。} \end{array} \right. $ (5)

式中:λ为波长;k为波数。

整理得到不规则2阶随机波浪力的计算公式:

$ \left\{ \begin{aligned} & F_x^D = \rho L\cos \chi \sum\limits_{i = 1}^n {C_x^D(2{\text{π}} g/\omega _i^2){S_{\zeta \zeta }}({\omega _i})\Delta \omega }\text{,} \\ & F_y^D = \rho L\sin \chi \sum\limits_{i = 1}^n {C_y^D(2{\text{π}} g/\omega _i^2){S_{\zeta \zeta }}({\omega _i})\Delta \omega } \text{,}\\ & M_n^D = \rho {L^2}\sin \chi \sum\limits_{i = 1}^n {C_n^D(2{\text{π}} g/\omega _i^2){S_{\zeta \zeta }}({\omega _i})\Delta \omega }\text{。} \end{aligned} \right. $ (6)
1.2 操纵运动数学模型

图2所示的坐标系下,AUV三自由度低频运动学方程可表示为如下矩阵形式[4]

$ { M}\dot { v} + { Dv} = { \tau _t}\text{。} $ (7)

式中: $\dot { v}$ 为加速度矩阵; $\dot { v} = {[\dot u,\dot v,\dot r]^{\rm{T}}}$ ${ \tau _{ t}}$ 为合外力矩阵; ${ \tau _t} = {[{\tau _{tx}},{\tau _{ty}},{\tau _{tn}}]^{\rm{T}}}$ M为质量矩阵, ${ M} = \left[ {\begin{array}{*{20}{c}}{m - {X_{\dot u}}}&0&0\\0&{m - {Y_{\dot v}}}&{m{x_G} - {Y_{\dot r}}}\\0&{m{x_G} - {N_{\dot v}}}&{{J_z} - {N_{\dot r}}}\end{array}} \right]$ D为阻尼矩阵, ${ D} = \left[ {\begin{array}{*{20}{c}}\!\!\!\!\! { - {X_u}}\!&\!0\!&\!0 \!\!\!\!\!\! \\\!\!\!\!\! 0\!&\!{ - {Y_v}}\!&\!{ - {Y_r}} \!\!\!\!\!\! \\\!\!\!\!\! 0\!&\!{ - {N_v}}\!&\!{ - {N_r}} \!\!\!\!\!\! \end{array}} \right]$ ${X_{\dot u}},{Y_{\dot v}},{Y_{\dot r}},{N_{\dot v}},{N_{\dot r}},{X_u},{Y_v},{Y_r},{N_v},{N_r}$ 均为水动力导数。

1.3 基于粒子群算法(PSO)的PID参数优化

20世纪70年代,Fossen提出非线性PID控制方法,实现了船舶自航控制。至今,PID控制以其算法成熟、结构简单、控制效果好等优点仍然成为工程项目控制系统的主要选择。

PID控制器以目标设定值与实际测量值的偏差作为输入量,将偏差值的比例(P)、积分(I)和微分(D)分量通过线性组合构成控制量,传递给执行机构,继而作用于控制对象。PID系统原理如图3所示。

图 3 PID系统原理图 Fig. 3 Schematic diagram of PID control system

AUV动力定位系统的PID控制算法如下:

$ \left\{ \begin{aligned} & u(t) = {K_p}[\varepsilon (t) + \frac{1}{{{T_i}}}\int_0^t {\varepsilon (t){\rm d}t + {T_d}\frac{{{\rm d}\varepsilon (t)}}{{{\rm d}t}}]} \text{,}\\ & \varepsilon (t) = {x_0} - x(t)\text{,}\\ & \dot \varepsilon (t) = - \dot x(t)\text{。} \end{aligned} \right. $ (8)

其中: $\varepsilon (t)$ 为位置偏差值; ${K_p}$ 为比例系数; ${T_i}$ 为积分时间常数; ${T_d}$ 为微分时间常数。

PID参数的整定与优化是PID控制器设计实现的核心,随着智能控制理论的发展,出现了粒子群算法、遗传算法、神经网络算法等PID参数优化方法。

粒子群算法(PSO)是从鸟群觅食行为特性中获得启发并研究发明的一种数值优化算法。在PSO中,每个优化问题的潜在解都可以看成是搜索空间区域上的一个点,称之为粒子,每个粒子都有一个被目标函数所决定的适应值,依据全局和个体适应值的最优值,修正更新每个粒子的飞行速度和飞行方向,直至搜寻到空间区域内以目标函数为导向的最优解。

d维空间上的第i个粒子的位置信息记为 ${X_i} =$ $ ({x_{i1}},{x_{i2}} \cdot \cdot \cdot {x_{id}})$ ,粒子的搜索速度记为 ${V_i} = ({v_{i1}},{v_{i2}} \cdot \cdot \cdot$ $ {v_{id}})$ 。粒子跟踪2个最优值在空间区域内进行搜索。第1个是个体极值 ${P_{ibest}}$ ,记为 ${P_{ibest}} = ({p_{i1}},{p_{i2}} \cdot \cdot \cdot {p_{id}})$ ,表示第i个粒子在搜索过程中本身找到适应值的最优值所在位置;第2个是全局极值 ${g_{best}}$ ,记为 ${g_{best}} = ({g_1},{g_2}, \cdot \cdot \cdot {g_d})$ ,表示整个空间区域内,所有粒子搜索过程中找到适应值的最优值所在位置。

每次迭代过程中,依据粒子本身的位置速度信息和2个极值的大小对粒子的搜索速度和位置进行修正,具体更新公式如下:

$ \left\{ \begin{aligned} & V_i^{n + 1} = wV_i^n + {c_1} \cdot rand() \cdot (P_{ibest}^n - X_i^n) + \\ & {\rm{ }}{c_2} \cdot rand() \cdot (g_{best}^n - X_i^n)\text{,}\\ & X_i^{n + 1} = X_i^n + rV_i^{n + 1}\text{。} \end{aligned} \right. $ (9)

其中:w为惯性权重;c1为粒子跟踪自己最优值的权重系数,称之为“认知”,通常设置为2;w2为粒子跟踪全局最优值的权重系数,称之为“社会”,通常设置为2; $rand()$ 表示[0,1]之间的随机数;r为约束因子,通常设置为1。

选用PSO算法对PID参数进行优化,用三维空间中的粒子表示PID的3个参数 $({K_p},{T_i},{T_d})$ ,以加快系统响应速度、减小超调为优化目标,选用误差绝对值的时间积分函数,即ITAE函数作为目标函数:

$ J = \int_0^{ + \infty } {t\left| {e(t)} \right|{\rm d}t} \text{。} $ (10)

在三维空间域内搜寻使得ITAE函数获得最小值的粒子参数值,作为优化后的PID参数,并与常规PID控制方法进行仿真比对。

2 仿真结果与分析

以小型民用AUV产品为研究对象,主要参数如表1所示。基于ITTC双参数波浪谱和Daidola漂移力公式,在Matlab/Simulink中模拟AUV水环境,探究不施加作用力时,AUV的漂移运动情况。具体水况分布如表2所示。

表 1 AUV主参数 Tab.1 Principal parameters of AUV

表 2 水况分布 Tab.2 Water condition for calculation

AUV初始位置向量为 ${[0,0,45^\circ ]^{\rm T}}$ ,在图4所示的随机波浪作用下做慢漂运动,逐渐远离原点,运动轨迹如图5所示,同时首向角绕浪向30°方向做往复摆动。

图 4 随机波浪波高时变曲线 Fig. 4 Wave height time-varying curve of random waves

图 5 模拟波浪作用下的XY运动轨迹图 Fig. 5 XY moving trace with the effect of simulated wave

在Simulink中搭建PSO优化模型,设置粒子规模为100,最大迭代步数为1 000,惯性权重从1.0随步数增长逐渐递减至0.1。优化后的PID参数如下:KP= $4.582,{T_i} = 1.653,{T_d} = 1.278$

在Simulink中搭建基于PID控制器的动力定位控制系统,依据经验选取一组常规PID控制参数:KP= $ 4.670,{T_i} = 0.853,{T_d} = 0.982$ 。给定AUV的初始位置向量 ${[0,0,45^\circ ]^{\rm T}}$ 和目标位置向量 ${[400,400,30^\circ ]^{\rm T}}$ ,2组控制器下的AUV运动仿真比对结果如图6图9所示。

图 6 PID控制下的横向位移–时间变化曲线 Fig. 6 Horizontal displacement curve with PID controller

图 7 PID控制下的纵向位移–时间变化曲线 Fig. 7 Vertical displacement curve with PID controller

图 8 PID控制下的首向角–时间变化曲线 Fig. 8 Heading angle curve with PID controller

图 9 PID控制下的XY 运动轨迹图 Fig. 9 XY moving trace with PID controller

2组PID控制下,AUV均由定位原点抵达目标位置。常规PID控制下,系统经历约100 s的调整达到稳定,同时超调量达到约20%,控制效果较差;经PSO优化后的PID控制器,系统约40 s后快速达到目标位置状态附近进行微调,整体超调量约5%,控制性能较常规PID控制得到大幅优化。

3 结 语

AUV在军用项目的成功推动了将其向小型民用产品方向推广的设想,用以实现例如湖底景色拍摄、水产养殖巡视、内陆河水文信息采集等诸多功能。小型AUV产品设计的核心问题有水动力性能分析、路径规划、水下通信等。本文基于不规则随机长峰波浪理论,模拟小型AUV作业的水环境,获取AUV的慢漂运动规律,并基于PID控制器搭建动力定位控制仿真系统,利用粒子群算法(PSO)优化PID参数,实现AUV的定位控制,获取了较好的控制性能。为AUV水动力性能试验及动力定位系统的软硬件设计创造了条件,为小型AUV产品的设计实现奠定基础。

参考文献
[1]
徐海祥, 冯辉. 船舶动力定位系统原理[M]. 北京:国防工业出版社, 2016:15–17.
[2]
钱小斌, 尹勇, 张秀凤, 等. 海上不规则波浪扰动对船舶运动的影响[J]. 交通运输工程学报, 2016, 16(3): 116-124. DOI:10.3969/j.issn.1671-1637.2016.03.014
[3]
魏泽, 赵战华, 刘家瑞. 二阶波浪力数值计算与试验方法研究[J]. 船舶力学, 2017(z1): 251-257. DOI:10.3969/j.issn.1007-7294.2017.z1.032
[4]
梁海军, 闫超. 环境干扰力作用下船舶操纵运动仿真数学模型研究[J]. 舰船科学技术, 2015, 37(7): 153-156. DOI:10.3404/j.issn.1672-7649.2015.07.035