張海軍 陳映輝
1(嘉應(yīng)學(xué)院計算機(jī)學(xué)院 廣東 梅州 514015) 2(嘉應(yīng)學(xué)院數(shù)學(xué)學(xué)院 廣東 梅州 514015)
四旋翼無人機(jī)具有小體積、輕重量、強(qiáng)靈活性、低功耗、強(qiáng)容錯能力和低成本等優(yōu)點(diǎn),是所有無人機(jī)種中最具特點(diǎn)和最具代表性的一種。其應(yīng)用廣泛,如軍事、城市管理、農(nóng)業(yè)、應(yīng)急搶險等各種軍用和民用領(lǐng)域。為此,四旋翼無人機(jī)一直都是各國研究的熱點(diǎn)[1]。國外研究起步較早,如美國、日本等國四旋翼無人機(jī)技術(shù)相對領(lǐng)先,其中比較具有代表性的如:① 美國的斯坦福大學(xué)研制的載重量較大,適合遠(yuǎn)距離飛行STARMAC I代和II代四旋翼無人機(jī)系統(tǒng)[2];② 美國的賓夕法尼亞州立大學(xué)研制的具有視覺定位、可發(fā)射100 Hz的精度達(dá)到毫米級的位置信號的四旋翼無人機(jī)系統(tǒng)[3];③ 日本千葉大學(xué)研制的具有造價低、能進(jìn)行室外軌跡跟蹤、適合于民用的四旋翼無人機(jī)平臺[4]等。20世紀(jì)70年代,我國開始研制無人機(jī),除了軍用,最具代表性的有大疆科技、派諾特貿(mào)易和深圳一電等公司的無人機(jī)[5-6]。
四旋翼無人機(jī)系統(tǒng)具有非線性、多變量、高度耦合和欠驅(qū)動等特點(diǎn)。要有效控制好四旋翼無人機(jī),必須建立正確的動力學(xué)數(shù)學(xué)模型,構(gòu)建基于各個模塊的有機(jī)整體。為此,本文研究和實現(xiàn)智能型四旋翼無人機(jī)飛控系統(tǒng),其具有自主避障、旋轉(zhuǎn)機(jī)臂、新型的加速機(jī)制和變向模式等特性。
利用動力學(xué)原理實現(xiàn)智能型四旋翼無人機(jī)系統(tǒng)。首先,建立兩個動力相關(guān)坐標(biāo)系,分別為實體坐標(biāo)系H和運(yùn)動慣性坐標(biāo)系T(采用NED方向)。其中實體坐標(biāo)系H的原點(diǎn)選在飛行器的重心位置,運(yùn)動慣性坐標(biāo)系T的原點(diǎn)選在地面。用{xb,yb,zb}表示實體坐標(biāo)系H相應(yīng)軸正方向上的單位向量,{e1,e2,e3}表示運(yùn)動慣性坐標(biāo)系T相應(yīng)軸正方向上的單位向量,如圖1所示。
圖1 四旋翼無人機(jī)動力模型圖
利用動力坐標(biāo)系來定義四旋翼無人機(jī)飛行時的位置和姿態(tài)值,類似于剛體在三維空間內(nèi)位置和姿態(tài)值的定義。通常四旋翼無人機(jī)具有6個自由度,3種角為滾轉(zhuǎn)角φ、俯仰角θ和偏航角ψ及3個表示位置的量x、y和z。
可以用牛頓-歐拉等式表示質(zhì)量為m∈R慣性為J∈R3×3的剛性物體受到外力為Fext∈R3力矩為τ∈R3的作用時的動力方程[7]:
(1)
式中:V=(u,v,w)和Ω=(p,q,r)分別表示實體坐標(biāo)系H內(nèi)的線速度和角速度。平移力Fext包括重力、主要的推力及其他物體力的組合。
通過歐拉角參數(shù)化和航空學(xué)公約“ZYX”,可以用從實體坐標(biāo)系H到運(yùn)動慣性坐標(biāo)系T的旋轉(zhuǎn)矩陣R來表示無人機(jī)在空間中的位置,其中R∈SO3,如下所示:
(2)
式中:s和c為sin(·)和cos(·)的簡寫。利用兩個坐標(biāo)系之間的轉(zhuǎn)換,可以從其他的力中得出重力,在運(yùn)動慣性坐標(biāo)系T中的轉(zhuǎn)換動力模型為:
(3)
(4)
求得它的逆矩陣記為Ψ(η)=Φ-1(η):
(5)
從而可以求得慣性矩陣表達(dá)式為:
M(η)=Ψ-1(η)TJΨ(η)
式中:J=diag(J1,J2,J3)∈R3×3是四旋翼無人機(jī)的轉(zhuǎn)動慣量矩陣,從而進(jìn)一步可以得出:
(6)
(7)
從而得到四旋翼無人機(jī)的非線性模型如下所示:
(8)
基于非線性模型,首先,可以分解為兩個通過非線性耦合項連接的子系統(tǒng);其次,設(shè)計實現(xiàn)位置和姿態(tài)子系統(tǒng)的控制器。對式(8)中的第二個表達(dá)式進(jìn)行反饋線性化,可得:
(9)
(10)
對非線性動力模型式(9)進(jìn)行變換,可以得出兩個由非線性項Δ(u,ηd,eη)耦合在一起的線性子系統(tǒng),如下所示:
(11)
式中:向量H(ηd,eη)∈R6為動態(tài)逆誤差,A1∈R6×6、A2∈R6×6、B1∈R6×3和B2∈R6×3為矩陣,如下所示:
(12)
在式(11)中,μ∈R3可以看作虛擬的控制向量,定義為:
(13)
式中:fμ(·):R3→R3為連續(xù)可逆函數(shù)。通過式(13)可以得到虛擬控制向量μ的各分量表達(dá)式,如下所示:
(14)
然后再根據(jù)這一向量,可以計算出跟蹤軌跡時無人機(jī)飛行的姿態(tài)參考角度,即通過式(14)可以得出:
(15)
(16)
式中:Kξ∈R6×3,Kη∈R6×3。將式(15)代入四旋翼無人機(jī)動力學(xué)模型式(11)中,可以得出閉環(huán)控制系統(tǒng)的動力方程:
(17)
式中:Aξ=A1-B1Kξ,Aη=A1-B1Kη。通過改變Kξ和Kη的參數(shù)值可以使Aξ和Aη滿足Hurwitz矩陣,從而達(dá)到閉環(huán)系統(tǒng)穩(wěn)定的目的。而Δ(eξ,eη)可以看作位置環(huán)子系統(tǒng)的一個擾動項,進(jìn)一步可以證明,即使存在這一項值的情況下,以式(17)為閉環(huán)的系統(tǒng)仍然可以保持全局漸進(jìn)的穩(wěn)定性從而實現(xiàn)控制的目的。
為了實現(xiàn)無人機(jī)的自主避障控制和成功飛行[9],進(jìn)行了詳細(xì)測試和反復(fù)實驗。
對于無人機(jī),首要的任務(wù)就是機(jī)架的設(shè)計和制作。性能優(yōu)良的機(jī)架必須經(jīng)過精心的設(shè)計和反復(fù)測試,具體如:① 數(shù)學(xué)建模和力學(xué)分析;② 設(shè)計幾何模型;③ 控制大小比例;④ 選擇材料;⑤ 機(jī)架組裝。最后用輕巧牢固的碳纖維管構(gòu)建機(jī)架,其中3條3K斜紋6×4×1 000 mm型作為主機(jī)主架,3條5×3.5 mm型作為副架固定電機(jī),20條4×2×200 mm型用于機(jī)身結(jié)構(gòu)的固定,實現(xiàn)的機(jī)架呈“井”字模型,如圖2所示。
(a) 正面視圖
(b) 左側(cè)視圖
(c) 俯視圖圖2 無人機(jī)機(jī)架實物視圖
為了實現(xiàn)無人機(jī)自主飛行控制,本文使用嵌入式硬件Arduino Nano,其核心處理器是ATmega168(Nano 2.x),14路數(shù)字輸入/輸出(其中6路可作為PWM輸出,8路模擬輸入),16 MHz晶體振蕩器,mini-B USB口,ICSP header與一個復(fù)位按鈕。Nano通過四根數(shù)據(jù)線連接飛控,從而進(jìn)行信息傳遞和控制,分別為:AIL副翼信號,控制飛機(jī)在水平面俯仰;ELE升降信號,實現(xiàn)向左或右傾斜,飛行器就會向左或右飛;THR油門信號,控制飛機(jī)起飛和下降,加大油門就飛高些,減小油門就飛低些;RUD方向信號,控制無人機(jī)機(jī)頭指向的,通過改變機(jī)頭旁邊的兩個電機(jī)的轉(zhuǎn)速來實現(xiàn)機(jī)頭指向的改變。如圖3、圖4分別為油門線最低和最高時串口輸出的各信號值。依據(jù)這些信號值,用Arduino IDE軟件編譯器,基于C/C++編寫代碼并燒入Arduino Nano寄存器,從而實現(xiàn)無人機(jī)自主飛行控制。
圖3 低油門時串口輸出的各信號值
圖4 高油門時串口輸出的各信號值
無人機(jī)自主避障控制是在無人機(jī)自主飛行控制的基礎(chǔ)上實現(xiàn),在硬件上,如圖5所示。使用飛控、Arduino Nano作擴(kuò)展控制器,加上HC-SR04超聲波傳感器組成一個前方區(qū)域探測控制閉環(huán)系統(tǒng)。超聲波傳感器發(fā)射信號探測前方是否有障礙物,存在障礙物時算出距離值并反饋回Arduino Nano,進(jìn)一步改變AIL副翼信號、ELE升降信號、THR油門信號以及RUD方向信號等的值來實現(xiàn)無人機(jī)的避障飛行。使用Arduino IDE軟件編譯器,調(diào)用庫函數(shù),基于C/C++編寫代碼,主要實現(xiàn)超聲波信息處理、遙控功能、前向飛行控制、后向飛行控制、左向飛行控制和右向飛行控制等功能?;谒男頍o人機(jī),利用單方向自主避障原理,在硬件上增加三個超聲波傳感器,在程序中增加控制三個超聲波傳感器信息處理的代碼,修改代碼參數(shù)和調(diào)整無人機(jī),處理好聲波脈沖的相互干擾和誤判,可以實現(xiàn)四個方向的避障自控飛行。
圖5 探測控制閉環(huán)系統(tǒng)硬件示圖
通常無人機(jī)都是通過改變電壓來實現(xiàn)加速飛行。為了節(jié)約電源,本文通過設(shè)計可旋轉(zhuǎn)機(jī)臂,如圖6所示,來傾轉(zhuǎn)四個電機(jī)從而實現(xiàn)變向和加速。為此,安裝一個扭矩為360度的舵機(jī),如圖7所示,連接轉(zhuǎn)動機(jī)臂實現(xiàn)同步轉(zhuǎn)動。為了實現(xiàn)同步轉(zhuǎn)動,需要有效的連接機(jī)制,經(jīng)過反復(fù)實驗、比較、計算以及通過3D電腦模型建模,最后采用了以固定翼飛機(jī)加舵機(jī)來控制左右升降的方法成功地實現(xiàn)了舵機(jī)與轉(zhuǎn)動機(jī)臂互連,如圖8所示。
圖6 360度自由旋轉(zhuǎn)機(jī)臂實物示圖
圖7 舵機(jī)實物示圖
(a) 正面視圖
(b) 俯視圖
(c) 左側(cè)視圖圖8 實現(xiàn)的智能型無人機(jī)動力系統(tǒng)實物視圖
各主要構(gòu)成部件及功能特征描述如表1所示。
表1 基于自主飛行避障和可旋轉(zhuǎn)機(jī)臂的四旋翼無人機(jī)的主要部件列表
完成了機(jī)架設(shè)計及所有部件的測試準(zhǔn)備后,接下來進(jìn)行無人機(jī)軟硬件集成和實現(xiàn)。為此,需要解決以下問題:① 電池位置的選擇和固定;② 4個電調(diào)的位置的選擇及如何協(xié)調(diào)工作而不互相干擾;③ 電機(jī)的安裝;④ 飛控的安裝;⑤ 接收機(jī)的安裝;⑥ 電路的設(shè)計和電壓的調(diào)節(jié);⑦ 各部件接口的連接;⑧ 通過軟件和遙控器實現(xiàn)對無人機(jī)的控制;⑨ 避障系統(tǒng)的實現(xiàn)。
無人機(jī)的飛行測試可能出現(xiàn)很多的意外情況,如:① 無人機(jī)起飛不了,不斷往一邊倒;② 雖然起飛了,但是搖晃不定;③ 降落時很難停穩(wěn);④ 飛行時猛然降落,導(dǎo)致無人機(jī)嚴(yán)重摔壞摔爛等。最后,經(jīng)過反復(fù)測試和調(diào)整,實現(xiàn)了無人機(jī)的成功飛行,具有穩(wěn)定性高、靈敏性強(qiáng)、性能優(yōu)越等優(yōu)點(diǎn)。飛行示意圖如圖9、圖10所示。
圖9 智能型無人機(jī)低空飛行
圖10 智能型無人機(jī)高空飛行
本文通過數(shù)學(xué)建模進(jìn)行動力學(xué)系統(tǒng)分析,設(shè)計實現(xiàn)了基于硬件和軟件的智能型四旋翼無人機(jī)飛控系統(tǒng)。本文構(gòu)建了四旋翼無人機(jī)動力學(xué)模型并進(jìn)行理論分析;設(shè)計了無人機(jī)機(jī)架,對各組成模塊進(jìn)行測試、分析和試驗;實現(xiàn)了無人機(jī)飛控系統(tǒng)的自主避障系統(tǒng),智能飛行;實現(xiàn)了旋轉(zhuǎn)機(jī)臂,使無人機(jī)具有新型的加速機(jī)制和變向模式。飛行實驗結(jié)果表明,無人機(jī)飛控系統(tǒng)取得了較好的飛控效果,具有靈敏性強(qiáng)、穩(wěn)定性高,總體性能優(yōu)良等優(yōu)點(diǎn),并且安全性高,飛行時長,適合高低空飛行,完全適合于無人機(jī)載物流、應(yīng)急搶險等應(yīng)用。