翟光雯,吴贞犇
(1.芜湖科技馆,安徽 芜湖 241000;2.安徽工程大学,安徽 芜湖 241000)
水下机器人是海洋资源勘测和开发的重要工具之一。海洋资源战略地位越来越重要,对水下机器人的机能及精确度的要求不断提高,所以要提升水下机器人系统的控制精确度[1]。然而,由于存在死区、模型不确定、外界干扰等,使得控制系统的控制性能降低[2-4]。
国内外学者对如何提高水下机器人的控制精度进行了大量的研究,如文献[5]提出了一种最优自适应参数估计方法,以评估水下机器人系统的未知干扰,并保持良好的控制精度,但是这会降低系统的整体运行速度。文献[6]将其作为自治机器人航向控制,解决了航向控制中未知干扰估计难题,对抵制检测噪声有很大作用。文献[7]利用模糊控制器实现了AUV 的偏航速度控制,它可以根据AUV 前进速度使控制器适应正确的区域。文献[8]利用非线性自适应控制对AUV 进行俯仰控制,其响应速度与稳定性较好,消除了AUV 非线性对控制效果的限制。文献[9]将RBF 神经结构与PID 结合,实现了PID 参数的自调节,将其利用于AUV 的精准定深控制。文献[10]利用自适应控制与分数阶PID 控制相结合,保证控制器能快速稳定地追踪到所要跟踪的信号,取得了较为理想的控制性能。文献[11]提出了一种动态滑模控制方法,从结果可以看出,水下机器人的控制性能有了较大提升,然而复杂度大大增加,难以实现实际应用。以上改进方法虽然取得了一定的效果,但是对系统各种非线性的扰动并没有较好的抑制效果。
在20 世纪末,自抗扰的概念正式被提出,其中心思想是系统内部动态和外部的干扰都可以及时地补偿消除,这跟常见的基于精确模型设计的控制器有很大的不同。这个新设计的控制策略一般适用于单输入和单输出的非线性和时变性系统。
由于自抗扰不仅不依靠对象的模型,而且能够实时估计和补偿内部和外部故障,抵制扰动的效果好,这种优点使ADRC 在一些工程项目中发挥出了很好的效果。有学者提出,2016 年李东海小组将冷却水水位作为控制对象,设计了LADRC,实现了高负载火力发电机的热交换器控制[12];有学者将ADRC 应用于永磁同步电机的转速控制[13],大大增强了对变负载干扰的抵抗能力;在飞行器与制导方向上,ADRC 也发挥了很大的作用,可以精准地跟踪飞行装置的航迹以及抵抗风力的干扰[14]。
首先给出了水下机器人的数学模型,然后通过扩张状态观测器实时观测水下机器人的各种扰动,最后通过MATLAB仿真验证了ADRC作用于水下机器人的良好性能。
AUV 在坐标系中位置如图1 所示。
图1 坐标系位置示意图
设AUV 以速度V沿着动系Gx轴运动,其夹角设为β,一般常称这个角为漂角,AUV 在某个时刻的位置需要参数确定,根据V在各个方向的分速度,可以得到速度V在动系的投影:
AUV 在水中运动的时候,常常需要运用到流体力学的知识。虽然建立了动系和定系,然而AUV 的v以及v˙是相对定系来参考的,由于它投影到了动系上,需要将两者进行等效变换得到其相对于定系的v以及v˙:
式中:P为AUV 的动量,M0表示其相对于动系的动量矩。
将动系看作是AUV 的主惯性轴,则AUV 的动量矩在每个轴上的投影可以表示成:
式中:u˙表示速度u 的加速度,其他同理。
式(5)为AUV 在水中的六自由度运动学方程[15]。对AUV 运动方程进行简化,为研究其运动提供了方便。
本课题研究的是AUV 在平面内的运动,运动方程如下:
AUV 在水平面运动时,有w=p=q=0;式(5)可简化为水平面运动方程:
AUV 在垂直面运动时,有v=p=r=0;式(5)可简化为垂直面运动方程:
为了运算的简便,本文分析纵横两个平面潜行方程,在一定条件下可以简化这两个平面的运动模型方程。
通常会在水平面内研究AUV 航向的变化[16]。在水平面内w=p=q=0,且对应的加速度也为0,水动力方程进行泰勒展开时,由于二阶及以上的水动力系数项比较小,对AUV 的潜行影响不明显。为了简化运算,可以忽略不计。同时不考虑环境因素引起的干扰力。由式(6),式(8)可得到水平面的简化模型:
在垂直方向主要研究AUV 作定深时的运动状态,根据式(7),式(9)可对应写出AUV 在垂直面的简化方程[17]:
航向控制系统传递函数:当AUV 转变航向时,依靠水平推力来实现其航向的转变,此时有u=v=u˙=v˙=0,式(8)可简化为:
因次项水动力系数。
对式(12)进行拉氏变换,可得到传递函数:
系统的动态响应是研究系统的重要指标,当系统被外部所干扰时,我们希望系统会快速地恢复到稳定之前的状态。给系统输入一个阶跃信号,当信号发生突变时,若希望系统快速恢复稳定状态,那系统必然会产生较大的超调量。因此引入TD[13],使输入信号不发生突变,能够更为平缓的变化,对提升系统的性能有很大的帮助。TD表示基于输入信号和输出信号特性的转换过程。输出信号是输入信号的跟踪信号差分,TD 可以补偿系统的速度和超越,使之达到平衡。
对于PID 控制系统来说,其控制器只是简单的线性组合,随着进一步的实验研究,证明非线性的组合可以更加精准控制系统。在自抗扰控制系统中,NLSEF 为控制提供了控制策略[18-23]。NLSEF 表示是跟踪差分(TD)的输出与扩展状态观测器(ESO)产生的状态变量估计之间的非线性连接。其具有良好的适应性和鲁棒性,只需选择合适的参数即可。
式(16),β1、β2为反馈系数,fal为非线性函数。
NLSEF 模块为双输入单输出系统,其中输入信号是y1与z1和y2与z2两者的偏差。对于fal函数而言,α的不同取值会导致其形状不同,δ的不同取值会导致函数的非线性,可以通过改变δ防止函数在初位置发生晃动。
ADRC 的核心组成结构就是ESO,ESO 可以对动力学以及外部环境造成的总干扰进行消除,将被控对象的模型降到一个理想无干扰的类型。通过扩张状态观测方程对与系统输入状态变量无关的不确定因素监测出来,从而在系统的反馈回路设计控制器抵消干扰[24-25]。
如果未定义被控对象的数学模型,则将被控对象视为包含未知扰动的积分级数,并对观测对象进行观测。通过观察状态来观察未知无序,并将反馈应用于实时干扰补偿,得到了满意的结果为另一个观察状态是输出信号,各个阶的差分信号分别是用于在反馈时计算误差的差分信号。
根据上述设计方法,每个自抗扰控制模块由下面各模块组成,水下机器人系统成为被控制对象。系统总体结构如图2 所示:
图2 系统的整体结构图
采用阶跃信号对设计的TD 效果进行验证,如图3所示,直线为阶跃信号,点虚线为输入信号的微分,虚线为TD 的跟踪信号,其中h=0.01。从图中可以看出经过TD 处理后,阶跃信号明显变得更加柔和。
图3 跟踪微分器TD 输出显示
完整的ADRC 包含TD、ESO、NLSEF 三大模块。在搭建好了具体结构的基础上,主要是选取合适的参数来优化系统的控制效果[18-22]。对于一个二阶ADRC 系统来说,需要选择的有TD 模块的两个参数:速度因子r,滤波步长h;ESO 模块六个参数:跟踪因子α1,α2;fal函数中带宽δ,β01、β02、β03为校正增益。NLSEF:补偿因子b0,增益β1与β2。经过大量实验分析,三者之间耦合性不是很强,故可以依次调试各个参数。
TD:当步长h固定时,改变fst函数中r,实验表明,r增大时,可以很好地追踪输入,并且r越大,过渡时间越短,但当r的取值太大,则会使其功效降低,易产生过冲,若r很小,过渡时间会增加,无法满足快速性的要求。下图4 为改变r时的阶跃响应。
图4 不同r 时TD 跟踪效果
ESO:根据经验α1和α2常选择[0,1]之间的实数,此时系统拥有一定的稳定性,当取值趋向1 时,fal近似为线性关系;趋向0 时会凸显其非线性,一般情况选α1=0.5,α2=0.25。δ常选择[0.99,0.9]之间的实数,它可以防止曲线在原点处发生振荡。校正增益会根据系统干扰的强度来选取,其中β01常选择和1/h数量级相近,否则会发散。β02的值适度增大时可以减小过冲量,过大会增大跟踪误差。β03的值不宜过大,适量增大会增加跟踪效果。
NLSEF:由于非线性组合采取的是非线性PD 形式的组合,故其参数β1与β2和比例微分控制系数的整定相似,当β1增大时会减小脱离预定值的失位量,但过渡时间会增加。β2增大时,它能预测误差改变趋势,从而在一定限度内减小超调b0的改变会影响扰动补偿量,增大会减小补偿量。当系统有延迟时b的选取应该适度大一些。
仿真水下机器人系统参数如表1 所示:
表1 水下机器人系统的参数
在MATLAB 中进行仿真实验,结果如图5、图6、图7、图8 所示。
图5 基于自抗扰控制器的水机仿生机器人三维轨迹图
图6 在x-y 上的投影
图7 在y-z 上的投影
图8 在x-z 上的投影
基于自抗扰控制器的水下机器人具有更高的精度,较小的超调量,自抗扰控制器应用于水下机器人中可以达到令人满意的控制效果。
随着科技的发展,人类加快了对海洋资源开发的进度,水下机器人是海洋资源勘测和开发的重要工具,因此对水下机器人的性能提出了极大的要求。传统的研究往往是基于线性控制理论的建模和控制器设计,无法处理系统的非线性。本文介绍了一种水下机器人系统的建模与控制方法,并给出了控制算法。该控制策略提高了水下仿真机器人的操纵性能。模拟显示,该控制算法有效地提高了水下机器人的跟踪性能。该方法的提出对实际工程问题有很好的效果。