翟光雯,吳貞犇
(1.蕪湖科技館,安徽 蕪湖 241000;2.安徽工程大學,安徽 蕪湖 241000)
水下機器人是海洋資源勘測和開發的重要工具之一。海洋資源戰略地位越來越重要,對水下機器人的機能及精確度的要求不斷提高,所以要提升水下機器人系統的控制精確度[1]。然而,由于存在死區、模型不確定和外界干擾等問題,使得控制系統的控制性能降低[2-4]。
國內外學者對如何提高水下機器人的控制精度進行了大量研究,如文獻[5]提出了一種最優自適應參數估計方法,以評估水下機器人系統的未知干擾,并保持良好的控制精度,但是這會降低系統的整體運行速度。文獻[6]將其作為自治機器人航向控制,解決了航向控制中未知干擾估計難題,對抵制檢測噪聲有很大作用。文獻[7]利用模糊控制器實現了AUV 的偏航速度控制,它可以根據AUV 前進速度使控制器適應在正確的區域。文獻[8]利用非線性自適應控制對AUV 進行俯仰控制,其響應速度與穩定性較好,消除了AUV 非線性對控制效果的限制。文獻[9]將RBF 神經結構與PID 結合,實現了PID 參數的自調節,將其應用于AUV 的精準定深控制。文獻[10]利用自適應控制與分數階PID 控制相結合,保證控制器能快速穩定地追蹤到所要跟蹤的信號,取得了較為理想的控制性能。文獻[11]提出了一種動態滑模控制方法,從結果可以看出,水下機器人的控制性能有了較大提升,然而復雜度大大增加,難以實現實際應用。以上改進方法雖然取得了一定的效果,但是對系統各種非線性的擾動并沒有較好的抑制效果。
在20 世紀末,自抗擾的概念被正式提出,其中心思想是系統內部動態和外部的干擾都可以及時地補償消除,這跟常見的基于精確模型設計控制器有很大的不同。這個新設計的控制策略一般適用于單輸入和單輸出的非線性和時變性系統。
由于自抗擾不僅不依靠對象的模型,而且能夠實時估計和補償內部和外部故障,抵制擾動的效果好,這種優點使ADRC 在一些工程項目中發揮出了很好的效果。2016 年,黃衛劍[12]小組將冷卻水水位作為控制對象,設計了LADRC,實現了高負載火力發電機的熱交換器控制;李少朋等[13]將ADRC 應用于永磁同步電機的轉速控制,大大增強了對變負載干擾的抵抗能力;在飛行器與制導方向上,ADRC 也發揮了很大的作用,可以精準地跟蹤飛行裝置的航跡以及抵抗風力的干擾[14]。
首先給出了水下機器人的數學模型,然后通過擴張狀態觀測器實時觀測水下機器人的各種擾動,最后通過MATLAB 仿真驗證ADRC 作用于水下機器人的良好性能。
AUV 在坐標系中的位置如圖1 所示。

圖1 坐標系位置示意圖
設AUV 以速度v 沿著動系Gx 軸運動,其夾角設為β,一般稱這個角為漂角,AUV 在某個時刻的位置需要參數確定,根據v 在各個方向的分速度,可以得到速度v 在動系的投影:

AUV 在水中運動的時候,常常需要運用到流體力學的知識。雖然建立了動系和定系,然而AUV 的v 以及是相對定系來參考的,由于它投影到了動系上,需要將兩者進行等效變換得到其相對于定系的v 以及:

式中:P 為AUV 的動量,M0表示其相對于動系的動量矩。
將動系看作是AUV 的主慣性軸,則AUV 的動量矩在每個軸上的投影可以表示成:

式中:Ix、Iy、Iz分別表示AUV 相對于動系的轉動慣量。
向量Ω 與B 的向量積在動系上投影為:

將式(4)整理為動系上投影有:

式(5)為AUV 在水中的六自由度運動學方程[15]。對AUV 運動方程進行簡化,為研究其運動提供了方便。
本課題研究的是AUV 在平面內的運動,運動方程為:
AUV 在水平面運動時,有w=p=q=0;式(5)可簡化為水平面運動方程:

AUV 在垂直面運動時,有v=p=r=0;式(5)可簡化為垂直面運動方程:

為了運算的簡便,本文分析縱橫2 個平面潛行方程,在一定條件下可以簡化這2 個平面的運動模型方程。
通常會在水平面內研究AUV 航向的變化[16]。在水平面內w=p=q=0,且對應的加速度也為0,水動力方程進行泰勒展開時,由于二階及以上的水動力系數項比較小,對AUV 的潛行影響不明顯。為了簡化運算,可以忽略不計。同時不考慮環境因素引起的干擾力。由式(6)、式(8)可得到水平面的簡化模型:

航向控制系統傳遞函數:當AUV 轉變航向時,依靠水平推力來實現其航向的轉變,此時有u=v==,式(8)可簡化為:

對式(10)進行拉氏變換,可得傳遞函數:

系統的動態響應是研究系統的重要指標,當系統被外部所干擾時,希望系統會快速地恢復到穩定之前的狀態。給系統輸入一個階躍信號,當信號發生突變時,若希望系統快速恢復穩定狀態,那必然會產生較大的超調量。因此,引入TD[17],使輸入信號不發生突變,能夠更為平緩地變化,對提升系統性能有很大的幫助。TD 表示基于輸入信號和輸出信號特性的轉換過程。輸出信號是輸入信號的跟蹤信號差分。TD 可以補償系統的響應速度,使之達到平衡。

對于PID 控制系統來說,其控制器只是簡單的線性組合,隨著進一步的實驗研究,證明非線性的組合可以更加精準地控制系統。在自抗擾控制系統中,NLSEF 為控制提供了控制策略[18-23]。NLSEF 是表示跟蹤差分(TD)的輸出與擴展狀態觀測器(ESO)產生的狀態變量估計之間的非線性連接。其具有良好的適應性和魯棒性,只需選擇合適的參數即可。

式(16),β1、β2為反饋系數,fal 為非線性函數。
NLSEF 模塊為雙輸入單輸出系統,其中輸入信號是y1與z1和y2與z2兩者的偏差。對于fal 函數而言,α的不同取值會導致其形狀不同,δ 的不同取值會導致函數的非線性,可以通過改變δ 防止函數在初位置發生晃動。
ADRC 的核心組成結構就是ESO,ESO 可以對動力學以及外部環境造成的總干擾進行消除,將被控對象的模型降到一個理想無干擾的類型。通過擴張狀態觀測方程將與系統輸入狀態變量無關的不確定因素監測出來,從而在系統的反饋回路設計控制器中抵消干擾[24-25]。
如果未定義被控對象的數學模型,則將被控對象視為包含未知擾動的積分級數,并對觀測對象進行觀測。通過觀察系統響應狀態來觀察未知無序,并將反饋應用于實時干擾補償,得到了另一個觀察狀態是輸出信號的滿意結果,各個階的差分信號分別是用于在反饋時計算誤差的差分信號。

式中:b 為控制系數。
fal(e)為非線性函數,具體方程如下所示:

根據上述設計方法,每個自抗擾控制模塊由下面各模塊組成,水下機器人系統成為被控制對象。系統總體結構如圖2 所示。

圖2 系統的整體結構圖
采用階躍信號對設計的TD 效果進行驗證,如圖3所示,直線為階躍信號,點虛線為輸入信號的微分,虛線為TD 的跟蹤信號,其中h=0.01。從圖3 中可以看出經過TD 處理后,階躍信號明顯變得更加柔和。

圖3 跟蹤微分器TD 輸出顯示
完整的ADRC 包含TD、ESO 和NLSEF 3 大模塊。在搭建好具體結構的基礎上,選取合適的參數來優化系統的控制效果[18-22]。對于1 個二階ADRC 系統來說,需要選擇TD 模塊的2 個參數:速度因子r,濾波步長h;ESO模塊6 個參數:跟蹤因子α1,α2;fal 函數中帶寬δ,β01、β02、β03為校正增益。NLSEF:補償因子b0,增益β1與β2。經過大量實驗分析,三者之間耦合性不是很強,故可以依次調試各個參數。
TD:當步長h 固定時,改變fst 函數中的r,實驗表明,r 增大時,可以很好地追蹤輸入,并且r 越大,過渡時間越短;但當r 的取值太大,則會使其功效降低,易產生過沖;若r 很小,過渡時間會增加,無法滿足快速性的要求。圖4 為改變r 時的階躍響應。

圖4 不同r 時TD 跟蹤效果
ESO:根據經驗α1和α2常選擇[0,1]之間的實數,此時系統擁有一定的穩定性,當取值趨向1 時,fal 近似為線性關系;趨向0 時會凸顯其非線性,一般情況選α1=0.5,α2=0.25。δ 常選擇[0.99,0.9]之間的實數,它可以防止曲線在原點處發生振蕩。校正增益會根據系統干擾的強度選取,其中β01常選擇和1/h 數量級相近的,否則會發散。β02的值適度增大時可以減小過沖量,過大會增大跟蹤誤差。β03的值不宜過大,適量增大會增加跟蹤效果。
NLSEF:由于非線性組合采取的是非線性PD 形式的組合,故其參數β1與β2和比例微分控制系數的整定相似,當β1增大時會減小脫離預定值的失位量,但過渡時間會增加。β2增大時,其能預測誤差改變趨勢,從而在一定限度內導致超調b0的改變會影響擾動補償量,增大會減小補償量。當系統有延遲時b 的選取應該適度大一些。
仿真水下機器人系統參數見表1。

表1 水下機器人系統的參數
在MATLAB 中進行仿真實驗,結果如圖5-圖8 所示。

圖5 基于自抗擾控制器的水機仿生機器人三維軌跡圖

圖6 在x-y 上的投影

圖7 在y-z 上的投影

圖8 在x-z 上的投影
基于自抗擾控制器的水下機器人具有更高的精度,較小的超調量,自抗擾控制器應用于水下機器人中可以達到令人滿意的控制效果。
隨著科技的發展,人類加快了對海洋資源開發的進度,水下機器人是海洋資源勘測和開發的重要工具,因此對水下機器人的性能提出了很高的要求。傳統的研究往往是基于線性控制理論的建模和控制器設計,無法處理系統的非線性。本文介紹了一種水下機器人系統的建模與控制方法,并給出了控制算法。該控制策略提高了水下仿真機器人的操縱性能。模擬顯示,該控制算法有效地提高了水下機器人的跟蹤性能,對解決實際工程問題有很好的效果。