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