?

基于改進人工勢場法的無人船智能避障算法設計

2023-02-03 02:27王萍萍
連云港職業技術學院學報 2023年3期
關鍵詞:勢場航向障礙物

王萍萍

(連云港職業技術學院信息工程學院,江蘇連云港 222006)

無人船是一種不需要人員操縱就能夠自主航行的水面或水下船舶。隨著科技的不斷進步和人們對自主船舶的需求日益增長,無人船的應用范圍也越來越廣泛。無人船可以用于多種用途,比如海洋勘探、水下考古、科學研究、海上救援、軍事偵察等。在海洋勘探領域,無人船可以進行海洋地質調查、海底管道維修、石油天然氣勘探等。在水下考古領域,無人船可以搭載探測設備,幫助考古人員尋找古代文明遺址。在科學研究領域,無人船可以進行海洋生物學、氣象學、海洋地球物理學等方面的研究。在海上救援領域,無人船可以在危急時刻迅速前往救援現場,為落水者提供幫助。在軍事偵察領域,無人船可以進行情報收集、海上監視、反潛偵察等任務。無人船的優點包括降低成本、提高效率、降低風險、減少人員傷亡等等[1]。

無人船作為一種智能航行器,要具有在復雜水文環境中進行自主航線作業的功能,主要依賴于船舶自主控制技術,其中對于其避障策略的設計是關鍵一環。無人船在航行時不可避免地會遭遇障礙物,例如船只、島嶼、礁石等,因此設計一種可靠的避障策略對于提高無人船的航行安全性至關重要。針對這一問題,學術界開展了大量研究,文獻[2]提出了一種基于離線馬爾科夫決策過程(MDP)的欠驅動AUV 的實時避碰方法,該方法將僅考慮障礙物幾何特性的粗規劃與AUV 運動學和動力學特性相結合,從而解決了當障礙物環境發生變化時,在重規劃過程中求解MDP產生的計算量過大的問題。在機器人運動規劃領域,由文獻[3]提出的人工勢場法是一種經典的算法,部分研究者也將其應用于解決無人海洋航行器的避障問題。文獻[4]提出了一種巡航船混合路徑規劃算法,使用A*算法規劃全局路徑,在未知的水面區域利用人工勢場進行局部路徑規劃。文獻[5]提出一種考慮時間優化的改進蟻群算法,改變信息素更新方式,將該算法應用于無人救生船航跡優化,從而有效降低航行時間。文獻[6]針對傳統A*算法所規劃的路徑在避開障礙物之后無法快速回到預設航線上的問題,提出了一種改進的A*算法,該算法能夠使無人航道測量船在避開障礙物之后更快地回到預設航線。文獻[7]基于D*lite 算法開發了一種USV 路徑規劃算法,并結合人工勢場法增強規劃路徑的安全性。文獻[8]提出基于改進型DWA 的移動機器人避障路徑規劃,定義了關鍵航跡點的概念。

上述國內外文獻為無人船避障算法的研究提供了諸多參考,但是大部分文獻的研究都側重于路徑規劃層面,即利用全局的環境信息和障礙物信息,通過一定的尋優算法得到一條最優路徑,再通過一定途徑實現無人船對最優路徑的跟蹤。這種策略的優點在于通過合理的算法設計,能夠找出一條全局最優路徑,但其缺點在于需要經過規劃路徑—跟蹤路徑兩步才能實現完整的避障功能,如果規劃的路徑與無人船的動力學特性不符合,那么無人船將很難實現對規劃路徑的跟蹤。

針對上述問題,本文基于人工勢場法設計無人船的智能避障算法。首先基于牛頓歐拉法建立無人船的運動模型,然后結合得到的運動模型,基于人工勢場法設計無人船的避障算法,并且針對人工勢場法中的局部極小值問題提出改進措施,得到改進的人工勢場法。該算法是一種端到端的避障策略,通過識別無人船周圍的障礙物信息,能夠直接輸出執行器的控制指令,再通過無人船對控制指令的反饋信息調整執行器的控制指令,形成完整的控制回路。因此,本文提出的無人船智能避障算法是一種實時避障算法,能夠充分考慮無人船的運動特性,在可達性方面具備一定的優勢。

1 無人船運動模型與控制器設計

為了模擬無人船在海洋環境中的運動,首先需要建立反映無人船運動學與動力學特性的數學模型。與艏搖運動相比,無人船的橫蕩和縱蕩運動幅度較小,因此可忽略這兩個自由度的運動,從而建立無人船運動的四自由度模型。

根據文獻[9]15-56,基于牛頓-歐拉法建立的無人船運動的動力學方程可以表示為

式中,V=[vxvyvzφ˙]T為無人船運動的相對速度向量,其中φ為無人船的航向角;M 為剛體慣性矩陣;C 為科氏向心力系數矩陣;D 為阻尼矩陣;G 為重力/浮力矩陣;T 和Fruddte分別為無人船受到的推進器推力和舵擺力,分別用于提供無人船動力及控制無人船航向;Fwave為無人船受到的波浪作用力。

剛體慣性矩陣可以表示為

式中,(xg,yg)表示船體坐標系原點與船體質心之間的縱向、橫向距離。由于本文研究的無人船為軸對稱結構,因此yg=0。

科氏向心力系數矩陣可以表示為

阻尼矩陣D 可以表示為

式中,D11、D22、D33、D44分別表示無人船平面運動和艏搖運動的阻尼系數,D(iji≠j)表示交叉阻尼系數。無人船運動的運動學方程可以表示為

式中,[x y zφ]T為無人船運動的位置與姿態向量,T 為船體坐標系向慣性坐標系轉換的轉換矩陣,可表示為

為了對無人船的航向進行控制,本文設計基于PD 控制器的航向控制算法。記無人船航向與預設航向之間的偏差為

將△φ作為PD 控制器的控制輸入,則輸出舵機舵擺角度為

式中,Kp、Kd分別為關于比例和導數的增益?!鳓炸B為航向偏差的變化率。

基于PD 控制器的無人船航向控制流程見圖1。

圖1 PD 航向控制流程

基于上述建模思路,使用Simulink 仿真軟件搭建無人船運動仿真程序。通過為無人船施加預設航向的階躍輸入信號,驗證該PD 航向控制器的有效性,輸入信號與無人船的航向響應見圖2。從圖2 可以看出,無人船很好地完成了對階躍輸入的跟蹤,說明所設計的PD 控制器能夠完成對無人船的航向控制,所建立的無人船運動控制模型可以用于對其避障算法的研究。

圖2 無人船對預設航向階躍信號的航向響應

2 無人船避障算法設計與驗證

2.1 人工勢場法

基于上節構建的無人船運動模型與控制器,本節基于人工勢場法設計無人船的避障算法。人工勢場法是一種經典的機器人路徑規劃算法,基本原理見圖3所示。它模擬了物理世界中的勢場理論,將機器人和障礙物看作點電荷,通過對機器人施加勢場和障礙物施加反向的斥力場來實現機器人的自主避障和路徑規劃。在人工勢場法中,機器人被看作一個自由粒子,在其周圍施加一個目標勢場和障礙物施加的斥力場。目標勢場使機器人朝向目標點移動,而斥力場則使機器人避開障礙物。這種勢場模擬的方法具有簡單、高效、易于實現等優點,適用于小型機器人的路徑規劃和避障。

圖3 人工勢場法原理

機器人在工作空間內的任一點都會受到虛擬引力勢場的作用,引力勢的大小與機器人距目標點的距離有關。該距離越大,引力勢越大,目標點對機器人的吸引力越強;反之,該距離越小,引力勢越小,目標點對機器人的吸引力越小。當機器人到達目標點時,引力勢為零,即不再受到目標點的引力作用。由此可知引力勢函數可定義為

式中,(x,y)為機器人的位置坐標;k1為引力勢函數的增益系數;L1為機器人距目標點的距離。

當機器人進入障礙物的影響范圍內時,才會受到斥力勢的作用。距離障礙物越近,斥力勢越大,障礙物對機器人的排斥力越大;距離障礙物越遠,斥力勢越小,障礙物對機器人的排斥力越小。因此,斥力勢可定義為

式中,k2為斥力勢函數的增益系數;L0為障礙物的影響距離,L2為機器人與障礙物之間的距離。

圖4 展示了引力場和斥力場疊加后的總勢場示意圖。為了達到勢能最小的目標點處,機器人通過搜索勢能減小的方式進行路徑規劃,從而繞開障礙物而到達目標點。

2.2 改進的人工勢場法

局部極小值問題是人工勢場法的固有問題。在機器人的工作空間內,機器人在勢場中受到來自引力勢和斥力勢的疊加作用,可能導致引力勢和斥力勢合成后的總勢為0。此時,機器人陷入局部極小點,被困在一個局部最小值點周圍的勢阱中,勢場不再對機器人施加作用力,即機器人停留在錯誤的位置,無法繼續向目標點移動。這是因為人工勢場法是基于局部搜索的,只考慮當前機器人周圍的勢場情況而忽略了全局信息。這種局部最小值問題可能導致機器人無法找到最短路徑,甚至無法到達目標點。一種典型的局部極小值點情況如圖5 所示,描述如下。

圖5 局部極小值問題

機器人、障礙物和目標點處于同一條直線,且障礙物位于機器人和目標點之間。此時,引力勢和斥力勢沿同一條直線而方向相反。這樣機器人在移動的過程中,可能在某點處引力和斥力大小相同而抵消,此時機器人所受合力為零,從而陷入局部極小點,無法完成避障任務。

本文針對人工勢場法中的局部極小值問題,提出一種改進的人工勢場法。改進勢場法通過為斥力勢函數Urep1增加附加斥力勢Urep2對其進行修正。如圖6所示,從機器人的位置處向障礙物所在圓作切線,附加斥力勢即沿著該切線的方向。

圖6 改進勢場法的斥力勢

在圖6 中,Urep1表示傳統人工勢場法中的斥力勢函數,可表示為

根據幾何數學的相關知識,平面中有一圓心為(xO,yO),半徑為R 的圓,從圓外一點(x,y)向該圓做切線,其中一條切線的斜率為

那么切點的橫縱坐標分別為

則附加斥力勢可表示為

最終得到了改進后的斥力勢函數:

2.3 基于改進人工勢場法的無人船避障策略

得到改進勢場法后,需要將其與無人船的運動模型進行結合,從而能夠利用該運動模型對算法有效性進行驗證。根據改進勢場法的基本原理與相關的方程可知,勢場中的總勢場U 具有使機器人向著靠近目標點而遠離障礙物的方向移動的性質??紤]無人船可以通過尾舵來控制其航向,因此將無人船在避障過程中的預設航向指向其所在位置處的總勢場U 的方向,從而通過控制航向來完成避障任務,即

綜合上文所述,得到了基于改進勢場法的無人船避障策略,如圖7 所示,具體步驟如下。

圖7 基于改進勢場法的無人船避障算法流程圖

1)環境信息初始化,捕捉無人船周圍一定范圍內的環境信息,對障礙物位置進行識別,得到障礙物集合{O1,O2,...,On},從而建立無人船所處海域的環境模型;

2)計算無人船與障礙物0i(i=1,2,...,n)之間的相對距離di,將di與障礙物影響距離L0進行比較,若di<L0,則將對應的Osi標記為目標障礙物,得到目標障礙物集合{O1,O2,...,Ok}(k≤n);

3)根據式(9)計算無人船當前引力勢Uy,根據式(15)計算當前斥力勢Uc1,Uc2,...,Uck,然后根據式(17)計算總勢場U,再由式(16)得到預設航向;

4)將預設航向信號傳遞給無人船,使用PD 控制器計算舵擺角,使無人船跟隨預設航向航行;

5)觀測無人船當前運動狀態,如達到目標點,則完成避障任務;否則回到步驟3。

2.4 無人船避障性能驗證

為了驗證上文提出的基于改進勢場法的無人船避障算法的可行性,本節利用無人船的運動模型模擬其在障礙物環境中的運動。表1 展示了模擬工況#1—#6 的環境信息。

表1 模擬工況

圖8 展示工況#1 下的仿真結果。在工況#1 中,環境中僅存在目標點,而沒有任何障礙物。此時,無人船在引力勢的作用下,沿直線向目標點靠近。

圖8 工況#1 仿真結果

圖9 展示工況#2 下的仿真結果。在工況#2 中,障礙物位于目標點與無人船初始位置之間的連線上。從圖9 中可以發現,當使用傳統勢場法時,無人船會在局部最小值點附近持續震蕩,無法繞開障礙物,導致避障任務失敗。

圖9 工況#2 仿真結果

圖10 展示工況#3 下的仿真結果。從圖10 中可以看出,通過使用改進勢場法,局部極小值問題得到了解決,無人船成功地避開了障礙物,證明所提出的改進勢場法的可行性。

圖10 工況#3 仿真結果

圖11—圖13 展示工況#4—#6 下的仿真結果。在工況#4—#6 中,環境中分別在不同的位置分布3、4、6 個障礙物,由圖中可見,無人船在航行過程中與每個障礙物都保持了一定的安全距離,并最終抵達了目標點,順利地完成了避障任務。仿真結果表明,本文所提出的避障算法能夠適應有多個不同障礙物的環境,具有較好的魯棒性。

圖11 工況#4 仿真結果

圖13 工況#6 仿真結果

圖14 展示了工況#4 下無人船的預設航向隨時間變化的情況。根據上文算法設計內容可知,預設航向實際上等價于無人船在虛擬勢場受到的總勢場方向,也就是為了使無人船避開障礙物需要跟蹤的控制信號。通過觀察圖14 可以看出,在仿真開始階段,無人船還沒有進入障礙物影響區域,只受引力勢作用,因此預設航向變化平緩。隨著仿真進行,當無人船進入障礙物的影響區域后,由于總勢場中疊加了斥力勢的變化,因此預設航向也隨之發生劇烈的變化,此時無人船進入避障階段。在無人船駛出障礙物的影響區域后,避障任務完成,此時無人船又僅受引力勢的作用,預設航向的變化也重趨平穩。

圖14 工況#4 中無人船的預設航向

從圖14 可見,本文的避障算法設計合理,在無人船不同的運動階段能夠發出相應的控制信號,從而引導無人船完成避障任務。

3 結論

本文對無人船的智能避障算法進行了研究。首先基于牛頓-歐拉法建立了無人船的運動模型,并設計了PD 航向控制器,通過仿真實驗驗證了該控制器能夠實現對無人船的合理控制。然后,基于人工勢場法對無人船的避障問題進行研究,針對傳統人工勢場法存在的局部極小值問題,通過引入附加斥力勢,得到了一種改進的人工勢場法,并進行仿真驗證。仿真結果表明,本文提出的改進人工勢場法能夠克服局部極小值問題,并且能夠引導無人船在不同的障礙物環境中完成避障任務,證明該算法具備較好的可行性和魯棒性。

猜你喜歡
勢場航向障礙物
基于Frenet和改進人工勢場的在軌規避路徑自主規劃
知坐標,明航向
基于改進人工勢場方法的多無人機編隊避障算法
高低翻越
SelTrac?CBTC系統中非通信障礙物的設計和處理
考慮幾何限制的航向道模式設計
庫車坳陷南斜坡古流體勢場對陸相油氣運聚的控制
基于干擾觀測器的船舶系統航向Backstepping 控制
基于偶極勢場的自主水下航行器回塢導引算法
使命:引領航向與保持穩定
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合