牛啸辰,王俊雄,苏 伟,王 震
(上海交通大学船舶海洋工程国家重点实验室,上海200240)
近年来,随着水下机器人在巡检、摄像、水下对接等场景的需求不断增长,对水下机器人位置和姿态控制的稳定性和灵活性提出了更为苛刻的要求。而在水下机器人的各种控制算法中,滑模控制具有对参数变化和系统未建模部分的不敏感性和极强的抗干扰性而成为水下机器人控制的有效方案之一[1]。在水下机器人的控制上,已有学者将滑模变结构控制应用在水下机器人的位置追踪和姿态控制上[2–5],也有学者将反演法与滑模控制结合起来,取得了良好的控制效果[6–9]。然而在实际过程中,由于受限于执行器的动作时间、饱和限制等,实际控制效果尚有待考究。因此,本文考虑输入饱和的反演滑模控制器,试图对其实际控制效果及工程应用进行进一步的探究。
水下机器人的建模主要包括运动学建模和动力学建模。水下机器人的目标轨迹和目标姿态需在地面坐标系下给出,而表征力和运动的动力学方程是在载体坐标系下进行的。因此运动学即表示2个坐标系下运动量的转化关系。
按照国际拖曳水池(ITTC)推荐的坐标系以及轮机工程学会(SNAME)术语公报的体系[10−11],建立地面坐标系(E系)和载体坐标系(G系),如图1所示。
图1 水下机器人的地面坐标系与载体坐标系Fig.1 Earth-fixed and body-fixed coordinatesystem
按照特定的旋转顺序(Oζ-Oy1-Ox),则表示运动量从运载体坐标系到地面坐标系的转换矩阵可以唯一表示为:
于是,运动学方程可以描述为:
动力学是在运载体坐标系下描述水下机器人力和运动之间的关系。作用在航行器上的力和力矩主要包括[11−12]:1)航行器所受到的静力−重力和浮力;2)航行器所受到的水动力;3)推进器所产生的推力和推力矩;4)由风浪流产生的干扰力和干扰力矩。
水下机器人的动力学模型可以表示为:
进一步整理可得:
式中,M=MAM+MRB,其中MRB和MAM分别为质量矩阵和附加质量矩阵;C=CRB+CAM,其中CRB和CAM分别为科氏向心力矩阵和附加向心力矩阵;D为阻尼矩阵;g(η)为恢复力矩阵;τE为慢变干扰力;τ为六自由度控制力和控制力矩。
本文中,直流电机连接螺旋桨构成水下机器人的推进器,直流电机的转速即为系统的控制输入量。直流电机机械特性的一般表达式为[13]:
式中:U为电动机供电电源电压;Φ为磁通量;Ke为电动机的反电动势系数;Kt为转矩系数;Ra为电枢电阻;T为电动机转矩。
电动机铭牌数据为:PN=3.8 k W,UN=220 V,IN=20.6 A,nN=1100 r/min;假设额定工况下电动机的铜耗约为总损耗的50%,则由此计算可得:
1)电动机最高转速为1200 r/min;
2)电动机最大输出转矩为409 N·m;
3)电动机转速和转矩之间的关系满足:
T>0时,n=1200-2.92927*T;
T<0时,n=−1200-2.92927*T。
上述条件即为电动机的输出受限条件。
图2 直流电机的固有机械特性Fig.2 Mechanical characteristicsof DCmotor
反演法作为一种回归设计方法,将Lapunov函数的选取与控制器的设计相结合,通过采用引入虚拟控制的方式,从系统微分方程的最低阶次开始,一直后推来设计满足要求的虚拟控制,从而设计出最终的控制律,使系统达到期望的性能指标[14]。
滑模变结构控制本质上是一种非线性控制,其最大的特点是控制的不连续性。滑模控制通过切换函数来实现非线性控制,根据系统状态偏离滑模的程度来切换控制器参数,从而使系统状态按照滑模规定的“滑动模态”轨迹运行的控制方法。滑模控制具有物理实现简单,对系统参数变化不敏感无需在线辨识,抗外界干扰的优点[15]。
将反演法与滑模控制相结合,并考虑控制器的输出饱和,控制器的设计步骤如下:
1)定义位置误差函数z1和角度误差函数z2
式中:ηd为目标位置;η为实际位置;ν为实际速度;α为虚拟控制量,可以看做是ν的估计值,α的取值将直接影响系统的稳定性,此处选取可以保证z1子系统的稳定[16]。
2)定义Lyapunov函数V1和V2
对V1求导可得:
˙V1<0
为使 ,需对v进行进一步的设计,令
由于质量矩阵M正定,故V2正定,对V2求导可得:
3)设计滑模面s=z2
˙V2<0
为保证 ,设计控制率τ为:式中,χ为系数矩阵;sat(s)函数为符号函数,其定义如下:
控制对象采用框架式水下机器人KAMBARA,其质量为117 kg,浮力为1158 N;以重心G为运载体坐标系原点,浮心的坐标为rb=[-0.017,0,-0.015]T,其他模型参数如下:
在原有模型的基础上增加一个侧向推进器,从而使其成为全驱动水下机器人,其推力布置矩阵如下式[12]:
设定六自由度水下机器人的初始状态和目标状态,如表1所示。
表1 目标轨迹、姿态与初始状态设定Tab.1 Target trajectory,attitude and initial state
反演滑模控制器中,∆取0.05,χ取diag{20,20,20,20,20,20}。
在输入饱和的情况下,可以看到:在x,y方向的位置跟踪上,输入饱和的反演滑模控制器能够从初始位置迅速跟踪上目标轨迹,并且保持高精度跟随;在z方向上,从初始位置跟踪至目标轨迹的时间稍长于x,y方向,但在经过初始调整阶段后依然能保持高精度的跟踪。
在姿态跟踪上,由推力布置矩阵B可知,角度的控制至少由3个推进器耦合协同完成,由于强耦合关系使得ϕ,θ,ψ的控制精度逊色于位置控制。但从工程角度讲,ϕ的平均偏差约为0.05 rad,最大偏差约为0.2 rad;ψ的平均误差约为0.02 rad/s,已经满足大多数场合的控制要求;θ的偏差较大的原因在于:θ由5个推进器协同控制,存在着强耦合关系,后续可以尝试改进KAMBARA的推进器布置以得到更高的控制精度。
最终的控制量为直流电机的转速,在输入受限的条件下,6个推进器对应的直流电机的转速曲线中,第1,2,6号电机存在着明显的阶段特征,而第3,4,5号电机则持续性地在转速上下限之间变动;从推力分配矩阵B的系数来看,第1,2,6号电动机在同时影响水下机器人多个自由度的运动时,均有明显的主次之分,而第3,4,5号电动机的对六自由度的运动影响权重区别并非十分明显,因此造成了频繁的抖动。
图3 输入饱和控制器的位置跟踪效果Fig.3 Input saturation controller path tracking results
图4 输入饱和控制器的姿态控制结果Fig.4 Input saturation controller attitude control results
图5 直流电机的速度曲线Fig.5 Speed curve of DC motor
在实际工程应用中,由于推进电机不能超越最大转速,且转速不能突变,因而实际控制力并不能达到理想效果。而根据上述计算分析表明,在考虑执行器输入饱和的情况下,若推力布置合理,反演滑模控制方法在水下机器人的轨迹跟踪和姿态控制上依然能够得到较好的结果,从而验证了该理论方法的实际可行性。同时可以推断出所选电机的动力响应越迅速,越能满足实际工程需求;针对精度需求十分高的场合,可以尝试优化推进器的分布,尽量消除推进器之间的耦合关系,使得单一推进器影响尽量少的自由度运动。