改进虚拟领航者在多AUV队形控制中的应用
2023-03-11杨洋,王征,周帅,尹洋
杨 洋,王 征,周 帅,尹 洋
(海军工程大学,武汉 430000)
0 引言
自主水下航行器(AUV)是一类自身携带能源、拥有一定智能化程度、能自主航行的水下智能体,其智能化程度高、成本低的特点使其可以服务于海洋科技、海洋军事和海洋经济等不同领域[1]。为解决单体AUV载荷局限性问题、满足日益复杂的任务指向,多AUV系统的概念被提出,以实现更高的可拓展性与稳定性、更强的鲁棒性[2]。
遂行常以编队形式运动,这对多AUV系统的队形控制技术提出了更高的要求。多AUV队形控制是指编队系统内AUV根据其他成员的状态,调整自身速度、航向、位姿以达到多AUV协调编队航行的控制技术。主流AUV队形控制算法涵盖了人工势场法、领航者-跟随者法、虚拟结构法、基于行为法、强化学习等方法。多AUV队形控制中的关键技术包含队形生成、队形保持、协同避障与队形重构[3-7]。
李娟等[8]利用领航者-跟随者法中领航者的位置与速度信息进行编队控制器设计,分别对跟随者的纵向速度误差和横向速度误差进行了积分滑模面的设计;李娟等[9]还提出了一种AUV路径控制和编队协调控制相结合的新型编队控制器,在路径跟踪控制基础上,编队协调控制器将领航者与跟随者的位置误差控制转化为跟随者的速度误差控制,使跟随者能快速达到期望位置,从而使所有AUV实现期望的队形并保持。但领航者-跟随者法的缺陷也显而易见:领航者较难得到跟随者的速度、位姿等信息;领航者与跟随者相对独立,一旦领航者出现故障或与跟随者失去联系,AUV编队系统将无法正常运行,故其鲁棒性与系统可靠性往往不强。针对该缺点,有研究者提出虚拟领航者的观点,即领航者作为一虚拟参考点参与编队控制。其优势在于:领航者是虚拟的,因而不会影响整个系统的性能,明显提高系统的可靠性,且更容易实现分布式的控制结构[10-11]。
本文首先设计了一种包含四层结构的编队体系分层框架,分别对其中队形设计与行为控制层进行了描述。针对多AUV系统的队形控制问题,设计了一种基于改进的虚拟领航者的分层次编队控制方法。该方法构建了一个虚拟的领航者,以解决传统领航者-跟随者法中领航者失效引起的队形崩溃问题。队形生成之后,使用人工势场法进行队形保持,并设计了合适的人工势场函数,用于编队避障与成员间避碰,其中考虑了虚拟领航者与AUV成员之间的引力与斥力以及成员间的最大通信距离。
1 多AUV系统编队的分层控制技术
可以将编队控制问题依次划分为任务规划、队形设计、行为控制和编队评价四层结构,分层编队控制体系如图1所示。
图1 分层编队控制体系框图
1.1 队形设计层
可以使用有序数组与控制矩阵将多AUV队形准确定型。其中,四元有序数组用以描述编队的连接边关系,控制矩阵则确定了编队体系中各AUV成员之间的层次关系。
在本文条件下,编队体系具有以下特点。
1) 队形中有且仅有一个领航者。
2) 定义跟踪度与被跟踪度参数。跟踪度根据某AUV成员是否有前接AUV而定义,若有前接AUV,则跟踪度为1,否则为0。被跟踪度定义为:某AUV成员若存在后续AUV,则被跟踪度为1,否则为0。若某一艘AUV的跟踪度与被跟踪度均为1,则称其为跟随者;若跟踪度为1,被跟踪度为0,则称其为尾随者。
3) 在N艘AUV的编队系统中,其编队的层次结构中共有N-1条连接边。
连接边可以用一个四元有序数组表示,其算式为
EN={(V1,V2,R12,φ12),(V2,V3,R23,φ23),…,
(VN-1,VN,RN-1,N,φN-1,N)}。
(1)
使用四元有序数组可推导相应的编队控制矩阵。基于AUV队形节点间的逻辑,编队控制矩阵可定义为
(2)
1.2 行为控制层
人工势场法最早由KHATIB在1985年提出[12],其指导思想是将智能体在外界环境中的运动拟作在一种虚拟势场中的运动,该势场中的目标点对智能体施加引力作用,障碍物和其他威胁施加斥力作用,智能体在两种虚拟势场力的合力中产生加速度而运动。特定AUV在本队形中,其他AUV成员和环境中的障碍物将对其产生斥力作用,而实时子目标点将对其产生引力作用。AUV编队控制行为主要包括队形生成、队形保持、协同避障与队形重构。
1) 队形生成行为。
多AUV系统在形成编队之前,所有AUV成员运行其路径跟踪控制器,跟踪各自的路径子目标点,路径子目标点在人工势场中对AUV施加引力场,使其产生加速度驶向路径子目标点,从而达到预期的编队几何形状,并执行队形生成行为。队形生成行为如图2所示。
图2 队形生成行为示意图
定义引力函数为AUV实际位置点与子目标点之间的相对距离和方位的函数,引力函数为
FPK=-sinδ·▽PPK
(3)
引力势函数为
(4)
式中:ρPK为保持跟踪子目标点的正增益;δ=|δi j′-δi j|,为AUV实际方位与理想方位之间的偏差,δi j,δi j′分别表示第i艘AUV与第j艘AUV之间的理想方位和实际方位;‖dj j′‖2为第j艘AUV实际位置与理想位置之间的相对距离。
当δ=0或‖dj j′‖2=0时,FPK=0,此时AUV到达相应的子目标点,并将保持相同的速度和方位生成预定的队形。
2) 队形保持行为。
在多AUV系统生成队形之后,人工势场存在的必要性就由队形保持行为来体现。各AUV成员在其他成员施加的斥力场和子目标点施加的引力场共同作用中协同前进,并根据与领航者的相对位姿误差保持预定队形。
定义斥力函数为某一AUV所在坐标与障碍物或其他AUV成员间的相对距离和方位角的函数,斥力函数为
FCAi=-exp(α)·sinα·▽PCAi
(5)
斥力势函数为
(6)
(7)
其中:‖di j‖2为AUVi与障碍物j或AUVj之间的距离;dsafe为AUV之间最小安全距离;ρCA为正的避碰增益;α=arccos((Vi·Vj)/(‖Vi‖‖Vj‖)),为斥力角度,描述为AUV的当前航向与障碍物或其他AUV的相切平面之间的夹角,即
(8)
仅当α∈[0,π/2]时,障碍物和其他AUVj对AUVi产生威胁,此时需要进行成员间避碰或协同避障,否则,可认为AUVi处于安全状态。
AUV成员间避碰如图3所示。当AUVi与AUVj的安全区域有重叠时,斥力场开始生效,产生加速度促使两者保持安全距离,即实现了AUV成员间的避碰。
图3 AUV成员间避碰
3) 协同避障与队形重构行为。
在复杂海况中,多AUV系统首要目标在于整个编队的安全性,避开障碍物即体现了安全性,其优先级高于其他编队行为。协同避障行为可以理解为每个AUV成员分别避开障碍物的过程。若AUV成员与障碍物之间的距离小于其安全距离,多AUV系统便存在危险;否则可以认为多AUV系统处于安全状态。图4所示为AUV与障碍物避碰示意图。
图4 AUV与障碍物避碰
执行协同避障行为后,多AUV系统中的部分AUV成员位姿会有所变化。为恢复成原有队形,需要完成队形重构行为。图5为队形重构行为示意图。
图5 队形重构行为
定义引力函数为AUV实际位置点与新的子目标点之间的相对距离和方位的函数,引力函数为
FPA=-exp(sinφj j′)·▽PPA
(9)
引力势函数为
(10)
2 基于人工势场的改进虚拟领航者编队方法
2.1 一元线性回归模型
通过以上描述,设计了一种基于人工势场的改进虚拟领航者编队方法。由于水下环境恶劣,AUV搭载的水声通信模块通常受限于通信距离,因此有必要将最大通信距离约束考虑到本人工势场模型中,避免某AUV超出可通讯界限而失效的情况。下面对所设计的人工势场中引力场、斥力场以及AUV之间最大通信距离的约束进行分析。
图6所示为队形中势场力。
图6 队形中势场力示意图Fig.6 Schematic diagram of potential field forces in formation
图6中以AUV4为例进行受力分析,F0表示虚拟领航者对该成员施加的引力或斥力,F1~F3分别表示AUV1~AUV3对其施加的引力或斥力,F4表示最大通信距离产生的引力。
虚拟领航者产生的势场力大小为
(11)
编队成员之间的势场力大小为
(12)
考虑最大通信距离限制,可生成表达式为
(13)
式中:Rmax为最大通信距离;Rs为AUVi与最近的AUV间的距离;K3为人工势场的比例系数。
当AUVi与邻近AUV之间的距离大于最大通信距离时,AUVi将无法接收来自其他成员的通信。因此,规定AUVi在即将脱离最大通信距离时记录上一时刻邻近AUV的方位角,将此方位角作为引力方向,产生加速度促使其回归编队。
2.2 仿真分析
将上述基于人工势场的改进虚拟领航者编队方法进行Matlab数值仿真。仿真平台为运行内存12 GiB的Intel Core i7个人电脑上的Matlab R2017a。
在仿真之前,为了简化问题,进行如下假设:
1) 各AUV具有完善的路径点跟踪性能;
2) 多AUV系统定深航行;
3) 不考虑洋流干扰。
在队形设计层,以虚拟领航者为基准,设计了图6所示的队形。
仿真试验中,选定4艘AUV在起点坐标(0 m,0 m)周围随机布放(位置、艏向角均随机),而后跟随一个虚拟领航者形成直角三角形队形,向目标点(15 m,15 m)编队行进,途中随机产生障碍物,选取人工势场参数K1=1,K2=0.2,K3=1,Rmax=5 m,同时使用了传统的领航者-跟随者法作为对照仿真。四元有序数组EN可表述为
(14)
基于人工势场的编队队形轨迹对比如图7所示。
图7 编队队形轨迹对比
图7(a)中,传统领航者作为多AUV系统的成员之一,仍需进行避障动作,因跟随者的位置偏差信息均由与领航者之间的通讯得到,故跟随者会在领航者执行避障动作时产生较大的非必要的位置队形误差。图7(b)中,从多AUV系统及其虚拟领航者的运动轨迹可以看出,虚拟领航者为虚拟AUV,行进过程中无需避障,不会因领航者的避障动作产生队形误差,由此避免了环境扰动对领航者带来的影响,4艘AUV在地图左下角随机布放后能迅速确认各自生成队形的行进方向,并在队形行进过程中避开障碍物,虚拟领航者径直朝向目标位置行进。避开障碍物之后,多AUV系统在行进中恢复队形。可以看出,抵达目标位置时,队形与设计队形保持一致。
位置偏差误差曲线对比如图8所示。
图8 位置偏差误差曲线对比
如图8(a)所示,在传统领航者平稳行进的过程中,4艘AUV跟随者能向相对位置误差的偏差减小的方向趋近,但在领航者执行避障动作的过程中,其位置偏差的误差再次攀升,导致成功形成队形的过程较长,编队趋稳较慢。图8(b)中,从相对位置误差曲线可以看出,基于人工势场的改进虚拟领航者的多AUV系统在开始布放时各成员的位置误差较大,能迅速向趋于误差变小的方向行进,成预定队形行进至目标位置,且无障碍物环境对位置偏差产生的影响,队形收敛过程明显优于传统领航者法。
通过以上对比分析可以得出结论,本文所设计的基于人工势场的改进虚拟领航者编队方法能够实现编队控制的三层关键技术,即队形生成、队形保持、协同避障与队形重构,并且具有良好的快速性与鲁棒性,位置偏差收敛过程明显优于传统领航者-跟随者法。
3 总结与展望
本文针对传统领航者-跟随者方法中因领航者失效而产生的队形崩溃问题,设计了一种基于人工势场的改进虚拟领航者编队方法,该方法包含一个虚拟的领航者以领导队形的生成、保持、重构行为,同时,在传统人工势场的基础上考虑了实际海况中AUV之间通信距离的最大限制。以完成成员间避碰与编队协同避障为前提,也避免了某一成员脱离编队而失效的情况。该方法具有较高的鲁棒性与快速性,同时拥有较好的泛化能力。
以下针对本文研究中的不足提出几点展望。
1) AUV实体在水下环境运动时,受到水动力以及洋流等影响,控制系统往往具有强耦合性、强非线性,并不具备完美的路径点跟踪性能。因此,有必要为AUV成员设计各自独立的路径跟踪或轨迹跟踪控制器,以完成各自的跟踪任务。
2) 多AUV系统在水下即使设定了定深航行,仍会在人工势场法的避障过程中或在洋流的影响下脱离当前水深,故平面运动控制会向三维扩展,有必要将编队的运动环境设定为三维空间,同时需将不同的运动自由度解耦。