常樂,楊忠,張秋雁,王少輝,李捷文
1. 南京航空航天大學 自動化學院,江蘇 南京 211106
2. 貴州電網(wǎng)有限責任公司電力科學研究院,貴州 貴陽 550002
近年來無人機應用的領域越來越廣泛,產(chǎn)生了不少的特種作業(yè)無人機,稱為空中機器人[1-2]??罩袡C器人有著體積小、機動性強、能夠定點懸停等優(yōu)點,成為了優(yōu)秀的空中作業(yè)平臺??罩袡C器人作業(yè)時,負載經(jīng)常會固定在機身下方,但由于機身下方負載擺放空間有限以及負載外形與機身不匹配的問題,負載的選擇存在著大量的限制,而將負載懸掛在機身下方則不再需要考慮這些問題,在貨物運輸[3-4]、噴灑農(nóng)藥[5]等應用領域有著較大的應用前景。但是空中機器人懸掛負載飛行時,系統(tǒng)的穩(wěn)定性會受到負載擺動的影響,極大地限制了該方式的應用,所以研究懸掛負載空中機器人的控制器設計有著重要意義。
無人機懸掛飛行研究一直受到國內(nèi)外研究團隊的關注,國內(nèi)外針對無人機懸掛飛行的問題提出了很多有效的控制方法。文獻[6]設計了一種基于反步控制算法的非線性控制器,使得無人機可以在懸掛負載大幅度擺動時仍然能進行很好的軌跡跟蹤,但是其并沒有對懸掛負載的位置進行控制,飛行過程中存在負載劇烈擺動的情況;文獻[7]運用了微分平滑方法設計了針對平面四旋翼無人機懸掛系統(tǒng)的控制器,實現(xiàn)了針對四旋翼無人機懸掛系統(tǒng)的軌跡生成和跟蹤;文獻[8]中,研究人員使用迭代線性二次型最優(yōu)控制器,實現(xiàn)了無人機的軌跡跟蹤控制并抑制了懸掛負載的擺動,雖然控制效果顯著,但是控制器復雜,需要復雜的運算,現(xiàn)有無人機上的機載微處理器不一定能達到要求的運算速度;在文獻[9]中,研究人員采用了強化學習的方法,對特定負載的直升機飛行控制系統(tǒng)進行訓練,達到了對懸掛負載的軌跡進行規(guī)劃的目的,但只能在特定重量的負載下才能使用,當改變負載需要重新進行訓練,適用性不強;在文獻[10] 中,研究人員對帶掛負載的四旋翼無人機起飛過程進行了研究;文獻[11]解決了四旋翼無人機在懸掛負載未知的情況下實現(xiàn)安全起飛的問題,并通過仿真結果證實了其算法的有效性。
綜上所述,近年來對無人機懸掛系統(tǒng)的研究成果顯著,但是許多方法仍存在一些局限性。針對這些問題,本文設計的位置控制器,既不依賴于模型的線性化,也無需復雜的結構,而是采用了滑模(sliding mode, SM)變結構控制方法,并加入了可變厚度的邊界層法,有效地進行了抗擺控制,降低了抖震現(xiàn)象。
懸掛負載的空中機器人的結構示意圖如圖1所示。
圖1 懸掛負載的空中機器人結構
圖1(a)是懸掛負載空中機器人的三維示意圖,圖1(b)是與其對應的二維模型示意圖。由于懸掛負載在水平方向的2 個自由度相互解耦,研究懸掛負載空中的高度控制和抗擺控制,可在其對稱面內(nèi)簡化為二維模型,采用圖1(b)作為本文的控制模型。
首先建立2 個坐標系[11],慣性坐標系I和機體坐標系B,圖中{xi,zi}和{xb,zb}分別表示坐標系I和坐標系B的各坐標軸正方向;F表示空中機器人的總升力,方向為沿著機體坐標系的zb的正方向;mQ為空中機器人的質(zhì)量;mL為負載的質(zhì)量; α為負載的擺角; θ表示空中機器人的俯仰角;L為繩的長度;T為繩的張力。根據(jù)實際情況可以做出如下合理假設:
假設1 空中機器人為剛性且對稱的;
假設2 機體坐標系的原點、質(zhì)心以及幾何中心是重合的;
假設3 負載始終處于空中機器人的下方,即α-θ∈(-90°, 90°),圖中所示位置 α和θ均為正;
假設4 繩索的質(zhì)量不計,且是剛性、不可伸縮的。
假設1 和假設2 簡化了問題的分析,保證了二維示意圖以及下面推導的正確性。
假設3 成立的前提是無人機的俯仰角θ和負載擺角 α都不太大,一般來說無人機的俯仰角θ始終處于±45°以內(nèi),而負載擺角 α在控制器的作用下也是能控制在±45°以內(nèi)的,所以α-θ∈(-90°, 90°)是成立的。
假設4 成立的前提是繩索的彈性系數(shù)較大,從而可以忽略繩的張力T帶來的伸長量,而確保繩索是剛性不可收縮的。只要保證繩的張力T始終是大于0 的,由式(5),T的數(shù)學表達式可推導出,只要α-θ∈(-90°, 90°),那么T是始終大于0 的。
將總升力F按照圖1(b)中慣性坐標系的xi軸和zi軸的方向進行分解,得到水平方向的力FX和豎直方向的力FZ:
根據(jù)假設2 和3,可以得到懸掛負載與空中機器人的相對位置:
式中:{xL,zL}為懸掛負載在慣性坐標系下的坐標;{xQ,zQ}為空中機器人在慣性坐標系下的坐標。
同時對式(1)兩邊求對時間的二階導數(shù),可以得到負載的加速度在水平和豎直2 個方向的分量:
如圖1(b)所示,對空中機器人和懸掛負載進行牛頓第二定律分析可以得到:
將式(4)回代到式(3),可以就得到懸掛負載的空中機器人的動力學模型:
滑模變結構控制[12-15]因為滑動模態(tài)對于參數(shù)攝動和外界擾動等不確定因素具有不敏感性,并且滑動模態(tài)的動態(tài)品質(zhì)可以預先設計,成為一種有效的魯棒控制方法,已經(jīng)在很多領域得到廣泛應用。近年來,滑模變結構控制大量的應用在欠驅(qū)動系統(tǒng)上,而懸掛負載空中機器人是一個典型的欠驅(qū)動系統(tǒng),所以本文采用滑模變結構的方法來設計空中機器人的位置控制器及抗擺控制器,并在此基礎上采用了改進過的邊界厚度可變的邊界層法[16],有效地降低了滑模控制器固有的抖震現(xiàn)象。
首先對模型可以進行簡化,由于擺角 α較小,近似為0,所以:
所以式(5)可簡化為:
該模型自動解耦成2 部分,一部分是只與水平方向分力FX有關的擺動模型部分;一部分為只與豎直方向分力FZ有關的高度模型部分。
懸掛負載的空中機器人的高度模型為
模型可寫成如下形式:
由上述模型可以看出,該模型是單自由度和單控制輸入的非欠驅(qū)動系統(tǒng),只需要設計一級滑模面即可。所以構造如下的滑模面:
對s1求導可得:
定義如下的李雅普諾夫函數(shù):
對式(4)求導可得:
采用指數(shù)趨近率[17-18]:
于是可以得到高度控制器的控制率:
此時,構造的李雅普諾方程的導數(shù)為
所以高度跟蹤誤差是漸近穩(wěn)定的。
懸掛負載空中機器人的擺動模型為
式(8)可以改寫成如下形式:
由式(8)可以看出,擺動模型部分是一個具有2 個自由度一個控制輸入的欠驅(qū)動系統(tǒng),所以采用分層滑??刂频姆椒ㄟM行控制器的設計。首先將系統(tǒng)模型化成以下2 個子系統(tǒng):
然后構造第一級滑模面:
根據(jù)等效控制理論[16],可以得到每個子系統(tǒng)的等效控制率:
由于擺動模型是一個欠驅(qū)動系統(tǒng),控制量的數(shù)量少于狀態(tài)量的數(shù)量,總的控制率必須包含每個子系統(tǒng)的控制量,所以定義總的控制量為
式中uSW為總的滑模面的切換控制率。
設計第二層滑模面:
式中a1、a2為常數(shù)。定義李雅普諾夫函數(shù):
對V求導可得:
同樣,采用指數(shù)趨近率[17-18]:
式中:ε2、K2均為正數(shù)。由式(9)可以求出uSW:
于是可以得到總的控制率為
此時李雅普諾夫函數(shù)的導數(shù)為
由式(11)可知,系統(tǒng)總滑模面滿足李雅普諾夫意義下的穩(wěn)定,是漸近穩(wěn)定的。對于2 個子滑模面,可以通過式(10)所設計的總控制輸入使其能夠漸近穩(wěn)定,一旦任意一個狀態(tài)脫離滑模面,總的切換控制uSW都會將其拉回到所屬的滑模面。
由于滑??刂破髯陨泶嬖诙墩瓞F(xiàn)象,為了減少這種現(xiàn)象,本文采用邊界層法,用飽和函數(shù)sat(S)來代替符號函數(shù)sgn(S):
式中 Δ為邊界層厚度。 Δ的大小會直接影響系統(tǒng)的連續(xù)性、穩(wěn)定性以及控制精度。 Δ越小,控制精度越高,抖震越明顯; Δ越大,控制精度越低,抖震越小。所以可以采用邊界層厚度可變的方法,讓系統(tǒng)在誤差e較大時邊界層變厚,誤差較小時邊界層變薄,從而兼顧控制精度與降低抖震,滿足系統(tǒng)需求。可變邊界層厚度的表達式為
式中:0 <Δ1<Δ2,分別為最小和最大邊界層厚度,當系統(tǒng)誤差的絕對值小于設定的最小誤差emin時,邊界層厚度為 Δ1;系統(tǒng)誤差的大于設定的最大誤差emax時,邊界層厚度為 Δ2;在兩者之間則線性變化。
在實際使用中,懸掛負載空中機器人的主要任務是帶著負載飛行到指定的位置,并要求整個飛行過程中負載的擺角要盡可能小,到達指定位置后負載應無殘余震蕩。所以設計以下實驗:讓空中機器人從慣性坐標系的原點(0,0),飛行到指定位置(2,3)。本文采用Adams 作為物理仿真軟件,與MATLAB 進行聯(lián)合仿真,懸掛負載的空中機器人的參數(shù)分別為:mQ=10 kg、mL=1 kg、L=1 m、g=9.81 m/s2。
采用控制律式(7)和(10)進行控制,控制器的參數(shù)分別為:c1=5、c2=20、c3=13、a1=12、a2=10、K1=3、K2=0.8 、ε1=0.5 、ε2=0.8 、ehmin=0.8、ehmax=5.2、ebmin=0.7、ebmax=3.8。其中ehmin、ehmax和ebmin、ebmax分別代表高度控制器和抗擺控制器設計的可變邊界層的系統(tǒng)誤差的最小最大值。參數(shù)的設計采用試湊法,若emin過小則控制精度過低,抖震大幅減??;emin過大則抖震過大,控制精度很好;若emax過大則控制精度很好,但抖震過大;emax過小則控制精度過低,抖震大幅減小。
為了驗證本文設計的控制器的有效性,下面使用基于積分反步(integral backstepping, IB)法設計的控制器與本文設計的控制器的控制效果進行對比。
為了比較算法的抗擾能力,在仿真實驗中將反饋給控制器的信號加入了幅值為0.01 的高斯白噪聲,仿真結果如圖2~8 所示。
圖2 IB 控制與SM 控制下的水平位置響應
圖3 IB 控制與SM 控制下的水平速度響應
圖4 IB 控制與SM 控制下的高度位置響應
圖5 IB 控制與SM 控制下的高度速度響應
圖6 IB 控制與SM 控制下的擺角響應
圖7 SM 控制器水平方向的控制輸入
圖8 SM 控制器豎直方向的控制輸入
圖2~6 為在本文設計的控制器和IB 控制器的作用下空中機器人的響應曲線。由仿真曲線可以看出:本文設計的控制器在水平位置和高度位置響應上都要比IB 控制器要快;并且在抗擺的效果上也比IB 控制器好,在整個飛行過程,響應曲線都很平穩(wěn),擺角始終控制在±5°以內(nèi),并且到達指定位置之后沒有殘余震蕩;空中機器人和負載同時達到穩(wěn)定的時間比IB 控制的時間少。圖7、8為本文設計的控制器輸出的控制信號曲線,可以看出設計的控制器輸出變化平穩(wěn),輸出的幅值也在合理范圍之內(nèi),并且在加入了可變厚度的邊界層之后,有效地降低了抖震現(xiàn)象。
通過以上分析可以看出,本文設計的控制器具有較好的控制效果,能夠很好地完成控制任務。
本文設計的控制器,很好地解決了懸掛負載空中機器人飛行運動時產(chǎn)生的負載擺動和殘余振蕩問題。根據(jù)仿真結果與分析可以得出如下結論:
1)采用分層滑模控制方法能夠解決驅(qū)動量少于自由度的控制問題,值得其他欠驅(qū)動系統(tǒng)推廣使用;
2)本文針對懸掛負載空中機器人的二維模型進行了控制器設計,仿真結果說明了控制算法的有效性,可以考慮將本方法進一步運用到三維模型中;
3)本文設計的邊界層厚度可變的邊界層法能夠有效降低滑??刂拼嬖诘亩墩瓞F(xiàn)象,值得深入研究;
4)仿真結果表明,本文所設計的控制器能夠?qū)⒇撦d擺角始終控制在±5°以內(nèi),控制效果較好,具有實際應用價值,可應用于貨物運輸?shù)阮I域。