張海軍 陳映輝
1(嘉應(yīng)學(xué)院計(jì)算機(jī)學(xué)院 廣東 梅州 514015) 2(嘉應(yīng)學(xué)院數(shù)學(xué)學(xué)院 廣東 梅州 514015)
四旋翼無(wú)人機(jī)具有小體積、輕重量、強(qiáng)靈活性、低功耗、強(qiáng)容錯(cuò)能力和低成本等優(yōu)點(diǎn),是所有無(wú)人機(jī)種中最具特點(diǎn)和最具代表性的一種。其應(yīng)用廣泛,如軍事、城市管理、農(nóng)業(yè)、應(yīng)急搶險(xiǎn)等各種軍用和民用領(lǐng)域。為此,四旋翼無(wú)人機(jī)一直都是各國(guó)研究的熱點(diǎn)[1]。國(guó)外研究起步較早,如美國(guó)、日本等國(guó)四旋翼無(wú)人機(jī)技術(shù)相對(duì)領(lǐng)先,其中比較具有代表性的如:① 美國(guó)的斯坦福大學(xué)研制的載重量較大,適合遠(yuǎn)距離飛行STARMAC I代和II代四旋翼無(wú)人機(jī)系統(tǒng)[2];② 美國(guó)的賓夕法尼亞州立大學(xué)研制的具有視覺(jué)定位、可發(fā)射100 Hz的精度達(dá)到毫米級(jí)的位置信號(hào)的四旋翼無(wú)人機(jī)系統(tǒng)[3];③ 日本千葉大學(xué)研制的具有造價(jià)低、能進(jìn)行室外軌跡跟蹤、適合于民用的四旋翼無(wú)人機(jī)平臺(tái)[4]等。20世紀(jì)70年代,我國(guó)開(kāi)始研制無(wú)人機(jī),除了軍用,最具代表性的有大疆科技、派諾特貿(mào)易和深圳一電等公司的無(wú)人機(jī)[5-6]。
四旋翼無(wú)人機(jī)系統(tǒng)具有非線性、多變量、高度耦合和欠驅(qū)動(dòng)等特點(diǎn)。要有效控制好四旋翼無(wú)人機(jī),必須建立正確的動(dòng)力學(xué)數(shù)學(xué)模型,構(gòu)建基于各個(gè)模塊的有機(jī)整體。為此,本文研究和實(shí)現(xiàn)智能型四旋翼無(wú)人機(jī)飛控系統(tǒng),其具有自主避障、旋轉(zhuǎn)機(jī)臂、新型的加速機(jī)制和變向模式等特性。
利用動(dòng)力學(xué)原理實(shí)現(xiàn)智能型四旋翼無(wú)人機(jī)系統(tǒng)。首先,建立兩個(gè)動(dòng)力相關(guān)坐標(biāo)系,分別為實(shí)體坐標(biāo)系H和運(yùn)動(dòng)慣性坐標(biāo)系T(采用NED方向)。其中實(shí)體坐標(biāo)系H的原點(diǎn)選在飛行器的重心位置,運(yùn)動(dòng)慣性坐標(biāo)系T的原點(diǎn)選在地面。用{xb,yb,zb}表示實(shí)體坐標(biāo)系H相應(yīng)軸正方向上的單位向量,{e1,e2,e3}表示運(yùn)動(dòng)慣性坐標(biāo)系T相應(yīng)軸正方向上的單位向量,如圖1所示。

圖1 四旋翼無(wú)人機(jī)動(dòng)力模型圖
利用動(dòng)力坐標(biāo)系來(lái)定義四旋翼無(wú)人機(jī)飛行時(shí)的位置和姿態(tài)值,類(lèi)似于剛體在三維空間內(nèi)位置和姿態(tài)值的定義。通常四旋翼無(wú)人機(jī)具有6個(gè)自由度,3種角為滾轉(zhuǎn)角φ、俯仰角θ和偏航角ψ及3個(gè)表示位置的量x、y和z。
可以用牛頓-歐拉等式表示質(zhì)量為m∈R慣性為J∈R3×3的剛性物體受到外力為Fext∈R3力矩為τ∈R3的作用時(shí)的動(dòng)力方程[7]:
(1)
式中:V=(u,v,w)和Ω=(p,q,r)分別表示實(shí)體坐標(biāo)系H內(nèi)的線速度和角速度。平移力Fext包括重力、主要的推力及其他物體力的組合。
通過(guò)歐拉角參數(shù)化和航空學(xué)公約“ZYX”,可以用從實(shí)體坐標(biāo)系H到運(yùn)動(dòng)慣性坐標(biāo)系T的旋轉(zhuǎn)矩陣R來(lái)表示無(wú)人機(jī)在空間中的位置,其中R∈SO3,如下所示:

(2)
式中:s和c為sin(·)和cos(·)的簡(jiǎn)寫(xiě)。利用兩個(gè)坐標(biāo)系之間的轉(zhuǎn)換,可以從其他的力中得出重力,在運(yùn)動(dòng)慣性坐標(biāo)系T中的轉(zhuǎn)換動(dòng)力模型為:
(3)



(4)
求得它的逆矩陣記為Ψ(η)=Φ-1(η):

(5)
從而可以求得慣性矩陣表達(dá)式為:
M(η)=Ψ-1(η)TJΨ(η)
式中:J=diag(J1,J2,J3)∈R3×3是四旋翼無(wú)人機(jī)的轉(zhuǎn)動(dòng)慣量矩陣,從而進(jìn)一步可以得出:
(6)

(7)
從而得到四旋翼無(wú)人機(jī)的非線性模型如下所示:
(8)
基于非線性模型,首先,可以分解為兩個(gè)通過(guò)非線性耦合項(xiàng)連接的子系統(tǒng);其次,設(shè)計(jì)實(shí)現(xiàn)位置和姿態(tài)子系統(tǒng)的控制器。對(duì)式(8)中的第二個(gè)表達(dá)式進(jìn)行反饋線性化,可得:
(9)

(10)

對(duì)非線性動(dòng)力模型式(9)進(jìn)行變換,可以得出兩個(gè)由非線性項(xiàng)Δ(u,ηd,eη)耦合在一起的線性子系統(tǒng),如下所示:
(11)
式中:向量H(ηd,eη)∈R6為動(dòng)態(tài)逆誤差,A1∈R6×6、A2∈R6×6、B1∈R6×3和B2∈R6×3為矩陣,如下所示:
(12)
在式(11)中,μ∈R3可以看作虛擬的控制向量,定義為:
(13)
式中:fμ(·):R3→R3為連續(xù)可逆函數(shù)。通過(guò)式(13)可以得到虛擬控制向量μ的各分量表達(dá)式,如下所示:
(14)
然后再根據(jù)這一向量,可以計(jì)算出跟蹤軌跡時(shí)無(wú)人機(jī)飛行的姿態(tài)參考角度,即通過(guò)式(14)可以得出:
(15)

(16)
式中:Kξ∈R6×3,Kη∈R6×3。將式(15)代入四旋翼無(wú)人機(jī)動(dòng)力學(xué)模型式(11)中,可以得出閉環(huán)控制系統(tǒng)的動(dòng)力方程:
(17)
式中:Aξ=A1-B1Kξ,Aη=A1-B1Kη。通過(guò)改變Kξ和Kη的參數(shù)值可以使Aξ和Aη滿足Hurwitz矩陣,從而達(dá)到閉環(huán)系統(tǒng)穩(wěn)定的目的。而Δ(eξ,eη)可以看作位置環(huán)子系統(tǒng)的一個(gè)擾動(dòng)項(xiàng),進(jìn)一步可以證明,即使存在這一項(xiàng)值的情況下,以式(17)為閉環(huán)的系統(tǒng)仍然可以保持全局漸進(jìn)的穩(wěn)定性從而實(shí)現(xiàn)控制的目的。
為了實(shí)現(xiàn)無(wú)人機(jī)的自主避障控制和成功飛行[9],進(jìn)行了詳細(xì)測(cè)試和反復(fù)實(shí)驗(yàn)。
對(duì)于無(wú)人機(jī),首要的任務(wù)就是機(jī)架的設(shè)計(jì)和制作。性能優(yōu)良的機(jī)架必須經(jīng)過(guò)精心的設(shè)計(jì)和反復(fù)測(cè)試,具體如:① 數(shù)學(xué)建模和力學(xué)分析;② 設(shè)計(jì)幾何模型;③ 控制大小比例;④ 選擇材料;⑤ 機(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)的固定,實(shí)現(xiàn)的機(jī)架呈“井”字模型,如圖2所示。

(a) 正面視圖

(b) 左側(cè)視圖

(c) 俯視圖圖2 無(wú)人機(jī)機(jī)架實(shí)物視圖
為了實(shí)現(xiàn)無(wú)人機(jī)自主飛行控制,本文使用嵌入式硬件Arduino Nano,其核心處理器是ATmega168(Nano 2.x),14路數(shù)字輸入/輸出(其中6路可作為PWM輸出,8路模擬輸入),16 MHz晶體振蕩器,mini-B USB口,ICSP header與一個(gè)復(fù)位按鈕。Nano通過(guò)四根數(shù)據(jù)線連接飛控,從而進(jìn)行信息傳遞和控制,分別為:AIL副翼信號(hào),控制飛機(jī)在水平面俯仰;ELE升降信號(hào),實(shí)現(xiàn)向左或右傾斜,飛行器就會(huì)向左或右飛;THR油門(mén)信號(hào),控制飛機(jī)起飛和下降,加大油門(mén)就飛高些,減小油門(mén)就飛低些;RUD方向信號(hào),控制無(wú)人機(jī)機(jī)頭指向的,通過(guò)改變機(jī)頭旁邊的兩個(gè)電機(jī)的轉(zhuǎn)速來(lái)實(shí)現(xiàn)機(jī)頭指向的改變。如圖3、圖4分別為油門(mén)線最低和最高時(shí)串口輸出的各信號(hào)值。依據(jù)這些信號(hào)值,用Arduino IDE軟件編譯器,基于C/C++編寫(xiě)代碼并燒入Arduino Nano寄存器,從而實(shí)現(xiàn)無(wú)人機(jī)自主飛行控制。

圖3 低油門(mén)時(shí)串口輸出的各信號(hào)值

圖4 高油門(mén)時(shí)串口輸出的各信號(hào)值
無(wú)人機(jī)自主避障控制是在無(wú)人機(jī)自主飛行控制的基礎(chǔ)上實(shí)現(xiàn),在硬件上,如圖5所示。使用飛控、Arduino Nano作擴(kuò)展控制器,加上HC-SR04超聲波傳感器組成一個(gè)前方區(qū)域探測(cè)控制閉環(huán)系統(tǒng)。超聲波傳感器發(fā)射信號(hào)探測(cè)前方是否有障礙物,存在障礙物時(shí)算出距離值并反饋回Arduino Nano,進(jìn)一步改變AIL副翼信號(hào)、ELE升降信號(hào)、THR油門(mén)信號(hào)以及RUD方向信號(hào)等的值來(lái)實(shí)現(xiàn)無(wú)人機(jī)的避障飛行。使用Arduino IDE軟件編譯器,調(diào)用庫(kù)函數(shù),基于C/C++編寫(xiě)代碼,主要實(shí)現(xiàn)超聲波信息處理、遙控功能、前向飛行控制、后向飛行控制、左向飛行控制和右向飛行控制等功能。基于四旋翼無(wú)人機(jī),利用單方向自主避障原理,在硬件上增加三個(gè)超聲波傳感器,在程序中增加控制三個(gè)超聲波傳感器信息處理的代碼,修改代碼參數(shù)和調(diào)整無(wú)人機(jī),處理好聲波脈沖的相互干擾和誤判,可以實(shí)現(xiàn)四個(gè)方向的避障自控飛行。

圖5 探測(cè)控制閉環(huán)系統(tǒng)硬件示圖
通常無(wú)人機(jī)都是通過(guò)改變電壓來(lái)實(shí)現(xiàn)加速飛行。為了節(jié)約電源,本文通過(guò)設(shè)計(jì)可旋轉(zhuǎn)機(jī)臂,如圖6所示,來(lái)傾轉(zhuǎn)四個(gè)電機(jī)從而實(shí)現(xiàn)變向和加速。為此,安裝一個(gè)扭矩為360度的舵機(jī),如圖7所示,連接轉(zhuǎn)動(dòng)機(jī)臂實(shí)現(xiàn)同步轉(zhuǎn)動(dòng)。為了實(shí)現(xiàn)同步轉(zhuǎn)動(dòng),需要有效的連接機(jī)制,經(jīng)過(guò)反復(fù)實(shí)驗(yàn)、比較、計(jì)算以及通過(guò)3D電腦模型建模,最后采用了以固定翼飛機(jī)加舵機(jī)來(lái)控制左右升降的方法成功地實(shí)現(xiàn)了舵機(jī)與轉(zhuǎn)動(dòng)機(jī)臂互連,如圖8所示。

圖6 360度自由旋轉(zhuǎn)機(jī)臂實(shí)物示圖

圖7 舵機(jī)實(shí)物示圖

(a) 正面視圖

(b) 俯視圖

(c) 左側(cè)視圖圖8 實(shí)現(xiàn)的智能型無(wú)人機(jī)動(dòng)力系統(tǒng)實(shí)物視圖
各主要構(gòu)成部件及功能特征描述如表1所示。

表1 基于自主飛行避障和可旋轉(zhuǎn)機(jī)臂的四旋翼無(wú)人機(jī)的主要部件列表
完成了機(jī)架設(shè)計(jì)及所有部件的測(cè)試準(zhǔn)備后,接下來(lái)進(jìn)行無(wú)人機(jī)軟硬件集成和實(shí)現(xiàn)。為此,需要解決以下問(wèn)題:① 電池位置的選擇和固定;② 4個(gè)電調(diào)的位置的選擇及如何協(xié)調(diào)工作而不互相干擾;③ 電機(jī)的安裝;④ 飛控的安裝;⑤ 接收機(jī)的安裝;⑥ 電路的設(shè)計(jì)和電壓的調(diào)節(jié);⑦ 各部件接口的連接;⑧ 通過(guò)軟件和遙控器實(shí)現(xiàn)對(duì)無(wú)人機(jī)的控制;⑨ 避障系統(tǒng)的實(shí)現(xiàn)。
無(wú)人機(jī)的飛行測(cè)試可能出現(xiàn)很多的意外情況,如:① 無(wú)人機(jī)起飛不了,不斷往一邊倒;② 雖然起飛了,但是搖晃不定;③ 降落時(shí)很難停穩(wěn);④ 飛行時(shí)猛然降落,導(dǎo)致無(wú)人機(jī)嚴(yán)重摔壞摔爛等。最后,經(jīng)過(guò)反復(fù)測(cè)試和調(diào)整,實(shí)現(xiàn)了無(wú)人機(jī)的成功飛行,具有穩(wěn)定性高、靈敏性強(qiáng)、性能優(yōu)越等優(yōu)點(diǎn)。飛行示意圖如圖9、圖10所示。

圖9 智能型無(wú)人機(jī)低空飛行

圖10 智能型無(wú)人機(jī)高空飛行
本文通過(guò)數(shù)學(xué)建模進(jìn)行動(dòng)力學(xué)系統(tǒng)分析,設(shè)計(jì)實(shí)現(xiàn)了基于硬件和軟件的智能型四旋翼無(wú)人機(jī)飛控系統(tǒng)。本文構(gòu)建了四旋翼無(wú)人機(jī)動(dòng)力學(xué)模型并進(jìn)行理論分析;設(shè)計(jì)了無(wú)人機(jī)機(jī)架,對(duì)各組成模塊進(jìn)行測(cè)試、分析和試驗(yàn);實(shí)現(xiàn)了無(wú)人機(jī)飛控系統(tǒng)的自主避障系統(tǒng),智能飛行;實(shí)現(xiàn)了旋轉(zhuǎn)機(jī)臂,使無(wú)人機(jī)具有新型的加速機(jī)制和變向模式。飛行實(shí)驗(yàn)結(jié)果表明,無(wú)人機(jī)飛控系統(tǒng)取得了較好的飛控效果,具有靈敏性強(qiáng)、穩(wěn)定性高,總體性能優(yōu)良等優(yōu)點(diǎn),并且安全性高,飛行時(shí)長(zhǎng),適合高低空飛行,完全適合于無(wú)人機(jī)載物流、應(yīng)急搶險(xiǎn)等應(yīng)用。