杜廷朋
(中国船舶重工集团公司第七一五研究所,浙江 杭州 310012)
作为自主式海洋机器人,水下航行器逐渐在军事、科研、商业等领域展现出巨大价值。它可以承担情报侦察、水文调查、海洋工程及反潜反水雷等多种任务,且具有智能化、成本低、可代替人类执行危险任务等优势,成为科研界的热点[1]。当下水下航行器的主要研制国家有美国、英国、法国、俄罗斯等。我国中长期科学技术发展规划明确指出海洋开发与安全的紧迫性和重要性,当前水下航行器在我国海洋技术应用领域已经崭露头角,可以为水下观察、水下作业提供重要的工具支撑,具有广阔的应用前景。运动控制是水下航行器系统稳定运行、自主运作的关键,在执行近距离的侦察、探测及接驳等任务时,水下航行器需要保持适宜的姿态,进行稳定且精度较高的控制。因此,如何获得更好的性能和稳定性,设计具有自整定能力,对自身变化和环境干扰具有鲁棒性的控制器,是水下航行器技术的一个关键问题。为此,本文以水下航行器的运动控制技术为关注点进行研究分析。
水下航行器是一个典型的多变量、强耦合的非线性系统,既具有一般刚体空间运动模型的结构特点,又由于与流体之间复杂的相互作用而比一般刚体包含更强的参数和模型不确定性[2]。其控制器的设计与水下航行器的建模、设计方法、外界干扰的考虑等密切相关,目前常用的控制器有PID 控制、模糊控制、S 面控制、滑模控制以及自抗扰控制等算法[3-4]。总结水下航行器运动控制的方法,通常可以分为基于模型的控制方法和不依赖模型的控制方法两种类型。
随着系统辨识、最优控制、滤波和估计理论等的发展,基于模型的控制理论在工业过程中得到了广泛的应用。进行控制系统设计时,首先要得到系统的数学模型,然后在得到的数学模型基础上设计控制器[5]。然而对于水下航行器而言,模型参数推导是一个困难的过程,需要进行实际试验分析,并且参数估计具有不确定性和变异性,如在近水面航行时,水下航行器运动极易受风、浪和流等环境干扰力的影响;在水下航行时,水的密度变化、海流干扰也会影响水下航行器的动力学特性,水下航行器本身的非线性动力学特性使得通常的线性控制更加困难。
水下航行器控制系统的建模困难,基于模型的控制方法多停留在仿真阶段,不便于实际的工程应用,因此可以考虑应用不依赖具体模型信息的方法来解决实际的控制问题,即不使用受控系统的数学模型信息,仅利用受控系统的在线和离线数据来设计控制器。当前,水下航行器控制中最常用的PID(Proportion Integral Differential)就是一种典型的无模型控制算法,不依赖水下航行器运动控制系统的具体模型信息,仅使用当前及前两个控制节点的数据进行输出计算[5]。PID方法具有易实现、调参容易、可靠性好的优点,但是PID 无法跟随水下航行器系统动态特性的变化实现参数的精确整定,随着水下航行器自身特性和海况的变化,PID 总会偏离最佳工作状态。基于经典的PID 控制,出现了分段PID,模糊PID 等改进方法,提高了PID 的抗干扰性能,这同样带来了新的问题,改进的PID 出现了参数整定成本高、试验周期长的缺点。本文考虑引入不依靠具体模型信息设计控制器、又有较好的抗扰动能力的无模型自适应(Model Free Adaptive,MFA)控制方法进行水下航行器运动控制研究。MFA 的控制原理如图1 所示。
图1 MFA 控制原理图
MFA 控制方法通过获得受控系统的输入输出信息,建立等效受控系统的动态线性化数据模型,如式(1)所示,该动态数据模型不含具体的模型参数信息,仅依靠系统在线的输入输出信息实时更新模型单参数φ(k),然后基于该动态模型,通过MFA控制计算受控系统输入指令[5]。
式中:k为控制系统的计算节点,y(k)为受控系统在k节点的输出,u(k)为受控系统在k节点的输入,Δu(k)=u(k)-u(k-1)。φ(k)为动态模型参数,一般称之为伪偏导数,φ(k)的估计值(k)的计算公式为:
式中:μ>0,λ>0 为权重系数。
由此得MFA 控制输入计算公式:
式中:y*为期望输出,ρ∈(0,1],η∈(0,1]为步长因子[5]。
水下航行器运行时,定深直航运动是控制的基本功能。为了较为精准地沿着航线航行及减少能量消耗,要求水下航行器具有较好的航向稳定性与深度稳定性。当水下航行器偏离预定航向和深度时,控制器应当操控水下航行器快速平稳地回到预定航行轨迹。水下航行器运动控制是一个多变量、强耦合的非线性系统,为了降低研究复杂度,通常将其在三维空间的复杂运动分解为偏航运动、纵向运动及横滚运动,对应的控制子系统分别为航向控制、深度-俯仰控制以及横滚控制,其中横滚通常不做控制。因此本节主要介绍航向控制方法与深度-俯仰控制方法,并给出基于MFA 控制的水下航行器运动控制方法。
基本的水下航行器航向控制系统主要包括航向控制器、方向舵、罗经惯导等姿态传感器。航向自动控制的原理如图2 所示。将期望航向与实际航向信息输入航向控制器,航向控制器根据控制规律给出方向舵的操舵指令,舵机执行指令,转动至指令舵角,直至航向误差为零。
图2 航向控制原理图
基于MFA 控制,给出水下航行器航向的控制律为:
式中:e(k)=φ*-φ(k),φ*为期望航向,φ(k)为实际航向,r*为期望转艏角速度,r(k)为实际角速度,可以通过航向差分计算或者姿态传感器直接获取,ur(k)为指令方向舵角。
纵倾和深度控制同属于垂直面运动控制,具有耦合性,水下航行器的深度改变主要通过俯仰角的改变来实现,因此二者可以共用一个控制通道,基于MFA 控制,使用PID-MFA 串级控制进行深度-俯仰控制,如图3 所示。
图3 深度-俯仰控制原理图
外环控制回路通过深度误差PID 控制计算得到期望的俯仰角,内环将期望俯仰和实际俯仰作为输入,通过MFA 控制计算,输出指令升降舵角,从而实现水下航行器的深度-俯仰闭环控制,控制律为:
式中:kp,ki,kd分别为比例系数、积分系数、微分系数,e(k)=h*-h(k),h*为期望深度,h(k)为实际深度,ue(k)为指令升降舵角,θ*为期望俯仰角,θ(k)为实际俯仰角,kq为俯仰角速度的调节系数,q(k)为俯仰角速度,可以通过航向差分计算或者姿态传感器直接获取,ue(k)为指令升降舵角。
根据所提出的控制方法,建立小型动力学仿真模型[6],进行水下航行器定深定向仿真试验。试验为定深6 m,定向80°直航,权重系数μ=1,λ=10,一般不需要调节。航向控制参数 为kp=0.25,ki=0.06,kd=1.8,ρ=1,λ=3,深度-俯仰控制参数为kp=4.6,ki=kd=0,ρ=0.5,λ=10,kq=1。在MFA 控制器作用下,水下航行器控制的阶跃响应试验结果如图4、图5、图6 所示。由图4 可知,水下航行器航向可以稳定收敛于期望航向值。由图5、图6 可知,定深航行时,水下航行器的俯仰角度稳定,俯仰角收敛于±2°以内,深度误差稳定在±0.1 m 以内。由此证明,基于MFA的控制方法可以较好地应用于水下航行器的运动控制。
图4 航向响应图
图5 俯仰响应图
图6 深度响应图
运动控制是水下航行器完成任务的前提和保障,是水下航行器关键技术之一。随着水下航行器应用范围的扩大,对其运动控制的精度和稳定性的要求都随之增加,如何提高其运动控制性能就成为一个研究的重要课题。本文分析了水下航行器的运动控制问题,基于MFA 控制方法,提出了可以应用于水下航行器运动控制的MFA 控制律。仿真试验证明,该方法可以使水下航行器较好地跟踪设定轨迹,具有进一步的研究价值。