楊 洋,王 征,周 帥,尹 洋
(海軍工程大學,武漢 430000)
自主水下航行器(AUV)是一類自身攜帶能源、擁有一定智能化程度、能自主航行的水下智能體,其智能化程度高、成本低的特點使其可以服務于海洋科技、海洋軍事和海洋經濟等不同領域[1]。為解決單體AUV載荷局限性問題、滿足日益復雜的任務指向,多AUV系統(tǒng)的概念被提出,以實現(xiàn)更高的可拓展性與穩(wěn)定性、更強的魯棒性[2]。
遂行常以編隊形式運動,這對多AUV系統(tǒng)的隊形控制技術提出了更高的要求。多AUV隊形控制是指編隊系統(tǒng)內AUV根據(jù)其他成員的狀態(tài),調整自身速度、航向、位姿以達到多AUV協(xié)調編隊航行的控制技術。主流AUV隊形控制算法涵蓋了人工勢場法、領航者-跟隨者法、虛擬結構法、基于行為法、強化學習等方法。多AUV隊形控制中的關鍵技術包含隊形生成、隊形保持、協(xié)同避障與隊形重構[3-7]。
李娟等[8]利用領航者-跟隨者法中領航者的位置與速度信息進行編隊控制器設計,分別對跟隨者的縱向速度誤差和橫向速度誤差進行了積分滑模面的設計;李娟等[9]還提出了一種AUV路徑控制和編隊協(xié)調控制相結合的新型編隊控制器,在路徑跟蹤控制基礎上,編隊協(xié)調控制器將領航者與跟隨者的位置誤差控制轉化為跟隨者的速度誤差控制,使跟隨者能快速達到期望位置,從而使所有AUV實現(xiàn)期望的隊形并保持。但領航者-跟隨者法的缺陷也顯而易見:領航者較難得到跟隨者的速度、位姿等信息;領航者與跟隨者相對獨立,一旦領航者出現(xiàn)故障或與跟隨者失去聯(lián)系,AUV編隊系統(tǒng)將無法正常運行,故其魯棒性與系統(tǒng)可靠性往往不強。針對該缺點,有研究者提出虛擬領航者的觀點,即領航者作為一虛擬參考點參與編隊控制。其優(yōu)勢在于:領航者是虛擬的,因而不會影響整個系統(tǒng)的性能,明顯提高系統(tǒng)的可靠性,且更容易實現(xiàn)分布式的控制結構[10-11]。
本文首先設計了一種包含四層結構的編隊體系分層框架,分別對其中隊形設計與行為控制層進行了描述。針對多AUV系統(tǒng)的隊形控制問題,設計了一種基于改進的虛擬領航者的分層次編隊控制方法。該方法構建了一個虛擬的領航者,以解決傳統(tǒng)領航者-跟隨者法中領航者失效引起的隊形崩潰問題。隊形生成之后,使用人工勢場法進行隊形保持,并設計了合適的人工勢場函數(shù),用于編隊避障與成員間避碰,其中考慮了虛擬領航者與AUV成員之間的引力與斥力以及成員間的最大通信距離。
可以將編隊控制問題依次劃分為任務規(guī)劃、隊形設計、行為控制和編隊評價四層結構,分層編隊控制體系如圖1所示。
圖1 分層編隊控制體系框圖
可以使用有序數(shù)組與控制矩陣將多AUV隊形準確定型。其中,四元有序數(shù)組用以描述編隊的連接邊關系,控制矩陣則確定了編隊體系中各AUV成員之間的層次關系。
在本文條件下,編隊體系具有以下特點。
1) 隊形中有且僅有一個領航者。
2) 定義跟蹤度與被跟蹤度參數(shù)。跟蹤度根據(jù)某AUV成員是否有前接AUV而定義,若有前接AUV,則跟蹤度為1,否則為0。被跟蹤度定義為:某AUV成員若存在后續(xù)AUV,則被跟蹤度為1,否則為0。若某一艘AUV的跟蹤度與被跟蹤度均為1,則稱其為跟隨者;若跟蹤度為1,被跟蹤度為0,則稱其為尾隨者。
3) 在N艘AUV的編隊系統(tǒng)中,其編隊的層次結構中共有N-1條連接邊。
連接邊可以用一個四元有序數(shù)組表示,其算式為
EN={(V1,V2,R12,φ12),(V2,V3,R23,φ23),…,
(VN-1,VN,RN-1,N,φN-1,N)}。
(1)
使用四元有序數(shù)組可推導相應的編隊控制矩陣?;贏UV隊形節(jié)點間的邏輯,編隊控制矩陣可定義為
(2)
人工勢場法最早由KHATIB在1985年提出[12],其指導思想是將智能體在外界環(huán)境中的運動擬作在一種虛擬勢場中的運動,該勢場中的目標點對智能體施加引力作用,障礙物和其他威脅施加斥力作用,智能體在兩種虛擬勢場力的合力中產生加速度而運動。特定AUV在本隊形中,其他AUV成員和環(huán)境中的障礙物將對其產生斥力作用,而實時子目標點將對其產生引力作用。AUV編隊控制行為主要包括隊形生成、隊形保持、協(xié)同避障與隊形重構。
1) 隊形生成行為。
多AUV系統(tǒng)在形成編隊之前,所有AUV成員運行其路徑跟蹤控制器,跟蹤各自的路徑子目標點,路徑子目標點在人工勢場中對AUV施加引力場,使其產生加速度駛向路徑子目標點,從而達到預期的編隊幾何形狀,并執(zhí)行隊形生成行為。隊形生成行為如圖2所示。
圖2 隊形生成行為示意圖
定義引力函數(shù)為AUV實際位置點與子目標點之間的相對距離和方位的函數(shù),引力函數(shù)為
FPK=-sinδ·▽PPK
(3)
引力勢函數(shù)為
(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時,F(xiàn)PK=0,此時AUV到達相應的子目標點,并將保持相同的速度和方位生成預定的隊形。
2) 隊形保持行為。
在多AUV系統(tǒng)生成隊形之后,人工勢場存在的必要性就由隊形保持行為來體現(xiàn)。各AUV成員在其他成員施加的斥力場和子目標點施加的引力場共同作用中協(xié)同前進,并根據(jù)與領航者的相對位姿誤差保持預定隊形。
定義斥力函數(shù)為某一AUV所在坐標與障礙物或其他AUV成員間的相對距離和方位角的函數(shù),斥力函數(shù)為
FCAi=-exp(α)·sinα·▽PCAi
(5)
斥力勢函數(shù)為
(6)
(7)
其中:‖di j‖2為AUVi與障礙物j或AUVj之間的距離;dsafe為AUV之間最小安全距離;ρCA為正的避碰增益;α=arccos((Vi·Vj)/(‖Vi‖‖Vj‖)),為斥力角度,描述為AUV的當前航向與障礙物或其他AUV的相切平面之間的夾角,即
(8)
僅當α∈[0,π/2]時,障礙物和其他AUVj對AUVi產生威脅,此時需要進行成員間避碰或協(xié)同避障,否則,可認為AUVi處于安全狀態(tài)。
AUV成員間避碰如圖3所示。當AUVi與AUVj的安全區(qū)域有重疊時,斥力場開始生效,產生加速度促使兩者保持安全距離,即實現(xiàn)了AUV成員間的避碰。
圖3 AUV成員間避碰
3) 協(xié)同避障與隊形重構行為。
在復雜海況中,多AUV系統(tǒng)首要目標在于整個編隊的安全性,避開障礙物即體現(xiàn)了安全性,其優(yōu)先級高于其他編隊行為。協(xié)同避障行為可以理解為每個AUV成員分別避開障礙物的過程。若AUV成員與障礙物之間的距離小于其安全距離,多AUV系統(tǒng)便存在危險;否則可以認為多AUV系統(tǒng)處于安全狀態(tài)。圖4所示為AUV與障礙物避碰示意圖。
圖4 AUV與障礙物避碰
執(zhí)行協(xié)同避障行為后,多AUV系統(tǒng)中的部分AUV成員位姿會有所變化。為恢復成原有隊形,需要完成隊形重構行為。圖5為隊形重構行為示意圖。
圖5 隊形重構行為
定義引力函數(shù)為AUV實際位置點與新的子目標點之間的相對距離和方位的函數(shù),引力函數(shù)為
FPA=-exp(sinφj j′)·▽PPA
(9)
引力勢函數(shù)為
(10)
通過以上描述,設計了一種基于人工勢場的改進虛擬領航者編隊方法。由于水下環(huán)境惡劣,AUV搭載的水聲通信模塊通常受限于通信距離,因此有必要將最大通信距離約束考慮到本人工勢場模型中,避免某AUV超出可通訊界限而失效的情況。下面對所設計的人工勢場中引力場、斥力場以及AUV之間最大通信距離的約束進行分析。
圖6所示為隊形中勢場力。
圖6 隊形中勢場力示意圖Fig.6 Schematic diagram of potential field forces in formation
圖6中以AUV4為例進行受力分析,F(xiàn)0表示虛擬領航者對該成員施加的引力或斥力,F(xiàn)1~F3分別表示AUV1~AUV3對其施加的引力或斥力,F(xiàn)4表示最大通信距離產生的引力。
虛擬領航者產生的勢場力大小為
(11)
編隊成員之間的勢場力大小為
(12)
考慮最大通信距離限制,可生成表達式為
(13)
式中:Rmax為最大通信距離;Rs為AUVi與最近的AUV間的距離;K3為人工勢場的比例系數(shù)。
當AUVi與鄰近AUV之間的距離大于最大通信距離時,AUVi將無法接收來自其他成員的通信。因此,規(guī)定AUVi在即將脫離最大通信距離時記錄上一時刻鄰近AUV的方位角,將此方位角作為引力方向,產生加速度促使其回歸編隊。
將上述基于人工勢場的改進虛擬領航者編隊方法進行Matlab數(shù)值仿真。仿真平臺為運行內存12 GiB的Intel Core i7個人電腦上的Matlab R2017a。
在仿真之前,為了簡化問題,進行如下假設:
1) 各AUV具有完善的路徑點跟蹤性能;
2) 多AUV系統(tǒng)定深航行;
3) 不考慮洋流干擾。
在隊形設計層,以虛擬領航者為基準,設計了圖6所示的隊形。
仿真試驗中,選定4艘AUV在起點坐標(0 m,0 m)周圍隨機布放(位置、艏向角均隨機),而后跟隨一個虛擬領航者形成直角三角形隊形,向目標點(15 m,15 m)編隊行進,途中隨機產生障礙物,選取人工勢場參數(shù)K1=1,K2=0.2,K3=1,Rmax=5 m,同時使用了傳統(tǒng)的領航者-跟隨者法作為對照仿真。四元有序數(shù)組EN可表述為
(14)
基于人工勢場的編隊隊形軌跡對比如圖7所示。
圖7 編隊隊形軌跡對比
圖7(a)中,傳統(tǒng)領航者作為多AUV系統(tǒng)的成員之一,仍需進行避障動作,因跟隨者的位置偏差信息均由與領航者之間的通訊得到,故跟隨者會在領航者執(zhí)行避障動作時產生較大的非必要的位置隊形誤差。圖7(b)中,從多AUV系統(tǒng)及其虛擬領航者的運動軌跡可以看出,虛擬領航者為虛擬AUV,行進過程中無需避障,不會因領航者的避障動作產生隊形誤差,由此避免了環(huán)境擾動對領航者帶來的影響,4艘AUV在地圖左下角隨機布放后能迅速確認各自生成隊形的行進方向,并在隊形行進過程中避開障礙物,虛擬領航者徑直朝向目標位置行進。避開障礙物之后,多AUV系統(tǒng)在行進中恢復隊形。可以看出,抵達目標位置時,隊形與設計隊形保持一致。
位置偏差誤差曲線對比如圖8所示。
圖8 位置偏差誤差曲線對比
如圖8(a)所示,在傳統(tǒng)領航者平穩(wěn)行進的過程中,4艘AUV跟隨者能向相對位置誤差的偏差減小的方向趨近,但在領航者執(zhí)行避障動作的過程中,其位置偏差的誤差再次攀升,導致成功形成隊形的過程較長,編隊趨穩(wěn)較慢。圖8(b)中,從相對位置誤差曲線可以看出,基于人工勢場的改進虛擬領航者的多AUV系統(tǒng)在開始布放時各成員的位置誤差較大,能迅速向趨于誤差變小的方向行進,成預定隊形行進至目標位置,且無障礙物環(huán)境對位置偏差產生的影響,隊形收斂過程明顯優(yōu)于傳統(tǒng)領航者法。
通過以上對比分析可以得出結論,本文所設計的基于人工勢場的改進虛擬領航者編隊方法能夠實現(xiàn)編隊控制的三層關鍵技術,即隊形生成、隊形保持、協(xié)同避障與隊形重構,并且具有良好的快速性與魯棒性,位置偏差收斂過程明顯優(yōu)于傳統(tǒng)領航者-跟隨者法。
本文針對傳統(tǒng)領航者-跟隨者方法中因領航者失效而產生的隊形崩潰問題,設計了一種基于人工勢場的改進虛擬領航者編隊方法,該方法包含一個虛擬的領航者以領導隊形的生成、保持、重構行為,同時,在傳統(tǒng)人工勢場的基礎上考慮了實際海況中AUV之間通信距離的最大限制。以完成成員間避碰與編隊協(xié)同避障為前提,也避免了某一成員脫離編隊而失效的情況。該方法具有較高的魯棒性與快速性,同時擁有較好的泛化能力。
以下針對本文研究中的不足提出幾點展望。
1) AUV實體在水下環(huán)境運動時,受到水動力以及洋流等影響,控制系統(tǒng)往往具有強耦合性、強非線性,并不具備完美的路徑點跟蹤性能。因此,有必要為AUV成員設計各自獨立的路徑跟蹤或軌跡跟蹤控制器,以完成各自的跟蹤任務。
2) 多AUV系統(tǒng)在水下即使設定了定深航行,仍會在人工勢場法的避障過程中或在洋流的影響下脫離當前水深,故平面運動控制會向三維擴展,有必要將編隊的運動環(huán)境設定為三維空間,同時需將不同的運動自由度解耦。