欠驱动AUV基于干扰观测器的滑模控制
2022-04-19李广有王娜尹庆华
李广有,王娜,b,尹庆华
(青岛大学 a. 自动化学院;b. 山东省工业控制技术重点实验室,山东 青岛 266071)
0 引言
自治水下机器人(AUV)是一种能够通过自主方式在水下环境中运动和操作的水下智能机器人。相对于遥控水下机器人而言,AUV不再受缆绳的约束,可以更加快速灵活地完成多种海洋作战和作业任务。AUV凭借其鲜明的特点被广泛用于多种领域,比如海图绘制、国防军事、海洋研究、海底资源探测等[1]。由于AUV在完成多种水下任务过程中,易受到各种未知干扰的影响,如风、海浪和海流[2],故设计具有抗干扰能力的运动控制器尤为重要。
当一种AUV模型运动自由度数目大于控制量数目时,可称之为欠驱动AUV。AUV水平面模型运动自由度数量多于控制量的数量,是一种标准的欠驱动AUV系统。
近年来,欠驱动AUV的控制研究工作主要集中在对系统本身引入智能控制、鲁棒控制、增益调节等。如文献[1]针对AUV垂直面模型,提出一种基于趋近律的姿态控制方法和一种基于等效控制切换模糊化滑模变结构姿态控制方法。文献[3]针对AUV在自动巡航任务中的姿态控制问题,提出了一种神经网络与滑模控制相结合的鲁棒自适应姿态控制算法,提升了控制的鲁棒性和有效性。文献[4]针对AUV的深度控制,设计了一种反步滑模控制器。文献[5]针对AUV在六自由度下的跟踪控制问题,提出了一种基于DRFNN的自适应输出反馈控制器。文献[6]设计了一种AUV水下自平衡控制算法。文献[7]将AUV模型分解成三个相互作用较小的子系统,实现了对AUV系统的分解控制。文献[8]对水下机器人设计了一种离散时间下的时延控制。文献[9]用积分滑模控制方法分别实现了欠驱动AUV水平面轨迹跟踪控制和垂直面的深度跟踪控制。
部分学者在欠驱动AUV的控制方面关注了干扰对控制系统的影响。文献[2]针对复杂海洋环境中的海流干扰,设计了性能优良的鲁棒控制器,减少了干扰对控制的影响。文献[10]针对存在未知外部干扰影响下的AUV,设计了一种基于非线性干扰观测器的自适应控制方法,依靠对外部干扰的估计和抵消,实现了欠驱动AUV垂直面跟踪期望深度变化轨迹。
综上所述,近年来针对AUV系统面对外界干扰时的控制研究,大多数选择设计更为复杂的控制器来改善控制效果。然而针对欠驱动AUV水平面方向,尤其是基于干扰预测、估计和补偿设计控制器的研究较少。本文针对AUV水平面模型存在未知外部干扰的情况,设计基于干扰观测器的滑模控制器(NDOBSMC)。首先构造非线性干扰观测器估计AUV受到的外界干扰,然后基于干扰估计值设计复合滑模控制器补偿干扰影响,从而改善欠驱动AUV水平面航向跟踪控制性能。本文所设计的NDOBSMC与文献[1]中传统滑模控制器相比,能进一步提高跟踪精度,改善控制器的抗干扰能力。
1 欠驱动AUV水平面模型
采用牛顿-欧拉方法建立AUV六自由度运动学及动力学模型[10]:
(1)
式中:V=[uυwpqr]T为定义在刚体坐标系中的速度和角速度向量,其分量分别对应表示纵荡速度、横荡速度、垂荡速度以及横摇角速度、纵摇角速度、首摇角(航向角)速度;η=[xyzφθφ]T为定义在惯性系中的位置和姿态向量,其姿态分量分别对应表示横摇角、纵摇角和首摇角(航向角);B为矢量矩阵;C(V)为科氏力和向心力阵;D(V)为水动力流体阻尼阵;ɡ(η)为重力、浮力等恢复力矩构成的向量;J(η)为AUV的控制输入;Dext为坐标系转换矩阵;AUV为外部环境对AUV造成的外部干扰。
假设AUV水平面与垂直面的运动实现相互解耦,AUV水平面运动不受横摇和纵摇运动的影响,即可得到欠驱动AUV水平面模型。AUV水平面运动方程为
(2)
式中:x和y分别为AUV在惯性系下的坐标分量;u为AUV在刚体坐标系中的纵荡速度;v为AUV在刚体坐标系中的横荡速度;r为AUV在刚体坐标系中的首摇角速度;φ为首摇(航向)角。
不考虑垂荡、横摇和纵摇运动的影响,欠驱动AUV完成航向跟踪主要依靠控制力矩M,即可得到由式(1)简化的AUV水平面运动的动力学方程:
纵荡:
(3)
横荡:
(4)
首摇:
(5)
(6)
令x1=y,x2=φ,x3=r,则可以得到欠驱动AUV水平面模型的状态方程:
(7)
2 非线性干扰观测器的设计
定义状态变量x=[x1x2x3]T,为方便非线性干扰观测器(NDO)的设计,则状态方程(7)可以写成向量形式:
(8)
式中:F(x)=[ux2x3W1ux3]T;Q1(x)=[0 0W2]T;
Q2(x)=[0 0 1]T。
构造NDO如下:
(9)
(10)
3 NDOBSMC设计
本部分针对AUV受到外部干扰的情况,基于非线性干扰观测器设计NDOBSMC,实现欠驱动AUV的航向跟踪控制。将首摇角φ近似看作AUV航向,为确保这一点,就要求AUV的横荡速度v越小越好,当v=0时,首摇角与航向角相等。
根据系统状态方程 (7),定义误差向量e=[e1e2e3]T,其中
(11)
构造滑模切换面函数s=Ce=c1e1+c2e2+c3e3,其中C=[c1c2c3]为待定系数。设计NDOBSMC如下:
M=US+Ud
(12)
定理1:考虑水下机器人水平面系统(式(6)),当c1>0、c2>0、c3>0、k>0,时,且参数满足0.12c3k>2.4c1+0.6c2+0.288c3时,在复合滑模控制器(式(12))作用下,能够保证AUV水平面闭环控制系统渐近稳定。
证明:选择Lyapunov函数V如下
(13)
由参考文献[1]类比可得,|u|≤2m/s,|r|<0.6rad/s,|φ|<1.2rad,则
式中:R=2.4c1+0.6c2-0.288c3;O=-0.12c3ksgn(s)。
因此式(13)可改写为
容易知道
sO=-0.12c3ksgn(s)=-0.12c3k|s|≤0
若
|O|>|R|
即
0.12c3k>2.4c1+0.6c2+0.288c3
因此当按照定理1选择参数来设计控制力矩
则可保证AUV水平面闭环控制系统渐近稳定。
4 仿真实验
仿真中AUV模型相关物理参数见文献[1],因为干扰存在于第三通道,则选取设计非线性干扰观测器(式(9))的参数T1=0,T2=0,T3=9。假设取C=[0.1 0.73 0.5],k=60。设置AUV的水平推动力为6.48 N,控制力矩M和水平推动力F控制AUV使其跟踪目标航向,在其运动过程中,对AUV施加外部力矩干扰。设计的AUV目标航向φ幅值为1,频率为0.5的正弦波形式。在系统运行的第40s增加30N·m的常值外部干扰力矩Dext。本部分通过仿真对比传统滑模控制器(SMC)和NDOBSMC的控制效果。
图1为NDOBSMC和SMC的AUV航向跟踪误差曲线。AUV 航向跟踪在第40s受到干扰时,SMC航向跟踪误差峰值达到1.3m,无法实现完全跟踪目标深度,会出现较大幅度跟踪误差;NDOBSMC较大幅度地减小了航向跟踪误差,误差峰值出现在系统刚运行阶段,峰值仅为0.3m,NDOBSMC在第40s受到干扰时,航向跟踪误差仅为0.1m,较好地抵抗了干扰的影响。
图1 NDOBSMC和SMC的AUV航向跟踪误差
图2为NDOBSMC和SMC控制AUV的航向跟踪曲线,包含有NDOBSMC的AUV在受到外部干扰时,目标航向跟踪运动完成效果良好;而SMC控制时,跟踪效果比较差,在40s出现大幅度的波动。
图2 NDOBSMC和SMC控制AUV的航向跟踪曲线
图3 含有NDOBSMC的AUV系统中干扰观测值和干扰实际值
为测试含有NDOBSMC的AUV系统中干扰观测器的干扰估计能力,将外部干扰设置成如图4实线所示的较为多样的形式。虚线为干扰估计值,可以看出外部干扰力矩的实际值与非线性干扰观测器得到的估计值误差较小,说明干扰观测器可以估计出实际干扰。
图4 含有NDOBSMC的AUV系统中干扰观测值和干扰实际值(改变干扰形式后)
图5为纵荡速度u的响应曲线。分析式(3)可知,纵荡速度只和轴向推进力F有关,轴向推进力F直接决定纵荡速度u的大小。仿真结果说明,当选择F的值为6.48N时,其控制u最终达到2m/s。
图5 水平面模型纵荡速度响应曲线
图6为横荡速度v的响应曲线。分析式(4)中横荡运动方程可知,首摇角速度r和纵荡速度u影响了横荡速度v,轴向推进力F和控制量M间接控制横荡运动。
图6 水平面模型横荡速度响应曲线
图7为首摇角速度r的响应曲线。分析式(5)可知,控制量M、纵荡速度u和横荡速度v影响了首摇角速度r。也可以说控制量M和轴向推进力F直接决定首摇角速度。
因AUV在水平面内做正弦波形式的航向运动,图8所示的首摇角φ在一定范围内做规律变化,其峰值约束在一定范围内。
图7 水平面模型首摇角速度响应曲线
图8 水平面模型首摇角响应曲线
5 结语
通过有条件简化欠驱动AUV水平面运动学以及动力学方程,得到简化的欠驱动AUV模型。考虑实际过程中AUV会受到外部干扰的情况,引入非线性干扰观测器,并在此基础上,设计了NDOBSMC。通过仿真实验,得到外部干扰作用下,航向跟踪曲线、航向跟踪误差曲线、干扰估计曲线以及AUV系统其他状态变量曲线,仿真结果验证了所设计控制器具有良好的控制性能。