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