袁 源
(招商局重慶公路工程檢測中心有限公司,重慶 400067)
無人機(jī)是指在不需要飛行員駕駛的情況下,可通過內(nèi)嵌程序自主飛行或無線遠(yuǎn)程遙控,從而完成任務(wù)的空中機(jī)器人系統(tǒng)[1]?,F(xiàn)有無人機(jī)按照機(jī)翼工作原理的不同可以分為固定翼和多旋翼無人機(jī),其中,小型四旋翼無人機(jī)作為一種具有結(jié)構(gòu)簡單、靈活性高、垂直起降(VTOL)和懸停功能的飛行機(jī)器人,也掀起了相關(guān)控制方法設(shè)計(jì)和仿真實(shí)驗(yàn)平臺(tái)研發(fā)的熱潮。目前,四旋翼無人機(jī)在應(yīng)用于軍事方面有關(guān)偵察監(jiān)視、靶向攻擊、干擾壓制等作戰(zhàn)任務(wù)的同時(shí),越來越多地出現(xiàn)在通信中繼、農(nóng)藥噴灑、搶險(xiǎn)救災(zāi)、物資運(yùn)輸、電力巡檢和航拍等民用商業(yè)領(lǐng)域[2-4]。
隨著人們對(duì)無人機(jī)飛行功能多樣化需求的增加,其所要求的飛行控制系統(tǒng)復(fù)雜性和故障隱患也日益增加,且考慮到四旋翼無人機(jī)欠驅(qū)動(dòng)、多變量、強(qiáng)非線性和強(qiáng)耦合性等特性,在測試和驗(yàn)證相關(guān)控制方法的效果及可靠性時(shí),必須盡量保證整個(gè)研究過程的安全性、避免發(fā)生“墜機(jī)”和人員受傷等事故。相較于軟件在環(huán)仿真,硬件在環(huán)仿真的優(yōu)勢在于它不僅可以測試所設(shè)計(jì)控制算法的實(shí)物應(yīng)用表現(xiàn),還能夠節(jié)省大量訓(xùn)練經(jīng)費(fèi)、增加實(shí)驗(yàn)安全性和可靠性[5-7]。
因此,為了降低在真實(shí)飛行器上測試新的控制策略時(shí)所存在的設(shè)備損壞風(fēng)險(xiǎn),同時(shí)幫助科研工作者更直觀地認(rèn)識(shí)四旋翼無人機(jī)的運(yùn)動(dòng)方式和控制規(guī)律,以下對(duì)四旋翼無人機(jī)基本結(jié)構(gòu)、飛行原理、動(dòng)力學(xué)模型和控制器設(shè)計(jì)進(jìn)行介紹,并著重對(duì)所研究半實(shí)物仿真實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)方法和應(yīng)用特點(diǎn)進(jìn)行說明。
四旋翼無人機(jī)的結(jié)構(gòu)一般有兩種形式,即“+”和“x”型,如圖1所示。與“+”樣式相比,“x”樣式飛行器的橫向尺寸更小,可以通過更狹小的區(qū)域,但是其要求四個(gè)電機(jī)同時(shí)改變轉(zhuǎn)速,且考慮“+”樣式四旋翼無人機(jī)的建模分析和控制更為簡單,所以選用“+”型的飛行器為例開展工作。
圖1 四旋翼無人機(jī)樣式
四旋翼無人機(jī)的飛行原理是通過控制自身四個(gè)旋翼轉(zhuǎn)速實(shí)現(xiàn)六個(gè)自由度上的運(yùn)動(dòng),其基本運(yùn)動(dòng)模式可分為懸停、偏航、俯仰和滾轉(zhuǎn)[8]。例如,如果給無人機(jī)四個(gè)旋翼順時(shí)針編號(hào)1、2、3和4,則在懸停狀態(tài)下同一時(shí)刻同量增大1和3號(hào)螺旋槳轉(zhuǎn)速值為Δ,并同量減少Δ大小的2和4號(hào)螺旋槳轉(zhuǎn)速,將使得無人機(jī)產(chǎn)生順時(shí)針的偏航運(yùn)動(dòng)。
在考慮外部環(huán)境干擾的前提下,建立了一個(gè)較為完整的QUAV模型,并為了簡化討論,以下假設(shè)通常可用于QUAV的模型推導(dǎo)。
假設(shè)1:重力加速度恒定,假設(shè)四旋翼為剛性,四個(gè)電機(jī)和螺旋槳對(duì)稱安裝;
假設(shè)2:已知常量ki(i= 1, …, 6) 用來表示四旋翼無人機(jī)所受空氣阻力作用;不定項(xiàng)d(·) 用來表示外部環(huán)境干擾的影響,這里認(rèn)為它是未知常量,且滿足|d(·)|≤dm≤∞;
為了獲得四旋翼無人機(jī)的數(shù)學(xué)模型,必須建立兩個(gè)基本坐標(biāo)系如圖2所示,即地面坐標(biāo)系和機(jī)體坐標(biāo)系,分別描述無人機(jī)的平移運(yùn)動(dòng)(x,y,z)和轉(zhuǎn)動(dòng)運(yùn)動(dòng)(滾轉(zhuǎn)角φ, 俯仰角θ, 偏航角ψ)。
圖2 四旋翼無人機(jī)坐標(biāo)
根據(jù)牛頓第二定律,得到無人機(jī)在地面坐標(biāo)系下剛體平動(dòng)的動(dòng)力學(xué)方程為:
(1)
根據(jù)剛體的轉(zhuǎn)動(dòng)定律,得到無人機(jī)在機(jī)體坐標(biāo)系下轉(zhuǎn)動(dòng)的動(dòng)力學(xué)方程為:
(2)
將旋翼升力和姿態(tài)角轉(zhuǎn)矩定義為四個(gè)控制輸入變量,如式(3):
(3)
式中,l為電機(jī)與無人機(jī)質(zhì)心之間的距離,b表示旋翼升力系數(shù),為常值且大于0,d為旋翼阻力系數(shù)。
最后,將上述中間和狀態(tài)變量分別代入到平移和轉(zhuǎn)動(dòng)的動(dòng)力學(xué)方程中,整理即可得四旋翼無人機(jī)的數(shù)學(xué)模型如下:
(4)
式中,未考慮陀螺效應(yīng)的微弱影響; [x,y,x,φ,θ,ψ] 為六個(gè)自由度,[Ix,Iy,Iz] 是常值慣性矩陣,ki(i=1~6)是對(duì)應(yīng)于飛行過程中的運(yùn)動(dòng)阻力作用的已知常量,Δi(i=1~6) 是對(duì)應(yīng)于有界的外部干擾項(xiàng)。
在常規(guī)PID控制器設(shè)計(jì)中[9],假定整個(gè)飛行過程中目標(biāo)偏航角為5°,首先計(jì)算位置偏差信號(hào)[ex,ey,ez]T,經(jīng)過PID算式得到xyz三個(gè)方向上控制力 [Ux,Uy,Uz]T,并按照下述式(5)轉(zhuǎn)換為控制升力U1;
(5)
其次按照下述式(6)解算出目標(biāo)滾轉(zhuǎn)角φd和俯仰角θd;
(6)
再將慣性傳感器測得的真實(shí)姿態(tài)角速度 [wxb,wyb,wzb]T換算出實(shí)際姿態(tài)角 [φ,θ,ψ]T,計(jì)算姿態(tài)偏差信號(hào) [eφ,eθ,eψ]T,經(jīng)過PID算式得到滾轉(zhuǎn)力矩U2、俯仰力矩U3和偏航力矩U4;最終使得四旋翼無人機(jī)得到控制。
為了應(yīng)對(duì)四旋翼無人機(jī)飛行運(yùn)動(dòng)時(shí)所考慮的有界的外部環(huán)境干擾的問題[10],所設(shè)計(jì)的滑模變結(jié)構(gòu)控制器如下述式(7)所示:
(7)
借助于MATLAB工具分別對(duì)所設(shè)計(jì)PID控制方法和自適應(yīng)滑??刂破鬟M(jìn)行數(shù)值仿真,進(jìn)一步對(duì)比兩種控制策略的效果。以下將首先進(jìn)行實(shí)驗(yàn)的初始化設(shè)置,給出實(shí)驗(yàn)中參數(shù)取值和無人機(jī)期望位置與姿態(tài)的設(shè)置;其次,分別對(duì)無人機(jī)位置(以x軸線運(yùn)動(dòng)為例)和姿態(tài)(以偏航角ψ角運(yùn)動(dòng)為例)在不同控制方法下的控制實(shí)驗(yàn)結(jié)果進(jìn)行分析。
根據(jù)實(shí)際四旋翼無人機(jī)的物理參數(shù)量級(jí),分別選取合適的數(shù)值,其中,無人機(jī)質(zhì)量m=0.4 kg, 電機(jī)與無人機(jī)質(zhì)心之間的距離l=0.25 m, 旋翼轉(zhuǎn)動(dòng)慣性矩陣I=diag(Ix,Iy,Iz) = diag(0.3,0.3,0.6) kg*m2,Ir=0.1。另外,選擇期望的無人機(jī)運(yùn)動(dòng)軌跡為[xd,yd,zd]=[3*sin(t); 4*cos(t); 4], 并取ki=0.1、ci=0.5和η=0.4,設(shè)置期望偏航角ψd=5°和外部的干擾項(xiàng)Δi=0.1*sin(t)(i=1,…,6)。
對(duì)于無人機(jī)沿x軸方向線運(yùn)動(dòng)來說,期望飛行軌跡為xd=x0*sin(t) = 3*sin(t),選取外部擾動(dòng)幅值為0.1的情況下分別采用PID控制和滑??刂品椒ㄟM(jìn)行實(shí)驗(yàn)。定義控制誤差為ε,此時(shí)根據(jù)x軸對(duì)應(yīng)仿真結(jié)果(如圖3所示)進(jìn)一步計(jì)算得到控制精度γ= (|ε|max/x0)*100%。
圖3 X軸位置跟蹤和對(duì)比
可以從圖3誤差對(duì)比中看出所設(shè)計(jì)SMC算法的控制誤差(|ε_(tái)SMC|max= 0.18)小于PID的(|ε_(tái)PID|max= 0.32),且可分別計(jì)算得到對(duì)應(yīng)控制精度ΥSMC= 6%、ΥSMC= 10.7%。
對(duì)于無人機(jī)在ψ角的旋轉(zhuǎn)運(yùn)動(dòng)來說,期望偏航角為常值5度,同一次仿真實(shí)驗(yàn)中,觀察得到實(shí)際PID和SMC控制效果如圖4所示。
圖4 偏航角姿態(tài)跟蹤對(duì)比
同樣地,可以從上圖誤差對(duì)比中,在無人機(jī)姿態(tài)控制方面,SMC的控制效果也是優(yōu)于PID的,即該實(shí)驗(yàn)SMC可表現(xiàn)出更快的響應(yīng)和更小的控制誤差。
本文研究中的半實(shí)物仿真平臺(tái)(Semi-Physical Platform),集教學(xué)與科研目的于一體,其利用先進(jìn)的基于模型的設(shè)計(jì)(MBD, Model Base Design)方法和代碼自動(dòng)生成等技術(shù),并具備模型編譯、下載、數(shù)據(jù)監(jiān)視記錄和處理等功能。
硬件平臺(tái)主要由控制主機(jī)、四旋翼無人機(jī)和實(shí)驗(yàn)臺(tái)架三部分構(gòu)成,其中,四旋翼無人機(jī)通過萬向節(jié)的方式連接固定在實(shí)驗(yàn)臺(tái)架上,而控制主機(jī)與無人機(jī)則通過無線網(wǎng)絡(luò)的方式實(shí)現(xiàn)交互通信,其硬件總體架構(gòu)如圖5所示。
圖5 系統(tǒng)硬件總體架構(gòu)圖
1)控制主機(jī):屬于控制系統(tǒng)的上位機(jī),在仿真實(shí)驗(yàn)中將一臺(tái)筆記本配置為可搭載Matlab/Simulink仿真軟件、C編譯器(Visual Studio)和ARM編譯器(Code Sourcery ARM Complier)等工具的方式實(shí)現(xiàn),可獨(dú)立進(jìn)行針對(duì)特定模型的控制算法的設(shè)計(jì)和仿真,同時(shí)也支持模型算法的編譯、C代碼自動(dòng)生成和下載驗(yàn)證,并可通過獲取和處理四旋翼無人機(jī)回傳的數(shù)據(jù)解算出其姿態(tài)軌跡信息,從而直觀地檢驗(yàn)?zāi)P涂刂扑惴ǖ男Ч?/p>
2)四旋翼無人機(jī):屬于控制系統(tǒng)的下位機(jī),采用一臺(tái)由Parrot公司生產(chǎn)的AR Drone 2.0實(shí)驗(yàn)飛行器,由機(jī)架、動(dòng)力系統(tǒng)和控制系統(tǒng)組成。其中,機(jī)架包括機(jī)臂、機(jī)身、腳架、保護(hù)罩和其他支撐部件等;動(dòng)力系統(tǒng)主要包括電源模塊(電池和電源模塊電路)、電機(jī)電調(diào)和螺旋槳等;控制系統(tǒng)包括控制主板、導(dǎo)航傳感器板(IMU)和攝像頭等。作為實(shí)物仿真實(shí)驗(yàn)的控制對(duì)象,該無人機(jī)可依靠自身數(shù)據(jù)采集單元提供較為精確的狀態(tài)反饋信息。
3)實(shí)驗(yàn)臺(tái)架:屬于控制系統(tǒng)的實(shí)驗(yàn)載體,采用固定尺寸的金屬框架搭建起一個(gè)約1 m3的實(shí)驗(yàn)空間,在實(shí)物仿真實(shí)驗(yàn)中將四旋翼無人機(jī)懸掛于實(shí)驗(yàn)臺(tái)架上,這樣既保證了實(shí)驗(yàn)的安全性,也不會(huì)影響對(duì)實(shí)驗(yàn)飛行器的觀測。
實(shí)驗(yàn)平臺(tái)的相關(guān)硬件配置清單如表1所示。
軟件平臺(tái)是實(shí)物仿真實(shí)驗(yàn)中控制系統(tǒng)的核心,就無人機(jī)控制對(duì)象來說,整個(gè)系統(tǒng)的應(yīng)用層用戶輸入與界面顯示模塊設(shè)計(jì)、上層控制算法設(shè)計(jì)、中間層傳感器數(shù)據(jù)采集與姿態(tài)估算程序設(shè)計(jì)和底層驅(qū)動(dòng)代碼編寫都依賴于軟件平臺(tái)所提供的環(huán)境。本實(shí)驗(yàn)平臺(tái)基于Windows操作系統(tǒng),實(shí)驗(yàn)工程環(huán)境的搭建借助于Matlab 2016B、C編譯器(Visual Studio)、ARM編譯器(Code Sourcery ARM Compiler)和四旋翼無人機(jī)實(shí)驗(yàn)開發(fā)包等工具軟件。該實(shí)驗(yàn)工程開發(fā)包的主界面如圖6所示,已經(jīng)提供了實(shí)物仿真實(shí)驗(yàn)的基本配置,僅需要關(guān)注對(duì)于無人機(jī)模型控制算法的設(shè)計(jì),從而可有效加快科研進(jìn)度。
圖6 半實(shí)物仿真平臺(tái)主界面
在控制算法的設(shè)計(jì)過程中,首先需要利用實(shí)驗(yàn)工程開發(fā)包中提供的模版庫來搭建對(duì)應(yīng)于四旋翼無人機(jī)控制系統(tǒng)的各個(gè)功能模塊,如用戶輸入單元、控制算法單元、電機(jī)驅(qū)動(dòng)單元、姿態(tài)估算單元和圖形顯示單元等。其次,采用先進(jìn)的基于模型的設(shè)計(jì)方法(MBD, Model Base Design)來完成對(duì)本文控制算法的代碼編寫,并且針對(duì)所考慮的不同無人機(jī)模型對(duì)算法進(jìn)行修改,繼而進(jìn)行對(duì)照實(shí)驗(yàn)。由于這一部分工作是在Simulink平臺(tái)上進(jìn)行,所以,最后還需要依靠實(shí)驗(yàn)工程開發(fā)包的代碼自動(dòng)技術(shù)得到能夠下載運(yùn)行在實(shí)際無人機(jī)上的 C 語言程序。其軟件總體架構(gòu)如圖7所示。
表1 系統(tǒng)硬件規(guī)格表
圖7 系統(tǒng)軟件總體架構(gòu)圖
1)用戶輸入單元:屬于無人機(jī)控制系統(tǒng)的操作窗口,可設(shè)置實(shí)驗(yàn)飛行器處于不同的模式,這里僅考慮室內(nèi)臺(tái)架實(shí)驗(yàn)?zāi)J?,同時(shí)用于給定期望姿態(tài)角(如滾轉(zhuǎn)角或俯仰角,即控制目標(biāo))。
2)控制算法單元:屬于無人機(jī)控制系統(tǒng)的核心模塊,也是軟件設(shè)計(jì)部分的重難點(diǎn),這部分工作基于論文理論部分針對(duì)特定無人機(jī)模型所推導(dǎo)得到的控制算法而進(jìn)行的,對(duì)應(yīng)完成在Simulink上的功能實(shí)現(xiàn),并利用內(nèi)嵌的代碼自動(dòng)生成工具得到C語言程序,從而下載運(yùn)行到實(shí)驗(yàn)無人機(jī)。
3)電機(jī)驅(qū)動(dòng)單元:屬于無人機(jī)控制系統(tǒng)的結(jié)果轉(zhuǎn)換部分,輸入是PWM值,即旋翼電機(jī)轉(zhuǎn)子全速的百分比,0%是無速度,100%是全速。該模塊對(duì)控制算法得到的4個(gè)PWM值轉(zhuǎn)換成一個(gè)40位的數(shù)字,然后輸出反饋給電機(jī)控制器。
4)姿態(tài)估算單元:屬于無人機(jī)控制系統(tǒng)的傳感器數(shù)據(jù)獲取和處理模塊,通過控制主機(jī)和四旋翼無人機(jī)之間的無線網(wǎng)絡(luò)傳輸,對(duì)三軸加速度計(jì)和三軸陀螺儀的測量信息進(jìn)行處理,從而估算出無人機(jī)姿態(tài)角。同時(shí),該模塊也會(huì)將姿態(tài)角輸入到控制算法單元,形成反饋閉環(huán)。
5)圖形顯示單元:屬于無人機(jī)控制系統(tǒng)的觀測窗口,該模塊對(duì)用戶輸入單元和姿態(tài)估算單元的角度信息進(jìn)行記錄,并繪制姿態(tài)變化軌跡和角度偏差曲線。
本文基于四旋翼無人機(jī)的基本結(jié)構(gòu)、飛行原理、動(dòng)力學(xué)建模和常規(guī)PID控制器和滑??刂破髟O(shè)計(jì)的工作,詳細(xì)地介紹了所開發(fā)半實(shí)物仿真實(shí)驗(yàn)平臺(tái)的硬件和軟件的總體架構(gòu)和不同模塊的配置。其中,相較于常規(guī)的PID控制策略,本文所設(shè)計(jì)的滑??刂破骺墒顾男頍o人機(jī)在外界環(huán)境干擾的情況下仍具有良好的軌跡跟蹤性能。另外,本文半實(shí)物仿真平臺(tái)以降低實(shí)驗(yàn)設(shè)備的損壞風(fēng)險(xiǎn)為出發(fā)點(diǎn),集教學(xué)與科研目的于一體,其采用先進(jìn)的基于模型的設(shè)計(jì)(MBD, model base design)方法和代碼自動(dòng)生成等技術(shù),同時(shí)可減輕科研負(fù)擔(dān)、加快相關(guān)控制策略的開發(fā)效率。