翟光雯,吳貞犇
(1.蕪湖科技館,安徽 蕪湖 241000;2.安徽工程大學(xué),安徽 蕪湖 241000)
水下機器人是海洋資源勘測和開發(fā)的重要工具之一。海洋資源戰(zhàn)略地位越來越重要,對水下機器人的機能及精確度的要求不斷提高,所以要提升水下機器人系統(tǒng)的控制精確度[1]。然而,由于存在死區(qū)、模型不確定和外界干擾等問題,使得控制系統(tǒng)的控制性能降低[2-4]。
國內(nèi)外學(xué)者對如何提高水下機器人的控制精度進行了大量研究,如文獻[5]提出了一種最優(yōu)自適應(yīng)參數(shù)估計方法,以評估水下機器人系統(tǒng)的未知干擾,并保持良好的控制精度,但是這會降低系統(tǒng)的整體運行速度。文獻[6]將其作為自治機器人航向控制,解決了航向控制中未知干擾估計難題,對抵制檢測噪聲有很大作用。文獻[7]利用模糊控制器實現(xiàn)了AUV 的偏航速度控制,它可以根據(jù)AUV 前進速度使控制器適應(yīng)在正確的區(qū)域。文獻[8]利用非線性自適應(yīng)控制對AUV 進行俯仰控制,其響應(yīng)速度與穩(wěn)定性較好,消除了AUV 非線性對控制效果的限制。文獻[9]將RBF 神經(jīng)結(jié)構(gòu)與PID 結(jié)合,實現(xiàn)了PID 參數(shù)的自調(diào)節(jié),將其應(yīng)用于AUV 的精準(zhǔn)定深控制。文獻[10]利用自適應(yīng)控制與分?jǐn)?shù)階PID 控制相結(jié)合,保證控制器能快速穩(wěn)定地追蹤到所要跟蹤的信號,取得了較為理想的控制性能。文獻[11]提出了一種動態(tài)滑模控制方法,從結(jié)果可以看出,水下機器人的控制性能有了較大提升,然而復(fù)雜度大大增加,難以實現(xiàn)實際應(yīng)用。以上改進方法雖然取得了一定的效果,但是對系統(tǒng)各種非線性的擾動并沒有較好的抑制效果。
在20 世紀(jì)末,自抗擾的概念被正式提出,其中心思想是系統(tǒng)內(nèi)部動態(tài)和外部的干擾都可以及時地補償消除,這跟常見的基于精確模型設(shè)計控制器有很大的不同。這個新設(shè)計的控制策略一般適用于單輸入和單輸出的非線性和時變性系統(tǒng)。
由于自抗擾不僅不依靠對象的模型,而且能夠?qū)崟r估計和補償內(nèi)部和外部故障,抵制擾動的效果好,這種優(yōu)點使ADRC 在一些工程項目中發(fā)揮出了很好的效果。2016 年,黃衛(wèi)劍[12]小組將冷卻水水位作為控制對象,設(shè)計了LADRC,實現(xiàn)了高負載火力發(fā)電機的熱交換器控制;李少朋等[13]將ADRC 應(yīng)用于永磁同步電機的轉(zhuǎn)速控制,大大增強了對變負載干擾的抵抗能力;在飛行器與制導(dǎo)方向上,ADRC 也發(fā)揮了很大的作用,可以精準(zhǔn)地跟蹤飛行裝置的航跡以及抵抗風(fēng)力的干擾[14]。
首先給出了水下機器人的數(shù)學(xué)模型,然后通過擴張狀態(tài)觀測器實時觀測水下機器人的各種擾動,最后通過MATLAB 仿真驗證ADRC 作用于水下機器人的良好性能。
AUV 在坐標(biāo)系中的位置如圖1 所示。
圖1 坐標(biāo)系位置示意圖
設(shè)AUV 以速度v 沿著動系Gx 軸運動,其夾角設(shè)為β,一般稱這個角為漂角,AUV 在某個時刻的位置需要參數(shù)確定,根據(jù)v 在各個方向的分速度,可以得到速度v 在動系的投影:
AUV 在水中運動的時候,常常需要運用到流體力學(xué)的知識。雖然建立了動系和定系,然而AUV 的v 以及是相對定系來參考的,由于它投影到了動系上,需要將兩者進行等效變換得到其相對于定系的v 以及:
式中:P 為AUV 的動量,M0表示其相對于動系的動量矩。
將動系看作是AUV 的主慣性軸,則AUV 的動量矩在每個軸上的投影可以表示成:
式中:Ix、Iy、Iz分別表示AUV 相對于動系的轉(zhuǎn)動慣量。
向量Ω 與B 的向量積在動系上投影為:
將式(4)整理為動系上投影有:
式(5)為AUV 在水中的六自由度運動學(xué)方程[15]。對AUV 運動方程進行簡化,為研究其運動提供了方便。
本課題研究的是AUV 在平面內(nèi)的運動,運動方程為:
AUV 在水平面運動時,有w=p=q=0;式(5)可簡化為水平面運動方程:
AUV 在垂直面運動時,有v=p=r=0;式(5)可簡化為垂直面運動方程:
為了運算的簡便,本文分析縱橫2 個平面潛行方程,在一定條件下可以簡化這2 個平面的運動模型方程。
通常會在水平面內(nèi)研究AUV 航向的變化[16]。在水平面內(nèi)w=p=q=0,且對應(yīng)的加速度也為0,水動力方程進行泰勒展開時,由于二階及以上的水動力系數(shù)項比較小,對AUV 的潛行影響不明顯。為了簡化運算,可以忽略不計。同時不考慮環(huán)境因素引起的干擾力。由式(6)、式(8)可得到水平面的簡化模型:
航向控制系統(tǒng)傳遞函數(shù):當(dāng)AUV 轉(zhuǎn)變航向時,依靠水平推力來實現(xiàn)其航向的轉(zhuǎn)變,此時有u=v==,式(8)可簡化為:
對式(10)進行拉氏變換,可得傳遞函數(shù):
系統(tǒng)的動態(tài)響應(yīng)是研究系統(tǒng)的重要指標(biāo),當(dāng)系統(tǒng)被外部所干擾時,希望系統(tǒng)會快速地恢復(fù)到穩(wěn)定之前的狀態(tài)。給系統(tǒng)輸入一個階躍信號,當(dāng)信號發(fā)生突變時,若希望系統(tǒng)快速恢復(fù)穩(wěn)定狀態(tài),那必然會產(chǎn)生較大的超調(diào)量。因此,引入TD[17],使輸入信號不發(fā)生突變,能夠更為平緩地變化,對提升系統(tǒng)性能有很大的幫助。TD 表示基于輸入信號和輸出信號特性的轉(zhuǎn)換過程。輸出信號是輸入信號的跟蹤信號差分。TD 可以補償系統(tǒng)的響應(yīng)速度,使之達到平衡。
對于PID 控制系統(tǒng)來說,其控制器只是簡單的線性組合,隨著進一步的實驗研究,證明非線性的組合可以更加精準(zhǔn)地控制系統(tǒng)。在自抗擾控制系統(tǒng)中,NLSEF 為控制提供了控制策略[18-23]。NLSEF 是表示跟蹤差分(TD)的輸出與擴展?fàn)顟B(tài)觀測器(ESO)產(chǎn)生的狀態(tài)變量估計之間的非線性連接。其具有良好的適應(yīng)性和魯棒性,只需選擇合適的參數(shù)即可。
式(16),β1、β2為反饋系數(shù),fal 為非線性函數(shù)。
NLSEF 模塊為雙輸入單輸出系統(tǒng),其中輸入信號是y1與z1和y2與z2兩者的偏差。對于fal 函數(shù)而言,α的不同取值會導(dǎo)致其形狀不同,δ 的不同取值會導(dǎo)致函數(shù)的非線性,可以通過改變δ 防止函數(shù)在初位置發(fā)生晃動。
ADRC 的核心組成結(jié)構(gòu)就是ESO,ESO 可以對動力學(xué)以及外部環(huán)境造成的總干擾進行消除,將被控對象的模型降到一個理想無干擾的類型。通過擴張狀態(tài)觀測方程將與系統(tǒng)輸入狀態(tài)變量無關(guān)的不確定因素監(jiān)測出來,從而在系統(tǒng)的反饋回路設(shè)計控制器中抵消干擾[24-25]。
如果未定義被控對象的數(shù)學(xué)模型,則將被控對象視為包含未知擾動的積分級數(shù),并對觀測對象進行觀測。通過觀察系統(tǒng)響應(yīng)狀態(tài)來觀察未知無序,并將反饋應(yīng)用于實時干擾補償,得到了另一個觀察狀態(tài)是輸出信號的滿意結(jié)果,各個階的差分信號分別是用于在反饋時計算誤差的差分信號。
式中:b 為控制系數(shù)。
fal(e)為非線性函數(shù),具體方程如下所示:
根據(jù)上述設(shè)計方法,每個自抗擾控制模塊由下面各模塊組成,水下機器人系統(tǒng)成為被控制對象。系統(tǒng)總體結(jié)構(gòu)如圖2 所示。
圖2 系統(tǒng)的整體結(jié)構(gòu)圖
采用階躍信號對設(shè)計的TD 效果進行驗證,如圖3所示,直線為階躍信號,點虛線為輸入信號的微分,虛線為TD 的跟蹤信號,其中h=0.01。從圖3 中可以看出經(jīng)過TD 處理后,階躍信號明顯變得更加柔和。
圖3 跟蹤微分器TD 輸出顯示
完整的ADRC 包含TD、ESO 和NLSEF 3 大模塊。在搭建好具體結(jié)構(gòu)的基礎(chǔ)上,選取合適的參數(shù)來優(yōu)化系統(tǒng)的控制效果[18-22]。對于1 個二階ADRC 系統(tǒng)來說,需要選擇TD 模塊的2 個參數(shù):速度因子r,濾波步長h;ESO模塊6 個參數(shù):跟蹤因子α1,α2;fal 函數(shù)中帶寬δ,β01、β02、β03為校正增益。NLSEF:補償因子b0,增益β1與β2。經(jīng)過大量實驗分析,三者之間耦合性不是很強,故可以依次調(diào)試各個參數(shù)。
TD:當(dāng)步長h 固定時,改變fst 函數(shù)中的r,實驗表明,r 增大時,可以很好地追蹤輸入,并且r 越大,過渡時間越短;但當(dāng)r 的取值太大,則會使其功效降低,易產(chǎn)生過沖;若r 很小,過渡時間會增加,無法滿足快速性的要求。圖4 為改變r 時的階躍響應(yīng)。
圖4 不同r 時TD 跟蹤效果
ESO:根據(jù)經(jīng)驗α1和α2常選擇[0,1]之間的實數(shù),此時系統(tǒng)擁有一定的穩(wěn)定性,當(dāng)取值趨向1 時,fal 近似為線性關(guān)系;趨向0 時會凸顯其非線性,一般情況選α1=0.5,α2=0.25。δ 常選擇[0.99,0.9]之間的實數(shù),它可以防止曲線在原點處發(fā)生振蕩。校正增益會根據(jù)系統(tǒng)干擾的強度選取,其中β01常選擇和1/h 數(shù)量級相近的,否則會發(fā)散。β02的值適度增大時可以減小過沖量,過大會增大跟蹤誤差。β03的值不宜過大,適量增大會增加跟蹤效果。
NLSEF:由于非線性組合采取的是非線性PD 形式的組合,故其參數(shù)β1與β2和比例微分控制系數(shù)的整定相似,當(dāng)β1增大時會減小脫離預(yù)定值的失位量,但過渡時間會增加。β2增大時,其能預(yù)測誤差改變趨勢,從而在一定限度內(nèi)導(dǎo)致超調(diào)b0的改變會影響擾動補償量,增大會減小補償量。當(dāng)系統(tǒng)有延遲時b 的選取應(yīng)該適度大一些。
仿真水下機器人系統(tǒng)參數(shù)見表1。
表1 水下機器人系統(tǒng)的參數(shù)
在MATLAB 中進行仿真實驗,結(jié)果如圖5-圖8 所示。
圖5 基于自抗擾控制器的水機仿生機器人三維軌跡圖
圖6 在x-y 上的投影
圖7 在y-z 上的投影
圖8 在x-z 上的投影
基于自抗擾控制器的水下機器人具有更高的精度,較小的超調(diào)量,自抗擾控制器應(yīng)用于水下機器人中可以達到令人滿意的控制效果。
隨著科技的發(fā)展,人類加快了對海洋資源開發(fā)的進度,水下機器人是海洋資源勘測和開發(fā)的重要工具,因此對水下機器人的性能提出了很高的要求。傳統(tǒng)的研究往往是基于線性控制理論的建模和控制器設(shè)計,無法處理系統(tǒng)的非線性。本文介紹了一種水下機器人系統(tǒng)的建模與控制方法,并給出了控制算法。該控制策略提高了水下仿真機器人的操縱性能。模擬顯示,該控制算法有效地提高了水下機器人的跟蹤性能,對解決實際工程問題有很好的效果。