張亞博,姜 明,肖 強,王 軍,陳 霖,張海燕
(1. 北京航天發(fā)射技術研究所,北京100076;2. 北京中星時代科技有限公司,北京100070)
無人船是一種能夠在海洋環(huán)境中自主航行,并且能夠完成各種海上任務的運載平臺。無人船因其加工成本低、制造周期短、環(huán)境適應能力強等特點,可以用于各種海上任務。這也為進一步開發(fā)海洋資源提供了一種更為安全的方式。因此,無人船的研究已成為船舶行業(yè)的熱點問題[1-2]。
為使無人船在復雜的海洋環(huán)境中具有自主航行的能力,首先需要解決其對目標的跟蹤控制問題。羅偉林等[3]針對船舶航向非線性系統(tǒng),提出了一種基于神經網絡方法的魯棒跟蹤控制器。夏云鵬等[4]針對無人船航跡控制問題,提出了基于模擬退火優(yōu)化NMPC 算法的非線性模型預測控制算法,設計了直接型無人船航跡控制器,該算法能夠提高航跡控制的準確性和實時性。Breivik等[5]采用一種新的導航方法,實現了對任意路徑的跟蹤控制。Miao J 等[6]基于時滯控制方法和降階線性擴展狀態(tài)觀測器(LESOS)技術,提出了一種改進的復合視距制導律,其能估計未知的側滑角,并能補償時變海流的影響。廖煜雷等[7]考慮了外界干擾以及船舶模型參數不確定的問題,采用滑模變結構控制方法,設計了軌跡跟蹤控制器,通過仿真,驗證了該控制器的有效性。
其次,在無人船航行的過程中,其周圍的環(huán)境可能會出現緊急情況,比如航路上出現障礙物。這就需要無人船有碰撞規(guī)避的能力。對此問題劉琨等[8]提出了一種改進的人工勢場法,設計了無人船碰撞規(guī)避控制算法。陳文玉[9]對無人船的避碰算法問題,基于改進的人工勢場法進行了規(guī)則約束下具體避碰算法的設計與實現。
本文針對欠驅動無人船的碰撞規(guī)避和目標跟蹤問題,提出了一種基于滑模變結構控制和改進人工勢函數理論的控制方法。首先建立了考慮不確定干擾和參數攝動的無人船水平面二階非線性動力學模型,通過引入滑模控制方法為其設計了目標跟蹤魯棒控制器。同時基于改進人工勢函數設計了無人船碰撞規(guī)避控制算法。最后對設計的控制算法進行了穩(wěn)定性證明和數值仿真。仿真結果表明,提出的控制方法在無人船做平面運動時可以有效進行目標跟蹤和碰撞規(guī)避。
為描述無人船的運動,首先引入兩個參考坐標系,即地面坐標系Se和船體坐標系Sb,如圖1 所示。地面坐標系用來描述船在慣性系下的位置和姿態(tài),選取地球表面任意位置為其原點,X軸指向正北方向,Y軸指向正東方向,Z指向地心方向,Y軸與X軸、Z軸構成右手坐標系。船體坐標系用來描述船舶的受力和速度,其固連于船體,坐標原點位于船體質心,x軸沿徑向指向船頭,y軸指向右舷,z軸垂直于xy平面并指向船底方向。z軸與x軸、y軸構成右手坐標系。
圖1 無人船水面運動模型Fig.1 Motion model of unmanned ship
考慮到實際情況,在研究無人船運動控制過程中,一般忽略船舶垂蕩、橫搖和縱搖運動,只討論無人船在水平面的縱蕩、橫蕩和艏搖運動。同時,考慮無人船在運動過程中受到的風、浪等環(huán)境引起的擾動未知但有界,則無人船的運動模型可以由式(1)、(2)描述。
η?=J(η)v(1)Μv?+C(v)v+D(v)v=τT+τE(2)其中η=(x y ψ)T為無人船的位置狀態(tài),x、y分別表示無人船在地面坐標系中的位置,ψ表示無人船的艏向角。v=(u υ r)T表示無人船的速度狀態(tài),各分量分別表示在船體坐標系中的縱向速度、橫向速度和偏航角速度。τT=(Fu0Nr)T表示無人船的控制,其中Fu表示無人船受到的縱向推力,Nr表示無人船受到的偏航力矩。τE=(τuE τυE τrE)表示無人船受到的環(huán)境干擾以及動力學方程中的參數攝動。J(η)為地面坐標系到船體坐標系的轉換矩陣,Μ是船舶的慣量矩陣,一般無人船是左右對稱前后不對稱的,但通常來說m23=m32≈0,因此為簡單分析,本文假定Μ是一個對角正定矩陣,C(v)表示科里奧利/向心力矩陣,D(v)是阻尼矩陣,此處將阻尼中的非線性部分考慮在了系統(tǒng)的擾動參數中,因此此處只考慮線性阻尼。各矩陣具體的值為:
其中不確定項τE可以由式(3)描述
無人船數學模型中的慣性矩陣、阻尼矩陣等都是與無人船本身屬性有關的常量,一般稱之為模型參數,在對算法做仿真驗證時,必須利用這些參數構建數學模型。對于一艘特定的無人船,這些參數的值是確定的。然而,這些參數的獲取是比較困難的,需要通過大量的航行實驗數據,使用參數辨識理論獲得。本文采用最小二乘算法對研究無人船運動控制問題需要的參數進行了辨識。在系統(tǒng)辨識前,首先對無人船動力學方程進行了小角度線化,然后對線性化之后的動力學方程采用最小二乘算法進行參數辨識。表1給出最終的辨識結果。
表1 無人船模型參數辨識結果Table1 Parameter identification results of unmanned ship model
其中m11、m22表示無人船的廣義質量,m33表示無人船廣義轉動慣量。Xu、Yv、Zr分別表示無人船沿本地坐標系三軸的阻尼。
滑??刂颇軌蛴行Э朔到y(tǒng)的不確定性,對干擾和未建模動態(tài)具有很強的魯棒性,且具有響應迅速、物理實現簡單等優(yōu)點。本文將以滑??刂品椒榛A實現無人船的控制。
首先對無人船的動力學模型進行變換,為對各個狀態(tài)進行統(tǒng)一的分析,將式(1)(2)合并為一個二階方程。對式(1)求導得到式(4):
令
得到
又
將式(6)、(7)代入式(5)可以得到
進一步可以寫為
設
上式可以改寫為
令無人船的目標狀態(tài)為,可以求得當前狀態(tài)和目標狀態(tài)的偏差為
選取滑動面為
其中Λ=diag{λr},λr>0,r=1,2,3,顯然滑動面上的狀態(tài)運動是穩(wěn)定的。接下來設計到達運動,對式(11)的滑動面函數求導。本文研究無人船對點目標的目標跟蹤問題,因此有= 0= 0??梢詫瑒用媲髮Ч阶鲞M一步化簡:
選擇到達控制律為:
式中H,ε∈R3×3。為了消除滑動運動在滑模面上的抖顫,在此處選擇飽和函數sat(x)代替符號函數。
其中φ為飽和函數邊界層厚度。對比式(12)、(13)可以得到等效控制為:
式(15)控制中存在不確定參數,無法直接使用,為消去不確定參數,首先采用式(16)控制進行替換:
為確定zE,將式(16)代入式(12)中得到式(17):
又滑??刂频竭_條件為:
將式(17)帶入式(18)之后寫成分量形式得到式(19):
因此為使得滑??刂频竭_條件滿足,比較式(19)各項大小可以得到:
式(16)、(20)構成了無人船魯棒控制律,該控制率能夠實現無人船對點目標的跟蹤,并且對干擾具有較強的魯棒性。但是在無人船實際航行的過程中,很有可能在規(guī)劃的運動路徑上發(fā)現障礙物,因此無人船設計碰撞規(guī)避的控制是很有必要的,本文接下來的部分將詳細敘述關于無人船碰撞規(guī)避的控制。
為提高無人船在真實環(huán)境中的自主運行能力,且使得無人船在運行過程中受到各種不確定干擾的情況下仍然能夠順利完成任務,在無人船進行了目標跟蹤的前提下,需要進行碰撞規(guī)避的設計。本小節(jié)將利用人工勢場函數理論為無人船設計碰撞規(guī)避控制。
人工勢場法是通過構建虛擬的勢能場,使無人船沿著勢能場的趨勢進行運動,最終到達目的地的一種方法。這是一種非最優(yōu)的機動策略,但相對于其他算法具有反應快速、計算簡單以及實時性強等優(yōu)點,對算法加以改進能在無人船路徑規(guī)劃任務中得到很好的應用。
本文前面部分已經完成了無人船從起始點到目的地的控制設計問題,因此本文的對障礙物的碰撞規(guī)避問題只需要考慮障礙物和無人船之間的斥力。這能夠避開同時存在引力和斥力時進入局部極小值的問題。
大多數人工勢場的斥力勢場函數都是以無人船與障礙物的相對位置的倒數為自變量的二次函數,無人船小幅度地移動就能引起勢場強度大幅度的變化,即斥力場強度變化較快。而在實際應用中,斥力場強度的數值變化過快會影響對運動路徑的判斷,對斥力常量的選擇要求較為苛刻,指數型勢函數能夠有效避免此問題,因此本文構建式(21)所示的指數型勢函數:
式(21)對η求導得到:
其中
式(21)中,V(η,ηg)表示勢函數,ηg表示障礙物的位置,Q為正定對稱陣,λ1、λ2為相對近距離限制參數,通過調整Q、λ1、λ2可以實現無人船和障礙物的距離大于設計的最小距離,從而防止碰撞的發(fā)生。下面將對上述勢函數進行仿真,直觀地觀察其變化規(guī)律。
從圖2 可以看出,隨著無人船和障礙物的距離減小,人工勢函數將增大,無人船受到的斥力也會增加,該斥力能夠控制無人船遠離障礙物,從而實現碰撞規(guī)避。
圖2 勢函數模型仿真Fig.2 Potential function model simulation
前兩節(jié)設計了無人船目標跟蹤和碰撞規(guī)避算法,本小節(jié)將證明上面設計的算法的穩(wěn)定性。首先選擇李雅普諾夫函數為:
對上面函數求導得到:
根據zE的求解過程可以看出,式(25)中后三項的和是小于0 的。對于第一項,顯然當無人船在障礙物附近運動時,η?Tw(η,ηg)(η-ηg)<0,進一步可以得到上面定義的李雅普諾夫函數對時間的導數小于0,因此設計的控制能夠使得該系統(tǒng)穩(wěn)定。
為驗證設計的目標跟蹤和碰撞規(guī)避控制器的性能,本文對此控制器進行數值仿真。仿真中假設無人船和目標距離1000m 以內時,文中設計的碰撞規(guī)避算法開始運行。仿真用到的具體的參數設置如下??刂破鞯膮颠x擇為H=10-2×I3×3、ε=10-7×I3×3、Λ=10-2×I3×3。
表2 無人船狀態(tài)信息Table2 State of unmanned ship
從圖3、4可以看出,隨著時間的推移,無人船的各個狀態(tài)均達到了其期望值,由此可以證明本文設計的目標跟蹤控制的有效性。在大概600s左右,無人船在障礙物附近重新調整了路線,繞開了障礙物。
從圖5 可以明顯看出,當無人船在運動過程中遇到障礙物時,能夠及時調整自己的位置,最終避開障礙物且到達期望的位置,這也說明本文設計的碰撞規(guī)避算法能夠實現無人船的避障。
圖3 無人船x坐標Fig.3 X coordinate of unmanned ship
圖4 無人船y坐標Fig.4 Y coordinate of unmanned ship
圖5 無人船運動軌跡Fig.5 Trajectory of unmanned ship
本文針對欠驅動無人船的碰撞規(guī)避和目標跟蹤問題,提出了一種基于滑模變結構控制和改進人工勢函數理論的控制方法。建立了考慮不確定干擾和參數攝動的無人船水平面二階非線性動力學模型,并為其設計了基于滑??刂频哪繕烁欞敯艨刂破?,同時基于改進人工勢函數設計了無人船碰撞規(guī)避控制算法。最后對設計的控制算法進行了穩(wěn)定性證明和數值仿真。仿真結果表明,提出的控制方法在無人船做平面運動時可以有效進行目標跟蹤和碰撞規(guī)避。