袁 源
(招商局重慶公路工程檢測中心有限公司,重慶 400067)
無人機是指在不需要飛行員駕駛的情況下,可通過內嵌程序自主飛行或無線遠程遙控,從而完成任務的空中機器人系統[1]。現有無人機按照機翼工作原理的不同可以分為固定翼和多旋翼無人機,其中,小型四旋翼無人機作為一種具有結構簡單、靈活性高、垂直起降(VTOL)和懸停功能的飛行機器人,也掀起了相關控制方法設計和仿真實驗平臺研發的熱潮。目前,四旋翼無人機在應用于軍事方面有關偵察監視、靶向攻擊、干擾壓制等作戰任務的同時,越來越多地出現在通信中繼、農藥噴灑、搶險救災、物資運輸、電力巡檢和航拍等民用商業領域[2-4]。
隨著人們對無人機飛行功能多樣化需求的增加,其所要求的飛行控制系統復雜性和故障隱患也日益增加,且考慮到四旋翼無人機欠驅動、多變量、強非線性和強耦合性等特性,在測試和驗證相關控制方法的效果及可靠性時,必須盡量保證整個研究過程的安全性、避免發生“墜機”和人員受傷等事故。相較于軟件在環仿真,硬件在環仿真的優勢在于它不僅可以測試所設計控制算法的實物應用表現,還能夠節省大量訓練經費、增加實驗安全性和可靠性[5-7]。
因此,為了降低在真實飛行器上測試新的控制策略時所存在的設備損壞風險,同時幫助科研工作者更直觀地認識四旋翼無人機的運動方式和控制規律,以下對四旋翼無人機基本結構、飛行原理、動力學模型和控制器設計進行介紹,并著重對所研究半實物仿真實驗平臺的設計方法和應用特點進行說明。
四旋翼無人機的結構一般有兩種形式,即“+”和“x”型,如圖1所示。與“+”樣式相比,“x”樣式飛行器的橫向尺寸更小,可以通過更狹小的區域,但是其要求四個電機同時改變轉速,且考慮“+”樣式四旋翼無人機的建模分析和控制更為簡單,所以選用“+”型的飛行器為例開展工作。

圖1 四旋翼無人機樣式
四旋翼無人機的飛行原理是通過控制自身四個旋翼轉速實現六個自由度上的運動,其基本運動模式可分為懸停、偏航、俯仰和滾轉[8]。例如,如果給無人機四個旋翼順時針編號1、2、3和4,則在懸停狀態下同一時刻同量增大1和3號螺旋槳轉速值為Δ,并同量減少Δ大小的2和4號螺旋槳轉速,將使得無人機產生順時針的偏航運動。
在考慮外部環境干擾的前提下,建立了一個較為完整的QUAV模型,并為了簡化討論,以下假設通常可用于QUAV的模型推導。
假設1:重力加速度恒定,假設四旋翼為剛性,四個電機和螺旋槳對稱安裝;
假設2:已知常量ki(i= 1, …, 6) 用來表示四旋翼無人機所受空氣阻力作用;不定項d(·) 用來表示外部環境干擾的影響,這里認為它是未知常量,且滿足|d(·)|≤dm≤∞;

為了獲得四旋翼無人機的數學模型,必須建立兩個基本坐標系如圖2所示,即地面坐標系和機體坐標系,分別描述無人機的平移運動(x,y,z)和轉動運動(滾轉角φ, 俯仰角θ, 偏航角ψ)。

圖2 四旋翼無人機坐標

根據牛頓第二定律,得到無人機在地面坐標系下剛體平動的動力學方程為:
(1)
根據剛體的轉動定律,得到無人機在機體坐標系下轉動的動力學方程為:
(2)
將旋翼升力和姿態角轉矩定義為四個控制輸入變量,如式(3):

(3)
式中,l為電機與無人機質心之間的距離,b表示旋翼升力系數,為常值且大于0,d為旋翼阻力系數。
最后,將上述中間和狀態變量分別代入到平移和轉動的動力學方程中,整理即可得四旋翼無人機的數學模型如下:

(4)
式中,未考慮陀螺效應的微弱影響; [x,y,x,φ,θ,ψ] 為六個自由度,[Ix,Iy,Iz] 是常值慣性矩陣,ki(i=1~6)是對應于飛行過程中的運動阻力作用的已知常量,Δi(i=1~6) 是對應于有界的外部干擾項。
在常規PID控制器設計中[9],假定整個飛行過程中目標偏航角為5°,首先計算位置偏差信號[ex,ey,ez]T,經過PID算式得到xyz三個方向上控制力 [Ux,Uy,Uz]T,并按照下述式(5)轉換為控制升力U1;
(5)
其次按照下述式(6)解算出目標滾轉角φd和俯仰角θd;
(6)
再將慣性傳感器測得的真實姿態角速度 [wxb,wyb,wzb]T換算出實際姿態角 [φ,θ,ψ]T,計算姿態偏差信號 [eφ,eθ,eψ]T,經過PID算式得到滾轉力矩U2、俯仰力矩U3和偏航力矩U4;最終使得四旋翼無人機得到控制。
為了應對四旋翼無人機飛行運動時所考慮的有界的外部環境干擾的問題[10],所設計的滑模變結構控制器如下述式(7)所示:

(7)

借助于MATLAB工具分別對所設計PID控制方法和自適應滑模控制器進行數值仿真,進一步對比兩種控制策略的效果。以下將首先進行實驗的初始化設置,給出實驗中參數取值和無人機期望位置與姿態的設置;其次,分別對無人機位置(以x軸線運動為例)和姿態(以偏航角ψ角運動為例)在不同控制方法下的控制實驗結果進行分析。
根據實際四旋翼無人機的物理參數量級,分別選取合適的數值,其中,無人機質量m=0.4 kg, 電機與無人機質心之間的距離l=0.25 m, 旋翼轉動慣性矩陣I=diag(Ix,Iy,Iz) = diag(0.3,0.3,0.6) kg*m2,Ir=0.1。另外,選擇期望的無人機運動軌跡為[xd,yd,zd]=[3*sin(t); 4*cos(t); 4], 并取ki=0.1、ci=0.5和η=0.4,設置期望偏航角ψd=5°和外部的干擾項Δi=0.1*sin(t)(i=1,…,6)。
對于無人機沿x軸方向線運動來說,期望飛行軌跡為xd=x0*sin(t) = 3*sin(t),選取外部擾動幅值為0.1的情況下分別采用PID控制和滑模控制方法進行實驗。定義控制誤差為ε,此時根據x軸對應仿真結果(如圖3所示)進一步計算得到控制精度γ= (|ε|max/x0)*100%。

圖3 X軸位置跟蹤和對比
可以從圖3誤差對比中看出所設計SMC算法的控制誤差(|ε_SMC|max= 0.18)小于PID的(|ε_PID|max= 0.32),且可分別計算得到對應控制精度ΥSMC= 6%、ΥSMC= 10.7%。
對于無人機在ψ角的旋轉運動來說,期望偏航角為常值5度,同一次仿真實驗中,觀察得到實際PID和SMC控制效果如圖4所示。

圖4 偏航角姿態跟蹤對比
同樣地,可以從上圖誤差對比中,在無人機姿態控制方面,SMC的控制效果也是優于PID的,即該實驗SMC可表現出更快的響應和更小的控制誤差。
本文研究中的半實物仿真平臺(Semi-Physical Platform),集教學與科研目的于一體,其利用先進的基于模型的設計(MBD, Model Base Design)方法和代碼自動生成等技術,并具備模型編譯、下載、數據監視記錄和處理等功能。
硬件平臺主要由控制主機、四旋翼無人機和實驗臺架三部分構成,其中,四旋翼無人機通過萬向節的方式連接固定在實驗臺架上,而控制主機與無人機則通過無線網絡的方式實現交互通信,其硬件總體架構如圖5所示。

圖5 系統硬件總體架構圖
1)控制主機:屬于控制系統的上位機,在仿真實驗中將一臺筆記本配置為可搭載Matlab/Simulink仿真軟件、C編譯器(Visual Studio)和ARM編譯器(Code Sourcery ARM Complier)等工具的方式實現,可獨立進行針對特定模型的控制算法的設計和仿真,同時也支持模型算法的編譯、C代碼自動生成和下載驗證,并可通過獲取和處理四旋翼無人機回傳的數據解算出其姿態軌跡信息,從而直觀地檢驗模型控制算法的效果。
2)四旋翼無人機:屬于控制系統的下位機,采用一臺由Parrot公司生產的AR Drone 2.0實驗飛行器,由機架、動力系統和控制系統組成。其中,機架包括機臂、機身、腳架、保護罩和其他支撐部件等;動力系統主要包括電源模塊(電池和電源模塊電路)、電機電調和螺旋槳等;控制系統包括控制主板、導航傳感器板(IMU)和攝像頭等。作為實物仿真實驗的控制對象,該無人機可依靠自身數據采集單元提供較為精確的狀態反饋信息。
3)實驗臺架:屬于控制系統的實驗載體,采用固定尺寸的金屬框架搭建起一個約1 m3的實驗空間,在實物仿真實驗中將四旋翼無人機懸掛于實驗臺架上,這樣既保證了實驗的安全性,也不會影響對實驗飛行器的觀測。
實驗平臺的相關硬件配置清單如表1所示。
軟件平臺是實物仿真實驗中控制系統的核心,就無人機控制對象來說,整個系統的應用層用戶輸入與界面顯示模塊設計、上層控制算法設計、中間層傳感器數據采集與姿態估算程序設計和底層驅動代碼編寫都依賴于軟件平臺所提供的環境。本實驗平臺基于Windows操作系統,實驗工程環境的搭建借助于Matlab 2016B、C編譯器(Visual Studio)、ARM編譯器(Code Sourcery ARM Compiler)和四旋翼無人機實驗開發包等工具軟件。該實驗工程開發包的主界面如圖6所示,已經提供了實物仿真實驗的基本配置,僅需要關注對于無人機模型控制算法的設計,從而可有效加快科研進度。

圖6 半實物仿真平臺主界面
在控制算法的設計過程中,首先需要利用實驗工程開發包中提供的模版庫來搭建對應于四旋翼無人機控制系統的各個功能模塊,如用戶輸入單元、控制算法單元、電機驅動單元、姿態估算單元和圖形顯示單元等。其次,采用先進的基于模型的設計方法(MBD, Model Base Design)來完成對本文控制算法的代碼編寫,并且針對所考慮的不同無人機模型對算法進行修改,繼而進行對照實驗。由于這一部分工作是在Simulink平臺上進行,所以,最后還需要依靠實驗工程開發包的代碼自動技術得到能夠下載運行在實際無人機上的 C 語言程序。其軟件總體架構如圖7所示。

表1 系統硬件規格表

圖7 系統軟件總體架構圖
1)用戶輸入單元:屬于無人機控制系統的操作窗口,可設置實驗飛行器處于不同的模式,這里僅考慮室內臺架實驗模式,同時用于給定期望姿態角(如滾轉角或俯仰角,即控制目標)。
2)控制算法單元:屬于無人機控制系統的核心模塊,也是軟件設計部分的重難點,這部分工作基于論文理論部分針對特定無人機模型所推導得到的控制算法而進行的,對應完成在Simulink上的功能實現,并利用內嵌的代碼自動生成工具得到C語言程序,從而下載運行到實驗無人機。
3)電機驅動單元:屬于無人機控制系統的結果轉換部分,輸入是PWM值,即旋翼電機轉子全速的百分比,0%是無速度,100%是全速。該模塊對控制算法得到的4個PWM值轉換成一個40位的數字,然后輸出反饋給電機控制器。
4)姿態估算單元:屬于無人機控制系統的傳感器數據獲取和處理模塊,通過控制主機和四旋翼無人機之間的無線網絡傳輸,對三軸加速度計和三軸陀螺儀的測量信息進行處理,從而估算出無人機姿態角。同時,該模塊也會將姿態角輸入到控制算法單元,形成反饋閉環。
5)圖形顯示單元:屬于無人機控制系統的觀測窗口,該模塊對用戶輸入單元和姿態估算單元的角度信息進行記錄,并繪制姿態變化軌跡和角度偏差曲線。
本文基于四旋翼無人機的基本結構、飛行原理、動力學建模和常規PID控制器和滑模控制器設計的工作,詳細地介紹了所開發半實物仿真實驗平臺的硬件和軟件的總體架構和不同模塊的配置。其中,相較于常規的PID控制策略,本文所設計的滑模控制器可使四旋翼無人機在外界環境干擾的情況下仍具有良好的軌跡跟蹤性能。另外,本文半實物仿真平臺以降低實驗設備的損壞風險為出發點,集教學與科研目的于一體,其采用先進的基于模型的設計(MBD, model base design)方法和代碼自動生成等技術,同時可減輕科研負擔、加快相關控制策略的開發效率。