﻿ 基于改进粒子群优化算法的自主水下航行器深度控制
 舰船科学技术  2022, Vol. 44 Issue (8): 64-68    DOI: 10.3404/j.issn.1672-7649.2022.08.013 PDF

1. 上海交通大学，上海 200240;
2. 自然资源部第二海洋研究所，浙江 杭州 310012

Depth control of autonomous underwater vehicle based on improved particle swarm optimization algorithm
LUO Jian-chao1,2, ZHU Xin-ke2
1. Shanghai Jiaotong University, Shanghai 200240, China;
2. Second Institute of Oceanography, Hangzhou 310012, China
Abstract: In order to solve the problem of depth determination control of the underactuated autonomous underwater vehicle, a mathematical model of the underactuated autonomous underwater vehicle was established, and the classical PID controller was used to control the underactuated autonomous underwater vehicle. In order to improve the performance of the controller, the particle swarm optimization algorithm is used to set the parameters of the controller. Particle swarm optimization (PSO) is prone to precocity in the iterative process. In order to avoid this phenomenon, this paper introduces exponential function to dynamically adjust the inertia weight of PSO iterative formula, which prolongs the large-range searching time of particles. The simulation result in Matlab 2019b demonstrated the feasibility of the improved algorithm. The improved algorithm is compared with the ZN tuning algorithm, and the results show that the improved particle swarm optimization algorithm performs better.
Key words: particle swarm optimization     PID controller     autonomous underwater vehicle     inertia weight
0 引　言

1 欠驱动自主水下航行器建模

 ${M}\dot{\mathit{v}}+C\left(\mathit{v}\right)\mathit{v}=\mathit{\tau }+\mathit{\omega } 。$ (1)

 $\left\{\begin{array}{l}\dot{u}=\dfrac{{m}_{2}}{{m}_{1}}vr-\dfrac{{m}_{3}}{{m}_{1}}wq-\dfrac{{d}_{1}}{{m}_{1}}u+\dfrac{1}{{m}_{1}}{F}_{x}+{\omega }_{1}，\\ \dot{v}=-\dfrac{{m}_{1}}{{m}_{2}}ur-\dfrac{{d}_{2}}{{m}_{2}}v+{\omega }_{2}，\\ \dot{w}=\dfrac{{m}_{1}}{{m}_{3}}uq-\dfrac{{d}_{3}}{{m}_{3}}w+{g}_{1}+{\omega }_{3}，\\ \dot{q}=\frac{{m}_{3}-{m}_{1}}{{m}_{5}}uw-\dfrac{{d}_{4}}{{m}_{5}}q-{g}_{2}+\dfrac{1}{{m}_{5}}{b}_{1}{\delta }_{s}+{\omega }_{4}，\\ \dot{r}=\dfrac{{m}_{1}-{m}_{2}}{{m}_{6}}uv-\dfrac{{d}_{5}}{{m}_{6}}r+\dfrac{1}{{m}_{6}}{b}_{2}{\delta }_{r}+{\omega }_{5}。\end{array}\right.$ (2)

2 PID控制器原理

PID控制器的结构简单，控制原理易于理解，具有很好的鲁棒性，其诸多优点使其成为运用最广的控制器之一。

PID控制器的原理如图1所示，由比例、积分、微分3个部分构成。In为目标信号，Out为被控对象的输出，二者的差值e为偏差信号，u为控制器输出。被控对象的输入信号可表示为：

 ${u}\left({t}\right)={K}_{p}e\left(t\right)+{K}_{i}{\int }_{0}^{t}e\left(t\right){\rm{d}}t+{K}_{d}\frac{{\rm{d}}e\left(t\right)}{{\rm{d}}t}。$ (3)

 图 1 PID控制器原理图 Fig. 1 PID controller schematic diagram
3 IWEPSO算法 3.1 粒子群优化算法

 ${v}_{i}^{k+1}=\omega {v}_{i}^{k}+{c}_{1}{r}_{1}\left(p{Best}_{i}^{k}-{p}_{i}^{k}\right)+{c}_{2}{r}_{2}\left(gBest-{p}_{i}^{k}\right)，$ (4)
 ${p}_{i}^{k+1}={p}_{i}^{k}+{v}_{i}^{k+1} 。$ (5)

3.2 IWEPSO

 $\mathrm{\omega }\left(k\right)={\omega }_{{\rm{max}}}-\left({\omega }_{{\rm{max}}}-{\omega }_{{\rm{min}}}\right)\cdot\frac{k}{{k}_{{\rm{max}}}}。$ (6)

 $\mathrm{\omega }\left(k\right)=\mathrm{r}\mathrm{a}\mathrm{n}\mathrm{d}\cdot{\omega }_{{\rm{min}}}\cdot\left(1-\mathrm{cos}h\right)+{\omega }_{{\rm{max}}}\cdot\mathrm{cos}h。$ (7)
 图 2 传统PSO，IWCPSO，IWEPSO的惯性权重变化对比图 Fig. 2 Comparison of inertia weight changes among traditional PSO, IWCPSO and IWEPSO

 $\mathrm{\omega }\left(k\right)=\left({\omega }_{{\rm{min}}}-{\omega }_{{\rm{max}}}\right){\mathrm{e}}^{h-\frac{\text{π} }{2}}+1。$ (8)

3.3 IWEPSO应用于欠驱动AUV的PID控制器参数整定

 $ITAE={\int }_{0}^{\infty }t\left|e\left(t\right)\right|{\rm{d}}t，$ (9)

 $ITAE=\sum _{i=0}^{k}i\left|e\left(i\right)\right| 。$ (10)

4 仿真实验及结果分析 4.1 仿真实验

 图 3 欠驱动AUV外观图 Fig. 3 Underactuated AUV appearance

 图 4 基于IWEPSO的AUV深度控制流程图 Fig. 4 Flowchart of AUV depth control based on IWEPSO
 $\begin{split} & m=2\;535\;{\rm{kg}} , {X}_{\dot{u}}=-142 \;{\rm{kg}} ,{Y}_{\dot{v}}=-1\;700\;{\rm{kg}} ,\\ &{Z}_{\dot{w}}=-4\;600\;{\rm{kg}} , {I}_{y}=1\;700\;{\rm{kg}}\cdot {{\rm{m}}}^{2} , \\ & {I}_{z}=2\;000\;{\rm{kg}}\cdot {{\rm{m}}}^{2} , {M}_{\dot{q}}=-1\;700\;{\rm{kg}}\cdot {{\rm{m}}}^{2}/{\rm{rad}} ,\\ & {N}_{\dot{r}}=-1\;350\;{\rm{kg}}\cdot {{\rm{m}}}^{2}/{\rm{rad}} ,\\ & {X}_{u\left|u\right|}=-35\;{\rm{kg}}/{\rm{m}},{Y}_{v\left|v\right|}=-667\;{\rm{kg}}/{\rm{m}} ,\\ & {Z}_{w\left|w\right|}=-2\;000\;{\rm{kg}}/{\rm{m}} , {Y}_{v}=-346\;{\rm{kg}}/{\rm{m}} , \\ & {Z}_{w}=-1\;000\;{\rm{kg}}/{\rm{m}} , {M}_{q}=-900\;{\rm{kg}} \cdot {{\rm{m}}}^{2}/{{\rm{rad}}}^{2} , \\ &{N}_{r}=-300\;{\rm{kg}}\cdot {{\rm{m}}}^{2}/{{\rm{rad}}}^{2} , \\ &{M}_{q\left|q\right|}=-1\;100\;{\rm{kg}}\cdot {{\rm{m}}}^{2}/{{\rm{rad}}}^{2} , {N}_{r\left|r\right|}=-350\;{\rm{kg}} \cdot {{\rm{m}}}^{2}/{{\rm{rad}}}^{2} 。\end{split}$

 ${\delta }_{s}={K}_{p}e\left(k\right)+{K}_{i}\sum _{i=0}^{k}e\left(i\right)+{K}_{d}\cdot \left[e\left(k\right)-e\left(k-1\right)\right]。$ (11)

4.2 实验结果分析

 图 5 传统PSO，IWCPSO，IWEPSO的适应度值变化 Fig. 5 Changes in fitness values of traditional PSO, IWCPSO and IWEPSO

ZN法整定的PID控制器收敛性极差，因此分别用ZN法整定后的PD控制器和IWEPSO整定后的PID控制器对欠驱动AUV进行控制，并进行横向对比。AUV的深度变化如图6所示。可知，IWEPSO整定后的PID控制器可以使AUV更快达到稳定状态，且稳定过程相对平滑。设置AUV在体坐标系下绕y轴旋转的最大角度为20°，图7为AUV的纵倾角变化曲线。可知，在仿真初期，为了快速到达目标深度，基于ZN法和IWEPSO的AUV保持较大的纵倾角，当接近目标深度时，IWEPSO比ZN法相比，响应更加迅速，纵倾角减小更加及时。在仿真中后期，ZN法整定的PD控制器使AUV频繁改变纵倾角的方向，IWEPSO整定的PID控制器使AUV平滑运行，因此，IWEPSO在工程中可很大程度减小舵机损耗。

 图 6 基于ZN和IWEPSO的欠驱动AUV深度变化曲线 Fig. 6 Underactuated AUV vertical displacement and inclination curve based on ZN and IWEPSO

 图 7 基于ZN和IWEPSO的欠驱动AUV纵倾角变化曲线 Fig. 7 Underactuated AUV inclination curve based on ZN and IWEPSO

ZN法整定的2种控制器和IWEPSO整定的PID控制器的整定及仿真结果如表1所示。当使用ZN法进行参数整定时，需要事先选择控制器的形式，一旦选择错误，就可能导致系统发散，而IWEPSO可以直接用于PID整定，无需考虑控制器形式的选择。与ZN法整定的PD控制器相比，IWEPSO整定的PID控制器可以使AUV的上升时间和调节时间更短，极大程度加速了系统响应。

5 结　语

 [1] WANG H , CHEN Z , BIAN X, et al. Robust diving control of AUV with L2 disturbance attenuation method[C]// Intelligent Control & Automation. IEEE, 2012. [2] 段日逊, 龚时华. 欠驱动UUV首尾平行操舵控制器设计研究[J]. 舰船科学技术, 2019, 41(5): 65-69. [3] 刘丽萍, 王红燕. 基于海流观测的欠驱动AUV自适应反演滑模轨迹跟踪[J]. 天津大学学报(自然科学与工程技术版), 2020, 57(3): 89-97. [4] EBERHART, SHI Y H. Particle swarm optimization: developments, applications and resources[C]// Congress on Evolutionary Computation. IEEE, 2002. [5] 胡坤, 王树宗, 郝英泽, 等. 基于PSO优化的潜艇深度非线性PID控制[J]. 控制工程, 2009, 16(6): 752-755. [6] 杨巍, 毛剑琳, 熊晔. 一种动态权值自适应粒子群优化典型函数问题[J]. 电子科技, 2018, 31(9): 9-12. [7] 张继荣, 张天. 基于改进粒子群算法的PID控制参数优化[J]. 计算机工程与设计, 2020, 41(4): 1035-1040. [8] V Bobál. Technical note self‐tuning ziegler‐nichols pid controller[J]. International Journal of Adaptive Control and Signal Processing, 1995, 9(2): 213-226. [9] 陈子印. 欠驱动无人水下航行器三维路径跟踪反步控制方法研究[D]. 哈尔滨: 哈尔滨工程大学, 2013. [10] 牛芗洁, 王玉洁, 唐剑. 基于遗传算法的PID控制器参数优化研究[J]. 计算机仿真, 2010, 27(11): 180-182. [11] LIU J, PAN W, QU R, et al. Research on the application of PID control with neural network and parameter adjustment method of PID controller[C]// CSAI 18: 2018 2nd International Conference on Computer Science and Artificial Intelligence, 2018. [12] 张春慧, 吴简彤, 何昆鹏, 等. 四阶龙格-库塔法在捷联惯导系统姿态解算中的应用[J]. 声学与电子工程, 2005, 32(6): 37-38.