肖英楠,孫抒雨
(成都理工大學(xué) 工程技術(shù)學(xué)院,四川 樂山 614000)
在飛行環(huán)境日益復(fù)雜、飛行任務(wù)日益多樣化的今天,無人機飛行系統(tǒng)存在著許多不確定性,其飛行動力學(xué)易受大氣湍流等強烈干擾[1]。無人機是由發(fā)動機和推進器組成的小型無人機系統(tǒng),結(jié)構(gòu)多為十字或x形設(shè)計。通過調(diào)節(jié)馬達和轉(zhuǎn)子速度,可以控制無人機的姿態(tài)和高度。其結(jié)構(gòu)簡單,流動性好,在各領(lǐng)域應(yīng)用廣泛[2]。無人機系統(tǒng)由于具有非線性、強匯流、多輸入多輸出等復(fù)雜特性,使得控制策略設(shè)計變得十分困難,成為目前研究的熱點。無人機系統(tǒng)的核心是姿態(tài)控制,良好的控制性能是各種控制任務(wù)順利完成的重要保證[3]。無人機的控制模型具有很大的不確定性,易受風(fēng)速等未知干擾的影響,因此建立魯棒性強的飛行控制系統(tǒng)是其關(guān)鍵技術(shù)之一。PID控制器結(jié)構(gòu)簡單,設(shè)計簡單,在無人機控制系統(tǒng)中有著廣泛的應(yīng)用。但 PID參數(shù)的調(diào)整往往依賴于經(jīng)驗選擇,這需要對跟蹤性能和抗干擾性能進行折衷,難以適應(yīng)復(fù)雜多變的外部環(huán)境。
針對這種情況,相關(guān)學(xué)者對無人機姿態(tài)魯棒控制系統(tǒng)做出了研究,并取得了一些研究成果。文獻[4]提出基于零序電流中線補償?shù)娜毕喙收先蒎e矢量控制結(jié)構(gòu),通過速度容錯控制算法,采用自適應(yīng)估計和魯棒控制思想來補償變參數(shù)擾動。實現(xiàn)了缺相故障運行時六相永磁同步電動機轉(zhuǎn)速的高精度跟蹤。該方法的并抗擾性較強,但對同步電機姿態(tài)控制的效果較差;文獻[5]提出基于滑模和擴張狀態(tài)觀測器的四旋翼飛行器姿態(tài)解耦魯棒控制,用sat函數(shù)代替符號函數(shù),以改善滑模控制器的結(jié)構(gòu)并減少抖動現(xiàn)象。同時結(jié)合ESO實現(xiàn)對四旋翼姿態(tài)的實時估算,從而對滑??刂破鞯妮敵鲞M行實時干擾補償,實現(xiàn)高質(zhì)量的四旋翼姿態(tài)控制。這種方法雖然克服了外部干擾和參數(shù)擾動,但由于保守性強,對控制系統(tǒng)的性能考慮不多。針對上述方法存在的問題,提出了一種基于逆滑模算法的魯棒姿態(tài)控制系統(tǒng),并通過仿真實驗驗證了所提方法的有效性。
無人機姿態(tài)魯棒控制系統(tǒng)的硬件部分主要包括:控制器、傳感器、電源、執(zhí)行器以及遙控接收等模塊,如圖1所示。
圖1 無人機控制系統(tǒng)硬件框圖
無人機具有多種多樣的飛行姿態(tài),為了在一定程度上提高無人機的承載能力,設(shè)計了一種無人機姿態(tài)魯棒控制系統(tǒng)結(jié)構(gòu)[6]。為達到翼機各翼段協(xié)同運動的目的,可利用機載導(dǎo)航系統(tǒng)的控制,對其飛行姿態(tài)進行自動調(diào)節(jié)[7]。
串級PID控制器以美國德州儀器公司開發(fā)的TMS320F28335芯片為主芯片,具有高信號處理能力、嵌入式能力和事件管理能力。晶片的外部接口取決于飛行控制系統(tǒng)。該芯片無論是引腳數(shù)量還是功能,都完全滿足了無人機控制系統(tǒng)的所有要求,因此只需少量芯片接口即可實現(xiàn)[8]。
無人機中央處理機是無人機控制系統(tǒng)的核心模塊,也就是MCU[9]。飛行器縱搖通道的姿態(tài)角是串級 PID控制器的控制對象,執(zhí)行機構(gòu)為4個無刷電機,采用連續(xù)級 PID法,以無人機的姿態(tài)角為輸入信號,以姿態(tài)角速度為內(nèi)環(huán)角速度,作為外環(huán)角速度控制系統(tǒng)的輸入信號。它主要完成傳感器信息的采集,實時計算人體姿態(tài)角,傳遞飛行數(shù)據(jù)和控制電機轉(zhuǎn)速[10-12]。
選擇MS-S3型數(shù)碼顯示器伺服驅(qū)動器,運行更加平穩(wěn)。DSP芯片采用專用電機控制,采用矢量閉環(huán)控制技術(shù),可快速克服伺服驅(qū)動器失步問題,提高電機性能,降低機床能耗[13]。相對于開環(huán)步進電機,混合伺服驅(qū)動系統(tǒng)的轉(zhuǎn)速可以提高20%以上,有效轉(zhuǎn)矩達到70%以上,使電機在高速運動時仍能保持高轉(zhuǎn)矩運行。相對于開環(huán)步進電機,混合伺服驅(qū)動系統(tǒng)的高速轉(zhuǎn)速可以提高20%以上,有效轉(zhuǎn)矩達到70%以上,使電機在高速運動時仍能保持高轉(zhuǎn)矩運行[14-16]。
由于無刷直流電動機具有工作時間長、效率高等特點,因此廣泛應(yīng)用于有作動器的系統(tǒng)中。在無人機姿態(tài)控制系統(tǒng)中,直流無刷電機是一種非常重要的動力來源。采用直流無刷電機,使轉(zhuǎn)子以不同的速度運轉(zhuǎn)。通過 PWM波形作為無刷直流電機的控制信號,在DSP上具有不同的占空比,由于這些信號產(chǎn)生的速度不同,使得無人機的飛行姿態(tài)也不同。直流無刷電機示意圖如圖2所示。
圖2 直流無刷電機
由圖2可知,由于無人機的自主飛行系統(tǒng)需要能夠盤旋,因此要求無人機能迅速從穩(wěn)定的飛行狀態(tài)調(diào)整到平衡的狀態(tài),這就要求執(zhí)行器能在最短的時間內(nèi)作出相應(yīng)的響應(yīng),并增加或減少無人機最快飛行時間。
姿態(tài)控制器的關(guān)鍵芯片是STM32f407VGT6,它基于意大利St半導(dǎo)體公司開發(fā)的cortex-m4核心結(jié)構(gòu),其通訊接口資源選擇性強,功耗低,成本低,安裝功能齊全。另外,還可進行FPU浮點運算,提高數(shù)據(jù)處理精度。晶片以慣性測量模塊獲得的加速度和角速度作為姿態(tài)角,通過對增量控制算法的分析,得到占空比對應(yīng)的 PWM波。慣量檢測模塊需要3 ms左右才能從采集到傳輸?shù)街骺匦酒詫纹瑱C的響應(yīng)速度要求有一定的要求。根據(jù)STM32f407VGT6的特點,這個接口有很多選擇,可以方便地滿足主機、串口、傳感器等標(biāo)準(zhǔn)要求[17]。
在無人機姿態(tài)魯棒控制系統(tǒng)硬件基礎(chǔ)上,設(shè)計基于反步滑模算法的無人機姿態(tài)魯棒控制系統(tǒng)軟件部分。首先利用歐拉角描述無人機在空間坐標(biāo)系的狀態(tài),構(gòu)建無人機動力學(xué)模型;在此基礎(chǔ)上采用反步滑模算法,構(gòu)建考慮姿態(tài)角動態(tài)方程,計算控制誤差變量,通過Lyapunov函數(shù)得到滑??刂坡煞匠?,通過 Visual C++6.0實現(xiàn)了軟件程序設(shè)計。
為了構(gòu)建無人機動力學(xué)模型,需先定義地面坐標(biāo)系E(OXYZ)和無人機機體坐標(biāo)系B(oxyz),無人機動力學(xué)模型如圖3所示。
圖3 無人機動力學(xué)模型
由圖3可知,通過歐拉角描述無人機在空間坐標(biāo)系的狀態(tài),依據(jù)牛頓運動方程,得到無人機姿態(tài)和高度的動力學(xué)模型。
由于在實際環(huán)境中,無人機受到電調(diào)、螺旋或電機因素等影響,導(dǎo)致無人機姿態(tài)控制效果較差,為此,引入反步滑模算法,避免了一般反步法中對虛擬控制量的過度控制導(dǎo)致的無人機姿態(tài)不平衡問題。同時,滑模控制項的引入有效地抑制了外界干擾的影響,使控制器具有一定的魯棒性。設(shè)計反步滑模控制步驟如下。
(1)
將ω視為虛擬控制量,其計算公式為:
(2)
選擇Lyapunov函數(shù),公式為:
(3)
對公式(3)求導(dǎo),結(jié)合公式(1)可得:
(4)
step2:ω并非最終控制量,中間出現(xiàn)的誤差變量為:
ω′=ω-ωd
(5)
結(jié)合公式(1)可得:
(6)
將公式(6)代入公式(4)中可得:
(7)
選擇Lyapunov函數(shù),公式為:
(8)
針對上式,設(shè)計滑??刂坡桑?/p>
(9)
通過上述反步滑模算法,能夠保證該狀態(tài)下控制系統(tǒng)的穩(wěn)定性。
在軟件方面,以 Visual C++6.0為系統(tǒng)設(shè)計的背景,建立了對話框,通過界面設(shè)計及相關(guān)程序設(shè)計,完成了無人機姿態(tài)控制器性能模塊的設(shè)計。用戶可透過軟體介面設(shè)計,了解及掌握控制器的狀況,并透過參數(shù)設(shè)定調(diào)整無人機的姿態(tài)[18-20]。借助于 Visual C++6.0,可以實現(xiàn)主機與外部設(shè)備的連接,通過該模塊可以將主機接口數(shù)據(jù)連接到存儲數(shù)據(jù)庫。圖4中顯示了控制流程圖。
圖4 控制流程設(shè)計
由圖4可知,通過改變顯示控制器的姿態(tài)信息,可以設(shè)置人工值輸入或滑塊控制,在模式轉(zhuǎn)換支持下,可以利用控制器來控制飛行姿態(tài),以此調(diào)整無人機姿態(tài)。
為了驗證基于反步滑模算法的無人機姿態(tài)魯棒控制系統(tǒng)性能,在Simulink中進行系統(tǒng)調(diào)試。
使用姿態(tài)測量系統(tǒng)與顯示系統(tǒng)采集無人機姿態(tài)數(shù)據(jù),實時顯示結(jié)果如表1所示。
參數(shù)設(shè)置如表1所示。
表1 參數(shù)設(shè)置
在Visual C++6.0軟件中實現(xiàn)無人機姿態(tài)魯棒控制流程的設(shè)計。在此基礎(chǔ)上,以基于PID控制器的無人機姿態(tài)魯棒控制系統(tǒng)、基于H∞反饋控制策略的無人機姿態(tài)魯棒控制系統(tǒng)作為實驗對比方法,在表1參數(shù)設(shè)置下,測試不同系統(tǒng)對無人機姿態(tài)魯棒控制的姿態(tài)角、左側(cè)舵面角和右側(cè)舵面角的控制精度。
根據(jù)實際調(diào)試結(jié)果,可獲取無人機姿態(tài)變化情況,獲取的相關(guān)數(shù)據(jù)如表2所示。
表2 無人機姿態(tài)變化情況
依據(jù)表2實際調(diào)試結(jié)果,分別將PID控制器、H∞反饋控制策略和基于反步滑模算法對無人機姿態(tài)魯棒控制的姿態(tài)角、左側(cè)舵面角和右側(cè)舵面角進行對比分析,結(jié)果如圖5所示。
圖5 3種方法角度控制精準(zhǔn)度對比分析
由圖5(a)可知,使用PID控制器隨著時間增加,在時間為5 s時,姿態(tài)角達到最大為4.5°。在時間為6~8 s時,姿態(tài)角保持為3°左右;使用H∞反饋控制策略隨著時間增加,在時間為5 s時,姿態(tài)角達到最大為4.2°。在時間為5.6 s時,姿態(tài)角達到最小為2.8°。在時間為7~8 s時,姿態(tài)角保持為3°左右;使用基于反步滑模算法隨著時間增加,在時間為5 s時,姿態(tài)角達到最大為6°。在時間為6~8 s時,姿態(tài)角保持為3°左右,與實際姿態(tài)角一致。
由圖5(b)可知,使用PID控制器在時間為3 s時,左側(cè)舵面角達到第一次快速轉(zhuǎn)角,為0.22°。在時間為5 s時,左側(cè)舵面角達到第二次快速轉(zhuǎn)角,為0.31°。在時間為7 s時,左側(cè)舵面角達到第三次快速轉(zhuǎn)角,為0.40°;使用H∞反饋控制策略在時間為3 s時,左側(cè)舵面角達到第一次快速轉(zhuǎn)角,為0.28°。在時間為8s時,左側(cè)舵面角達到最大值為0.38°;使用基于反步滑模算法在時間為3 s時,左側(cè)舵面角達到第一次快速轉(zhuǎn)角,為0.25°。在時間為5s時,左側(cè)舵面角達到第二次快速轉(zhuǎn)角,為0.40°。在時間為6 s時,左側(cè)舵面角達到第三次快速轉(zhuǎn)角,為0.25°。在時間為7 s時,左側(cè)舵面角達到第四次快速轉(zhuǎn)角,為0.40°,與左側(cè)舵面角一致。
由圖5(c)可知,使用PID控制器在時間為2 s時,右側(cè)舵面角達到最小為-0.14°。在時間為5.3 s時,右側(cè)舵面角達到最大為0.05°;使用H∞反饋控制策略在時間為1.9 s時,右側(cè)舵面角達到最小為-0.17°。在時間為5.2 s時,右側(cè)舵面角達到最大為0.05°;使用基于反步滑模算法在時間為2 s時,右側(cè)舵面角達到最小為-0.20°。在時間為5 s時,右側(cè)舵面角達到最大為0.20°,與右側(cè)舵面角一致。
對無人機的姿態(tài)控制進行了研究,提出了一種基于反步滑模算法的無人機姿態(tài)魯棒控制系統(tǒng)。整體自適應(yīng)逆滑??刂破靼ㄗ赃m應(yīng)估計器,消除了不確定上界的影響,在一定程度上克服了外界干擾,該方法具有較強的魯棒性,能快速準(zhǔn)確地跟蹤恒定信號。今后,在保證系統(tǒng)快速響應(yīng)的前提下,需要進一步研究系統(tǒng)抗干擾能力,以期更好地完善無人機姿態(tài)魯棒控制系統(tǒng)的性能。