谭东旭,徐红丽,唐磊生,吴函,付丽君
(沈阳理工大学自动化与电气工程学院,沈阳110159)
自主水下机器人(Autonomous Underwater Vehicle,AUV)作为水下作业的重要工具,可以用于海洋勘测、水下搜救、管道检查等作业,甚至可以应用于军事上,用于巡逻、监测、浅滩排雷等作业。但是面对复杂的任务需求,单个机器人无法满足其任务需求,所以越来越多的研究人员开始研究多水下机器人系统(Multiple Autonomous Underwater Vehicle,MAUV)。而编队控制是MAUV协调控制的基本问题。目前MAUV队形控制的方法主要有:领航跟随法、基于行为法、虚拟结构法、人工势场法等[1-3]。
领航跟随法又称主从式编队,只通过领航者的信息和编队队形来实时调整跟随者的状态,从而形成不同的网络拓扑结构,这种方法结构简单,稳定性好,被广泛应用[4-5]。基于行为法可以对于环境的适应性较强,但是队形的稳定性较差[6-7]。虚拟结构法将机器人看成是刚体上的点,根据环境变化改变虚拟结构的位姿。MAUV的通信主要依靠水声通信,但是水声通信的稳定性差、效率低,尤其是在MAUV通信上,随着AUV数量的增加,通信效率会显著降低。而且MAUV在一些军事方面的应用,要求在拒止环境进行作业[8]。考虑到这些情况下,对于MAUV的水下编队而言,通信是一个不可避免地问题。所以本文研究通过双目摄像头或者声纳、姿态传感器等传感器来获取领航AUV的相对位姿,从而完成MAUV编队的方法[9-10]。采用领航跟随法建立编队运动学模型,再利用Lyapunov函数设计反步控制器[11],最后为避免出现大的速度、角度跳变,引入生物启发模型进行处理[12-14]。
在AUV的六自由度运动学模型的基础上,建立欠驱动AUV的四自由度运动学模型。本文只考虑AUV的位置量(x,y,z)、三个方向的速度(u,v,w)、艏向角φ以及艏向角速度r[15]。可以得到AUV的运动学模型:
为了进一步描述,定义在参考坐标下t时刻的AUVi(i=0,1,2...)的状态向量为:
则P0(t)表示领航AUV0的姿态。P1(t)表示跟随AUV1的姿态。其中航向角可由位姿得到:
采用领航跟随法中的l-φ队形控制方法,通过控制AUV0和跟随者AUV1的距离和角度实现队形控制[16]。则AUV0和AUV1的编队队形为(l01,φ01),期望队形为
则AUV1可根据探测到的AUV0的艏向和相对位置,确定自己在AUV0坐标系下的位置(lx,ly)如下:
利用坐标的同胚变换可将位姿误差转换到跟随AUV1的载体坐标系下的位姿误差:
式中Reφ=S-1|φ=eφ,θ=0,ψ=0,S是三维载体坐标系与参考坐标系的旋转矩阵,矩阵Reφ[17]的形式如下:
因此,跟随AUV1实现期望编队,则只需ex、ey、ez、eφ则收敛到原点,将式(4)-式(7)代入到EP(t)并对其求导,可以得到基于领航-跟随的编队误差模型:
为了形成期望队形,跟随AUV1要保持和领航AUV0之间的距离l和角度φ。通过得到的编队误差模型,根据Lyapunov函数设计跟随AUV1运动学控制率,来实时调节跟随AUV1的速度、角速度(u,w,r)T,从而尽可能保持编队误差趋近于0。
为了消除位置误差,首先设计Lyapunov函数:
显然,当且仅当ex=ey=ez=0时,V1=0;否则V1>0恒成立,对式(9)求导可得:
为了使V1收敛,则必须为负值,则设计期望的运动学控制率为:
而对于欠驱动的AUV一般没有横向推进器,所以设计虚拟速度控制变量,产生控制信号r1,则虚拟控制变量期望值设计为:
接下来,对虚拟速度进行镇定,结合V1,构造Lyapunov函数:
为了使则V˙2为负值,同时也为了避免设计的控制率出现奇异值,即分母中出现cos(φe+φ0),则可以得到控制率r1:
将式(15)、(19)带入到式(18)中,又k1、k2、k3、k4均为大于零的常数,所以可以得到
所以整个系统可以达到全局渐进稳定的,接下来将生物启发模型引入到跟随AUV1的反步控制器u1、w1、r1,做平滑处理。
生物启发模型最早是由英国科学家霍奇金为了研究枪乌贼的神经元的动作电位提出的。该类神经元电位的数学模型也称H-H模型。该模型中细胞膜的膜电压Vm的动态特性方程如下:
式中:Vm是细胞膜的膜电压;Cm为细胞膜的膜电容;EP、ENa、EK分别是细胞膜的负电流、钠离子、钾离子在细胞膜中对应的能量;gP、gNa、gK分别是负电流、钠离子、钾离子所对应的电导。
后来经过Grossberg进一步改进,简化了H-H模型的系数,令Cm=1,∂=Ep+Vm,A=gP,B=ENa+Ep,D=Ek-Ep,f(ei)=max(ei,0),g(ei)=max(-ei,0)可以获得生物启发模型:
式中,f(ei)是兴奋性输入,g(ei)是抑制性输入。神经元∂i的膜电压是系统的输出,对于任何激励与抑制信号都能控制∂i在[-D,B]范围内变化,使输出信号∂i平滑,可以用于解决编队过程中速度跳变。
本文利用生物启发模型,构造的速度如下:
将生物启发模型引入到控制器中,可以得到系统的运动学控制器为:
对于跟随AUV,可以通过姿态传感器等来自身获取航向角φ0、速度u0等信息。可以通过双目视觉的运动物体方向识别算法检测到领航AUV的相对航向φ、相对速度u。与自身航向航速进行计算,可得到领航AUV的航向φ0、速度u0。而领航AUV的位置可以通过双目摄像头来进行点匹配,通过三角测量的原理,计算像素之间的偏移来获取领航AUV的位置信息(X0,Y0,Z0)。领航AUV和跟随AUV的队形可以根据测得位姿信息计算的出。
为了方便仿真,假设所有需要的向量都能被准确地探测到,领航AUV根据预定的轨迹航行,跟随AUV则根据预定的队形,完成编队控制,达到期望队形。
在MATLAB环境下控制三个AUV做三角形编队实验,各AUV的初始姿态分别为[x0(0),y0(0),z0(0),φ0(0)]=[0,0,2,0]、[x1(0),y1(0),z1(0),φ1(0)]=[-5,-5,2,0]、[x2(0),y2(0),z2(0),φ2(0)]=[5,-5,2,0],初始时刻所有AUV均处于静止状态。编队分为三个阶段,第一个阶段AUV0从初始位置驶向目标点[200,200,5],AUV1和 AUV2分别按照期望队形为
编队轨迹和编队误差可见图1-4,图1-2是没有将编队控制器导入生物启发模型的结果,图3-4是引入生物启发的编队控制器。
图1 多水下机器人编队模型
图2
图3 未加入生物启发的编队误差
图4
图5 引入生物启发的编队误差
通过对比可以看出,两种方法虽然都可以实现编队控制,但是引入了生物启发的控制算法有更好的编队效果。虽然在两种方法在大多在形成队形以后都能保持队形,但是在开始和拐点处,引入了生物启发的控制算法的位姿误差更小,形成编队的速度更快一些。并且在拐点处,如果不引入生物启发,会出现较大的速度、航向跳变,并且变化有超调量,需要调节一段时间才能形成队形,编队误差才会趋于零。而引入生物启发以后,速度、航向的变化更小、更平滑,所以编队误差更小、运动轨迹更平滑。
通过两个仿真结果可知,由于引入生物启发以后的编队控制器具有连续平滑并且输出有界的特性,所以编队效果更好,可以有效避免MAUV在编队过程中出现较大的速度、航向跳变,从而使AUV的推进器需要提供超过推进器推力上限的推力。
由于水声通信延迟大、易受干扰,而通过双目摄像头等传感器获取编队信息,AUV之间不需要进行通信也可以进行编队。可以应用于一些拒止环境作业,或者编队过程中水声通信失效的情况下。采用领航跟随控制方法研究MAUV的编队控制问题,并且为了避免出现较大的速度、角度的跳变,导致推进器的推力饱和,引入了生物启发进行平滑处理,通过仿真验证了MAUV编队的可以有效地形成期望队形,达到全局渐进稳定。