?

基于人工勢場法的AUV避障算法研究綜述

2020-02-18 15:16郭銀景鮑建康呂文紅
計算機工程與應用 2020年4期
關鍵詞:海流極小值勢場

郭銀景,劉 琦,鮑建康,徐 鋒,呂文紅

1.山東科技大學 電子信息工程學院,山東 青島266590

2.青島智海牧洋有限公司,山東 青島266590

3.山東科技大學 電氣與自動化工程學院,山東 青島266590

4.山東科技大學 交通學院,山東 青島266590

1 引言

自主水下潛航器(Autonomous Underwater Vehicle,AUV)具有快捷靈活、活動領域廣闊、隱蔽性好等特點,在軍事和民用領域得到了廣泛的應用[1-2]。避障就是當AUV上的傳感器檢測到周圍出現障礙物時[3],能夠以最快的時間和最小的成本完成躲避障礙物的動作,并且在成功避開障礙物之后按照航線繼續前進。

應用避障算法解決問題的具體步驟如下:首先要根據AUV所處的海洋環境完成模型的建立,然后依據所建立的模型和全局信息完成全局路徑規劃,當全局規劃的線路上出現障礙物時則進行局部路徑規劃完成避障[4]。隨著算法的改進和升級,人工勢場法、遺傳算法、模糊邏輯算法等被廣泛應用于避障領域[5-6]。李建文等[7]為了解決遺傳算法在規劃避障路徑時存在的計算數據量龐大和有尖峰現象等問題,提出了將障礙物簡化為多邊形并進一步分成三角形的改進型方法。Pan等[8]為了提高遺傳算法尋找最優避障路徑的效率和精度,提出了遺傳螞蟻混合算法,通過該算法可縮短尋優時間,提高算法效率。Sun等[9]針對水下機器人移動避障過程中存在的不確定性,提出了一種新型的帶加速/中斷(A/B)模塊的模糊推理系統,所設計的推理系統能夠成功、有效地完成三維避障路徑規劃。為了使規劃出來的避障路徑最優,Sun等[10]在文獻[9]的基礎上對原來的模糊集進行優化,克服了模糊邊界主觀性大的問題,將優化策略與模糊設計相結合,可以保證生成一條最優的三維避障路徑。Ming等[11]提出了一種新的自適應蟻群算法和基于粒子群優化融合的模糊規則優化算法,通過該算法可以實現AUV在復雜水下環境中的智能路徑規劃。

但是遺傳算法和模糊邏輯算法均存在計算時間長且計算量大的問題[6,12],并且模糊控制算法具有很大的偶然性,難以實現水下精確避障。而人工勢場法具有算法結構簡單明了、反應速度快捷等優勢,因此該算法在AUV的避障路徑規劃領域中得到了廣泛的應用[13],并逐漸成為主流的避障算法。

2 人工勢場法概述

人工勢場法是Khatib于1986年提出的一種虛擬力法[14],該方法可以將AUV在水下的運動視為一種在虛擬人工受力場中的運動,通過所生成的勢場進行路徑規劃。

2.1 人工勢場法模型

人工勢場法的原理就是,在障礙物周圍和不希望AUV進入的區域生成斥力勢場并對其產生斥力[15],在目標點位置和希望AUV進入的區域生成引力勢場并對其產生引力,對AUV所受的引力和斥力進行矢量合成,在合力的作用下使得AUV沿著無障礙物的路徑運動[16]。AUV在人工勢場中受到的作用力如圖1所示。

圖1 AUV在人工勢場中的受力分析

定義合理的引力勢場函數和斥力勢場函數是保證人工勢場法得以應用的關鍵,通過對勢場函數進行負梯度運算可以求得引力函數和斥力函數。通過引、斥力函數可以計算出AUV在不同環境中受到的引力和斥力,進而求得合力[17-18],勢場模型如圖2所示。引力勢場函數和斥力勢場函數的常規定義如下。

圖2 引力和斥力勢場模型圖

常規的引力勢場函數定義如式(1)所示:

式中,katt為大于0的引力場系數常量,?(x-xg)為AUV距離目標點的直線距離。

特朗普此次挑起中美貿易戰,直接原因在于中美貿易的失衡,而其深層目的則是為了試圖重演1980年代美日貿易戰以遏制中國復興,同時在11月美國國會中期選舉前拉票。

Uatt(x)的形狀類似“低谷”,目標點處具有最低的引力勢能。對引力勢場函數進行負梯度運算可得引力函數,如式(2)所示:

常規斥力勢場函數定義如式(3)所示:

式中,krep為大于0的斥力場系數常量,?(x,x0)為AUV距離障礙物的直線距離,?0為障礙物的最大影響范圍。

Urep(x)形狀類似“高地”,障礙物處具有最高的斥力勢能。對斥力勢場函數進行負梯度運算可得斥力函數,如式(4)所示:

因此,AUV受到的合力為F合=Fatt+Frep。

2.2 人工勢場法存在的問題

人工勢場法就是利用合力來控制AUV的運動方向。由式(1)可知目標點距離AUV越遠引力勢場勢能就越大,在目標點處引力勢能為0。由式(3)可知障礙物距離AUV越近斥力勢場勢能就越大,在障礙物處斥力勢能為無窮大[19]。在合力的作用下,引導AUV向目標點運動并且可以順利避開運動路徑上的障礙物[19],但是當人工勢場法應用于水下避障時會存在以下幾個問題:

(1)未考慮復雜水下環境的問題。水下環境中存在許多形狀不規則的靜態障礙物(如海底礁石等)和復雜多變的動態障礙物(如其他AUV等[20]);水下環境與地面環境相比有著本質的區別,在海洋中海流對AUV的影響遠大于陸地上風速對機器人的影響[21]。因此,AUV在航行過程中,不僅要準確地避開復雜的水下障礙物,還要考慮海流因素的影響。

(2)目標不可達問題。目標不可達問題又稱GNRON問題[22],當AUV接近目標點時,其所受到的引力逐漸減小,若此時目標點恰好在障礙物的影響范圍內,其所受到的斥力卻在增大并且與引力方向相反,就會使得AUV停在某一點或發生抖動現象,導致無法到達目標點[17]。

3 人工勢場法研究進展

近年來,國內外的研究人員針對上面提出的三個問題,對人工勢場法進行了一定的改進和優化,改進后的人工勢場法可以提高AUV順利準確地完成避障路徑規劃任務的能力,并且提高了避障路徑規劃的質量[23]。王芳等[25]用柵格法進行環境建模,并且根據障礙物對不同節點的影響程度改進人工勢場法。此方法可以在多障礙物的環境中完成避障,但未考慮動態障礙物的影響,而且使用柵格法會極大地增加計算量。李沛倫等[26]在傳統人工勢場的基礎上引入速度勢場函數,將靜態勢場轉變為動態勢場,并且分析了定常海流對避障路徑規劃的影響,但是未研究復雜海流對路徑規劃的影響。

3.1 針對水下復雜環境問題的相關研究

解決此類問題需要考慮多障礙物復雜環境因素、AUV自身因素和海流等因素[27]。在考慮復雜不規則障礙物和AUV自身因素方面,楊健等[13]將AUV在進行變加速運動和減速轉向運動時的運動特性考慮到勢場模型之中,在進行避障路徑規劃時既考慮了障礙物等因素,也將AUV的自身特性加入其中。經過改進的人工勢場可以保證AUV在單障礙物和復雜多障礙物環境中均可以成功避開障礙物到達目標點。但是面對復雜多障礙物環境,AUV需要進行多次的變速轉向運動,因此在該環境下需要較長的避障路徑和避障時間。文獻[28]提出一種基于人工勢場法的H∞的避障控制方法。該方法通過設置期望深度來防止AUV與海床或障礙物相撞,并通過高度控制器設置一個最大操作深度來限制AUV的最大下潛深度。該方法對所有海底地形遵守所需深度和高度的安全限制,不會發生任何碰撞。文獻[29]將機器人正面障礙物的速度信息添加到斥力模型的建立中,該信息會對機器人產生額外的控制斥力,在新斥力的作用下可以使機器人平穩地繞過障礙物順利到達目標點。經過改進的人工勢場法在多障礙物的復雜動態環境中可以達到較好的避障效果,并且可以避免機器人進入局部極小值點。文獻[30]利用動態窗口法對勢場法進行改進,通過動態的檢測函數可以提前發現局部陷阱并順利避開,還通過提高最小危險系數和考慮障礙物速度等信息的方式來改進勢場函數。此改進方法可以保證機器人在復雜環境中在遇到動態障礙物時及時準確地做出避障判斷。目前大部分改進算法的適用環境是環境中的部分信息已知且環境中隨機移動的障礙物較少[31],對于完全未知的環境缺乏進一步的研究,因此未來的工作可以擴展到信息未知和存在多個隨機移動障礙物的環境中。

在考慮海流因素影響方面,文獻[16]和文獻[32]為了實現對動態障礙物的躲避,引入速度勢場函數將靜態勢場轉變為動態勢場,并且考慮了水平方向上的定常海流對水下滑翔機運動的影響,實驗結果表明該方法在有海流的情況下可以成功避開靜態和動態障礙物。文獻[33]和文獻[34]提出了一種將改進的人工勢場法和速度合成算法進行結合的路徑規劃算法。該方法既可以在存在海流的環境下避開海底復雜障礙物,又可以縮短到達目標點的時間和路徑長度,提高避障路徑規劃的效率。在速度合成算法中,AUV的合成速度分析如圖3所示,考慮海流因素前后的避障路徑規劃如圖4所示。Cao等[35]在文獻[33]的基礎上提出一種結合置信函數(BF)的速度矢量綜合方法,除了采用速度矢量綜合法調整AUV運動方向抵消海流影響外,還采用BF方法對非碰撞路徑進行動態規劃,這樣可以指導AUV實現更高效、更自適應的路徑規劃。文獻[24]僅考慮了恒定海流的影響,不能完全適應存在復雜可變海流的海洋環境。王奎民等[36]綜合考慮海洋中復雜障礙物和海流因素對避障路徑規劃的影響,將復雜海流和渦流等強影響因素考慮到勢場模型中,通過改進的勢場法可以極大地提高AUV對海洋環境的適應性。以上改進算法都只考慮了定常海流對避障路徑規劃的影響,存在一定的局限性。隨著AUV續航能力的不斷提升,未來AUV所執行的任務一定能突破有限海域和特定時間的限制,那時海流的方向和大小可能不再恒定不變,因此未來需要考慮在時變海流下如何高效地完成避障路徑規劃任務。

圖3 考慮海流因素時的AUV合成速度

3.2 針對目標不可達問題的相關研究

對于目標不可達問題可以通過改變勢場函數的常規定義或修正斥力勢場函數的公式參數等方法來解決[38]。在改變勢場函數的常規定義方面,Li等[32]提出一種用指數函數來定義新的勢場函數的方法。該方法可以有效地解決常規定義的勢場函數中存在的梯度變化快、導致錯誤避障判斷的問題,使用指數函數定義勢場函數可以提高對避障路徑穩定性的控制效果,但是此方法僅考慮了固定目標點的情況,存在一定的局限性。文獻[37]和文獻[38]提出加入機器人與目標點的相對距離和相對速度,以及機器人與障礙物的相對角度、速度和加速度作為約束條件對勢場函數進行改進,可以有效地解決因陷入局部最優造成的目標不可達問題,但是該方法存在參數精度低,且解決問題的時間過長等問題。

在修正斥力勢場函數方面,文獻[39]和文獻[40]將目標點和AUV之間的直線距離作為調節因子加入到斥力勢場函數中對其進行修正,可有效地解決目標點在障礙物附近時的目標不可達問題,但是當調節因子過大時會使AUV不受斥力,從而導致避障失效。郜輝等[41]提出一種動態改進障礙物影響范圍的方法,可以使目標點擺脫障礙物的影響,從而解決目標點與障礙物距離很近時的目標不可達問題,算法改進前后的路徑對比如圖5所示。Geva等[42]通過在斥力勢場函數中添加動態斥力增益因子來解決目標不可達問題。該因子根據障礙物對機器人影響程度的不同,其值大小也會存在差異,因子數值的大小可以通過模糊控制器進行動態調節。針對目標不可達問題,絕大多數的改進方法都是在目標點固定的情況下實現的,若讓AUV到達一個動態目標點,則以上的改進方法將不再有效。因此未來應考慮將目標點與AUV的相對速度加入到勢場模型當中,從而得到一個更加完善的勢場模型,在該模型下無論設置固定的目標點還是動態的目標點,AUV均可以順利到達。

圖4 考慮定常海流因素前后的避障路徑規劃

圖5 人工勢場法改進前后避障路徑對比

上述幾種改進方法的對比如表1所示。

表1 針對目標不可達問題改進方法對比

3.3 針對局部極小值問題的相關研究

解決此類問題主要通過設置虛擬引導點(包括虛擬目標點和障礙物)引導AUV逃離局部極小值點[43]。郜輝等[41]提出在局部極小值點處隨機產生一個子目標點,子目標點可以產生一個吸引力使機器人逃出局部極小點位置,算法改進前后的路徑對比如圖6所示。除了設置子目標點外,還可以設置虛擬障礙點[44],潘洲等[45]根據機器人和目標點連線與障礙物兩側的夾角不同,分成三種情況動態添加虛擬障礙點,不僅可以減少避障路徑規劃時間,提高規劃效率,而且也減小了完成路徑規劃的代價。Azzabi等[46]提出一種新的排斥勢函數,其可以在檢測到局部極小值時激活虛擬逃逸力,使機器人能夠擺脫死鎖位置,順利地避開目標方向上的障礙物。為了使逃逸力的方向更加明確,Liang等[47]在對勢場函數進行改進的基礎上,提出了一種扇形劃分的方法,即以局部極小值點為圓的中心,將圓等分成60個扇形,確定障礙物所屬的扇形區域a,然后將虛擬障礙物設置在(a+1,a+15)范圍內,從而對機器人產生一個額外的斥力,使其成功跳出局部極小值點。通過扇形劃分的方法可以使新斥力的方向更加精準,并且等分的角度越小斥力的方向就越精確,但是如果等分的角度過小,將會延長機器人掃描并確定障礙物所在區域的時間,從而在一定程度上影響人工勢場法避障的實時性。

圖6 增加子目標點前后的避障路徑對比

為了擺脫添加引導點的復雜性,Milad等[48]提出了一種勢場填充策略來避開局部極小值點,即對全局進行搜索,若發現局部極小值點,就對此點的勢場進行填充,從而消除該局部極小值點。為了防止搜索過程進入一個死循環,還設置了最大搜索時間,當達到最大搜索時間或到達目標點時,停止搜索。另外,本文還提出了利用回歸搜索算法對避障路徑進行優化,但是該方法存在振蕩和路徑平滑度不足的問題。

上述幾種改進方法的對比如表2所示。

表2 針對局部極小值問題改進方法對比

3.4 關于APFM組合避障算法的相關研究

近幾年來,國內外研究人員提出通過組合算法的方式來提高人工勢場法的避障效果[50]。組合避障算法既保留了人工勢場法原理簡單、反應迅速的優點,又可以在一定程度上克服算法本身的缺點,對避障路徑進行進一步的優化[47]。

Song等[51]針對傳統人工勢場法本身存在的缺陷,除了通過添加速度矢量對勢場函數進行修改外,還利用模糊控制算法,根據不同的障礙物環境對斥力勢場的影響因素進行實時的調整。這種組合算法的結構簡單,容易實現,且尋找最優避障路徑效果較好,可以提高機器人躲避障礙物的自適應性和實時性。潘無為等[52]針對多AUV的避碰與避障控制問題,提出了一種將人工勢場法與虛擬結構相互結合的多AUV避障控制算法。該算法可以使得多AUV在保持編隊陣型的基礎上,避免與行進過程中遇到的障礙物以及AUV之間的碰撞。段建民等[15]除了改進人工勢場模型之外,還結合遺傳算法中的并行搜索方法尋找最優避障路徑。該方法能夠在復雜的靜態和動態環境中實現避障,并找到最佳或接近最佳的避障路徑。組合避障算法與傳統算法的優缺點對比如表3所示。

表3 避障算法優缺點對比圖

4 總結與展望

AUV避障算法需要在傳統機器人避障算法的基礎上考慮海洋因素的影響,這往往難以同時兼顧實時性、復雜環境約束、水下機器人性能約束等要求,人工勢場法由于原理簡單等優勢,被廣泛應用于避障領域[55]。經過國內外研究人員對人工勢場法的不斷改進,已經可以基本解決目標不可達和局部極小等問題,將海流因素考慮進人工勢場法中是保證該算法適用于AUV水下避障的關鍵,國內外專家也針對定常海流和渦流的影響,對勢場法進行了相應的改進,并且取得較好的避障效果。未來可以從如下幾方面對人工勢場法進行改進:

(1)AUV陷入局部極小值點從而導致無法到達目標點問題是人工勢場算法存在的主要問題,并且國內外提出的許多改進方法大多是為了解決AUV、目標點和障礙物共線時造成的局部極小值問題,但是水下環境復雜,多障礙物同時存在的情況相當普遍,而目前針對多障礙物所造成的局部極小值問題的研究相對較少。因此未來需要構建更加完善的勢場函數模型,從根本上解決局部極小值問題。

(2)在實際應用中,帶有海流約束的避障路徑規劃問題廣泛存在。對于AUV而言,將時變海流約束條件加入到勢場函數模型中是十分必要的,但是勢場模型的基本特征增大了其加入的難度,若能通過適當的方式將時變海流的影響轉化到目標或障礙物上,并通過引力函數和斥力函數直接表現出來,將有效地解決此類問題。

(3)每一種避障算法都有各自的優缺點和使用范圍,為了實現優勢互補,國內外研究人員更傾向于將多種算法進行融合,經過算法融合可以找到局部路徑規劃的最優解。如文獻[56]和文獻[57]提出將勢場法與模糊邏輯算法進行相互配合,可以在保證完成避障任務的同時優化避障路徑,使規劃的路徑更加光滑精確。未來可以將局部路徑規劃算法與全局路徑規劃算法進行相互融合,使得避障路徑的規劃體系更加完善。

(4)人工勢場算法自身存在的一個不足就是不具備尋優的功能,通過人工勢場法生成的路徑可以實現避障任務但未必是最優避障路徑[16]。因此,可以將人工勢場法未來的研究方向放在如何通過自身算法的改進實現尋找最優路徑的功能。目前人工勢場法主要是通過與優化算法進行融合來尋找全局最優路徑,在未來的研究中,可以考慮在規劃避障路徑時將AUV受到的作用力和避障時所做的功同時考慮,使得到的結果更加接近于最優解或近似最優解。

猜你喜歡
海流極小值勢場
基于數據挖掘和海流要素的船舶導航改進研究
基于Frenet和改進人工勢場的在軌規避路徑自主規劃
融合前車軌跡預測的改進人工勢場軌跡規劃研究
有限水深海流感應電磁場數值模擬?
一道抽象函數題的解法思考與改編*
有限水深海流感應電磁場數值模擬?
構造可導解析函數常見類型例析*
人工勢場法與A*算法結合的機械臂避障路徑規劃研究
基于勢場搜索的無人車動態避障路徑規劃算法研究
極小值原理及應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合