Chinese Journal of Ship Research
一种基于人工势场多AUV集群的实时避障方法
徐博,张娇,王超 150001哈尔滨工程大学 自动化学院,黑龙江 哈尔滨
要:[目的]针对复杂水下环境中可能存在的多种障碍物,影响多自主式水下机器人(AUV)集群运动规划摘 AUV问题,提出一种基于人工势场的多 集群实时避障方法。[方法]首先,采用一种基于动态网络拓扑的编队方AUV法,将 看作网络中的节点,通过设置势场函数来满足编队要求;然后,基于人工势场法对同时存在目标和障AUV AUV碍的区域建立势场函数,并将势场函数改进为指数函数,对 进行在线规划,实时完成多 集群避障的任Matlab 10 AUV 6务;最后,在 软件中仿真设置 台 和 个障碍物进行仿真验证。[结果]仿真结果表明,采用该方法, AUV AUV可以全部顺利地避开障碍物,准确到达目标点的安全区域。[结论]人工势场函数法可准确实现多 的实时避障,该技术的进步对提高军事作战能力具有重要的意义。关键词:自主式水下机器人;人工势场;集群运动;编队控制;避障中图分类号:U664.82 文献标志码:A DOI:10.19693/j.issn.1673-3185. 01326
0引言
随着无人机、无人战车、机器战士逐渐在战场上显示出越来越大的威力,无人化战争的发展已经呈现出相对清晰的蓝图。海洋空间智能无人运USV载器,如无人水面艇( )、自主式水下机器人(AUV)和无人水下机器人(UUV)等也得到迅速发展,开始在未来海洋国土安全、海洋开发方面发挥越来越大的作用。国内外均十分重视该领域的研究,已取得多项鼓舞人心的成果,并逐渐在军事和其他领域得到应用[1]。集群运动是自然界中一种非常普遍的现象,典型的代表有鸟群的集体飞翔、昆虫的集体迁移, 2-5]。甚至是生命体中蛋白质等物质的集体移动[在这些群体类似的运动中,如何形成协调有序的集体运动模式以及如何迅速改变当前运动状态,一直是集群运动控制研究中的热点问题。在多AUV集群运动编队方法中,有很多问题需要考虑,如稳定性、可控性等,为解决这些问题,不少学者提出了自己的想法,比如领航跟随者法(Leaderfollower)、基于行为的方法、图论法以及人工势场法等[6]。Balch 等[ 7 ]提出了一种基于行为的编队方法,即将队形控制分解为一系列基本行为,通过行为的综合来实现运动控制。该方法有明确的队形反馈,并实现了分布式控制,但对群体的行为没有明确定义,难以进行数学分析,不能保证队形的稳定性。等[8潘无为 ]提出了一种虚拟结构方法,即将AUV编队从整体上看作是一个刚体的虚拟结构, AUV每个 是刚体上相对位置固定的一点。该方AUV法可通过定义刚体的行为来控制 的运动,但不能根据环境的变化来改变队形,因而限制了其应用范围。等[9俞辉 ]研究了一种领航跟随者法,该方法AUV是将 整体拆分为两两一组,即一个领航AUV,一 AUV,通过跟随者对领航者保持个跟随一定的角度和距离来实现队形控制;根据领航者与跟随者的相对位置关系,可以形成不同的网络拓扑结构,当在环境中遇到障碍物时,可以通过改变队形来避开障碍物。但是这种主从式策略的自适应性以及鲁棒性不强,无法全面反映自然界中的个体自行选择或跟踪目标的能力。Khatib[10 ]首次提出了人工势场的概念,即假定场内的个体在受到目标和障碍的力的作用时,令其沿着势能函数值最小的方向运动。在早期,该方法仅用于静态环境,而在针对动态环境时由 于忽略了诸多动态因素,故仅选择相对位置作为Khatib输入量。针对此类问题, 对该方法进行了AUV改进,使之与其他方法结合,更适合于多 编队控制。刘明雍等[11]提出在编队控制领域需要对集群的分群运动进行研究,因为分群强调了集群中的运动分化,可通过不同的组群来实现不同的目标任务,例如避障、跟踪等,但他们只针对该问题进行了理论建模,还缺少实验验证。AUV的数量对AUV多 集群运动的导航以及控制算法具有重AUV要影响, 的数量越多,相应的控制难度也就越大。综合以上问题,本文将提出一种基于动态网络拓扑的集群运动控制方法和基于人工势场法的Matlab避障方法,对人工势场函数进行改进,并通过软件进行仿真实验以验证算法的可行性。
1 集群运动基本模型
AUV假设第i个 的控制律为 ui , (1) ui = ui α + ui o + uγ i式中:uα 为编队控制律;uo 为避障控制律;u γ 为i i i 3向目标点运动的控制律。根据这 个子控制律来AUV[12]。控制 AUV考虑由 N 个 组成的群体,动态方程则为{q̇ = pi i ṗ = ui i (2) i Î Z ; q p u Î R2 i i i式中:q = [xi yi]T ,为个体位置;pi = [ẋ i ẏ i]T ,为速i度向量; ui = [ux u ]T ,为控制输入; Z 为正整数yi i集;R 2 qij qi q为二维实数集。 = - ,为第 i个与第 j j AUV个 之间的相对距离向量。AUV将群体中的每个 都视为网络有向图中AUV的一个节点。 在运动过程中网络拓扑也会随之动态地发生改变。通过动态网络方法,可以AUV对 的群体运动行为进行建模,从而使得网络节点可以维持其与邻近个体之间的平衡距离。定义1(邻接图):设 G = (v ε) ,为 n 个节点的权重有向图,其中 v ={ 1 2 n} ,为顶点的集合,ε 为边的集合。 A = [aij] ,为权重邻接矩阵,其中对于 "i j Î I ={ 1 2 n} i ¹ j aij 0 ;对于AUV "i Î I aij = 0 。设 r 为任意两台 节点间的距离,节点 v 的邻接集合用 N 表示,定义为i i- < ={j r} (3) Ni Î v: qi qj式中, × 为 R 下的欧几里得范数( R 为m维实m m
数集),对于平衡距离, r > 0 。邻接网络 G(q)=
(v ε(q)) ,可以由点集 v 以及边集 ε(q) 来确定。其中,边集为={(i j} (4) ε(q) j) Î v ´ v: q - q < r i ¹ i j很显然,边集 ε(q) 由 q 决定( q 为个体位置), (G(q) q)就是邻接结构。
2 基于动态网络拓扑的编队控制研究
将群体中的每一个AUV都视作是网络中的一个节点,AUV在运动中形成了动态网络。为在真实的集群中捕获明显的空间顺序,使用栅格模拟 AUV集群节点的几何结构。找出一系列的 q以及 n个节点,令这些节点与相邻节点保持相同的距离,由式(5)描述为 q - qi = d "j Î Ni (q) (5) j公式中,q的选取在很大程度上影响着AUV集群的期望队形,故将其定义为格子型对象。定义2:将在式(5)限制下的 q几何配置看作是一个 α 格子,尺寸大小为 d ,AUV 个体称作α 个体。多个邻近的个体相连就形成了 α 格子。由 α格子形成的邻接网络的边长都是相等的。为了构建光滑的集成势场,并构建相应的空间邻接矩阵,将 σ 范式的非负地图做如下定义: z σ = 1 [ 1 + z 2 - 1] (6) ε在本文中,ε 的值保持不变。在这里建立新的范式是因为 z σ 在任何时候都可微,而 z 在
z = 0( z表示函数变量)处是不可微的。0~1冲击函数 ρh (z) 为标量函数,在 之间光滑,用来构建光滑的势场函数和邻接矩阵。冲击函数选择如下:
1 z Î[0 h) 1 (z - (7) h)] Î[h ρh (z)= [1 + cos(π z 1] 2 - h) 0(1 其他式中: h Î(0 1) ;冲击函数 ρh (z) 在 [1 ¥) 内, ρ̇ (z) = 0 ,| |一致趋于 z 。利用该冲击函数, ρh (z) h可定义空间邻接矩阵 A(q):
σ (8)
aij (q) = ρh ( q - qi /rα )Î[0 1] j ¹i j式中,rα = r σ ,对于任意 i 和 q ,都有 aij (q) = 0 。1,在当h = 1时,ρh (z) 在 [0 1) 内恒为 其他区间恒0。在这里,选用冲击函数的意义是建立一个为 0 1依赖于邻接网络的、矩阵元素只有 和 的矩阵。 为了构建光滑的成对势场,又引入了行为函数 ϕα (z): (9) ϕα (z) = ρh (z/rα )ϕ(z - dα )Î[0 1] ϕ(z) = 1[(a + b)σ (z + c) + (a - b)] (10) 1 2 S式中:σ1(z) = z/ 1 + z ;ϕ(z) 为非均匀 形函数;dα 2为由 α 格子组成的连接网络的边长;a,b,c为任意实数,0 < a b ,c =| a - b |/ 4ab ,以保证 ϕ(0) = 0 。
成对的吸引或者排斥势场函数定义如下: dz (11) ψα (z) = ϕα (s)ds α最后,提出了分布式控制算法,用来研究多AUV集群运动中的编队控制。å å ui α = cα ϕα ( q - qi )ni + cα aij (q)( p - p i) 1 j j 2 j σ j Î Niα j Î Niα
(12)式中的前半部分是距离梯度,后半部分是速度一q -q致项,ni = σε (q - qi)= j ,为 qi 到 qj j j 2 1 + ε q - qi j
连线的矢量,其中 ε Î(0 1) ,是 σ 范式的一个固定AUV参数。该算法描述的是任意两台 间的运动Reynolds 3条规则,并满足 关于集群运动提出的规则。
3 基于人工势场的多AUV集群运动规划
人工势场法的基本思想是:在目标点位置和障碍物位置分别构造引力场U 和斥力场U , att rep AUV相应的势场力会吸引 向目标点附近运动,而阻止其向障碍物附近运动,在合力的最终作用下, AUV指引 向目标点运动。斥力场函数的设计与障碍物有关,距离障碍物越近,斥力就越大;引力场函数与之类似。为了对该方法进行必要的理论研究,在既简化问题又不失通用性的基础上,构建了二维平面、带有静态威胁的人工势场模型[13]。3.1 引力场建模
AUV将二维平面内的 与目标点距离的函数定义为
(13)
ρ(r g) = r(x1 y1) - g(x 2 y 2)其产生的引力场为(14) U ( ρ(r g)) = ξ ρ(r g) m att式中: r(x1 y1) 指 AUV 2的位置; g(x y 2) 指目标点位置;m 为正常数,m的值是决定势场函数曲线