曹 凱,馬 貝,王翔武
(西安工業(yè)大學(xué) 電子信息工程學(xué)院,西安 710032)
四旋翼飛行器是指可以實(shí)現(xiàn)自主或遙控飛行,且不需要操作人員、具有四個(gè)旋翼的飛行動(dòng)力裝置[1];與常規(guī)旋翼式飛行器相比,其分布對(duì)稱、結(jié)構(gòu)簡單緊湊、易于維護(hù)、機(jī)動(dòng)性能強(qiáng),不需要類似于直升機(jī)上面的尾槳來抵消反扭矩.因此特別適合在空間比較狹小,人員難以到達(dá)的地方展開任務(wù).隨著微電子和傳感器技術(shù)等相關(guān)科學(xué)的不斷發(fā)展,特別是在民用和軍事領(lǐng)域有很多應(yīng)用,促進(jìn)了四旋翼飛行器的快速發(fā)展[2].可執(zhí)行的任務(wù)越來越復(fù)雜和多樣化,功能越來越完備,成為世界范圍內(nèi)研究較為熱門的一個(gè)領(lǐng)域.四旋翼飛行器技術(shù)的不斷成熟和門檻的逐步降低不斷吸引著越來越多的四旋翼飛行器愛好者投入到了四旋翼飛行器的研制中.文獻(xiàn)[3]通過對(duì)四旋翼飛行器動(dòng)力學(xué)和運(yùn)動(dòng)學(xué)分析,建立其數(shù)學(xué)和物理模型,在此基礎(chǔ)上提出了一些控制算法,并進(jìn)行驗(yàn)證.文獻(xiàn)[4]采用 Atmega128作為主控芯片,使用了氣壓傳感器,紅外傳感器,三軸加速度計(jì),兩軸陀螺,三軸磁力計(jì)等傳感器,完成對(duì)四旋翼飛行器硬件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),最終能完成定高,懸停等任務(wù).本文在四旋翼飛行器飛行原理基礎(chǔ)之上進(jìn)行四旋翼飛行器控制系統(tǒng)的硬件和軟件的設(shè)計(jì),將設(shè)計(jì)的四旋翼飛行器進(jìn)行試驗(yàn)試飛,得出相關(guān)結(jié)論.
四旋翼飛行器的控制由四旋翼飛行器上四個(gè)電機(jī)旋轉(zhuǎn)速度變化來實(shí)現(xiàn)的,無需復(fù)雜的傳動(dòng)裝置,機(jī)械結(jié)構(gòu)相對(duì)簡單.四旋翼飛行器在飛行時(shí)的動(dòng)作可分為6種,即沿軸向的線性運(yùn)動(dòng)和圍繞軸向的旋轉(zhuǎn)運(yùn)動(dòng).線性運(yùn)動(dòng)為沿著x,y,z方向的運(yùn)動(dòng),線性運(yùn)動(dòng)即為前后左右位置上的變化,旋轉(zhuǎn)運(yùn)動(dòng)則可分為滾轉(zhuǎn)運(yùn)動(dòng)(roll)、俯仰運(yùn)動(dòng)(pitch)、偏航運(yùn)動(dòng)(yaw).如圖1所示,按照布置方式可分為X和十模式.兩種模式對(duì)于姿態(tài)測量和控制而言沒有差別.本設(shè)計(jì)中考慮到四旋翼飛行器前方可能會(huì)安裝攝像頭等一些傳感器,為了不遮擋視線,所以本論文中使用X模式布置方式[4].
圖1 兩種四旋翼飛行器模式示意圖
四旋翼飛行器的運(yùn)動(dòng)可以分解為平動(dòng)與轉(zhuǎn)動(dòng)兩種運(yùn)動(dòng),平動(dòng)主要研究飛行器的位置,轉(zhuǎn)動(dòng)則主要分析飛行器的姿態(tài).大地坐標(biāo)系(慣性坐標(biāo)系或者導(dǎo)航坐標(biāo)系,用e、N或者G表示)用于研究飛行器相對(duì)大地的運(yùn)動(dòng)狀態(tài)以及空間位置坐標(biāo).機(jī)體坐標(biāo)系(用b或B)坐標(biāo)原點(diǎn)取機(jī)體的重心,用于研究飛行器相對(duì)于重心的旋轉(zhuǎn)運(yùn)動(dòng),在圖2四旋翼飛行器動(dòng)力模型圖中xB方向指向飛行器的前(橫滾軸)、yB方向指向飛行器的右(俯仰軸)和zB方向指向飛行器的下(偏航軸)方向.選取導(dǎo)航坐標(biāo)系N為參考坐標(biāo)系[5],以坐標(biāo)軸xN指向北、yN指向東和zN指向重力方向.M和F分別代表飛行器受到轉(zhuǎn)矩和升力.
四旋翼飛行器產(chǎn)生基本動(dòng)作的原理為:由于旋翼飛行器陀螺效應(yīng)和空氣動(dòng)力扭矩效應(yīng)的存在,為使其效應(yīng)消失,四旋翼飛行器上兩兩相鄰的電機(jī)轉(zhuǎn)速方向是相反的,保證4個(gè)電機(jī)轉(zhuǎn)速一致時(shí)機(jī)身不發(fā)生轉(zhuǎn)動(dòng).當(dāng)四個(gè)電機(jī)轉(zhuǎn)速相同并且同時(shí)增大時(shí),四旋翼飛行器升力將克服四旋翼飛行器的自身重力產(chǎn)生Z軸方向垂直向上的力,使得四旋翼飛行器垂直上升.當(dāng)升力小于重力時(shí),垂直下降,當(dāng)升力等于重力時(shí),便保持懸停狀態(tài).X軸方向的兩個(gè)電機(jī)不同時(shí)處于同一水平面時(shí)產(chǎn)生的運(yùn)動(dòng)叫俯仰運(yùn)動(dòng),即電機(jī)1、4的轉(zhuǎn)速不發(fā)生變化,電機(jī)2、3的轉(zhuǎn)速增大,則會(huì)導(dǎo)致電機(jī)2和電機(jī)3上產(chǎn)生升力不同,從而導(dǎo)致四旋翼飛行器發(fā)生X軸方向的俯仰運(yùn)動(dòng).滾轉(zhuǎn)運(yùn)動(dòng)和俯仰運(yùn)動(dòng)類似,區(qū)別在于滾轉(zhuǎn)運(yùn)動(dòng)機(jī)身是沿著Y軸方向發(fā)生傾斜[6].偏航運(yùn)動(dòng)中巧妙的使用了于反扭矩的存在,使得四旋翼飛行器跟隨旋翼自轉(zhuǎn).當(dāng)四旋翼飛行器對(duì)應(yīng)的轉(zhuǎn)速方向相同的兩個(gè)電機(jī)轉(zhuǎn)速和另外兩個(gè)電機(jī)轉(zhuǎn)速速度不一樣時(shí),四旋翼飛行器將會(huì)順著電機(jī)轉(zhuǎn)速快的那兩個(gè)電機(jī)旋轉(zhuǎn)方向旋轉(zhuǎn),實(shí)現(xiàn)繞Z軸順時(shí)針或是逆時(shí)針的變化,即為偏航運(yùn)動(dòng).
圖2 四旋翼飛行器動(dòng)力模型
飛行器系統(tǒng)結(jié)構(gòu)圖如圖3所示.在此系統(tǒng)中磁力計(jì)、加速度計(jì)、陀螺儀組成姿態(tài)測量系統(tǒng),主控制器將姿態(tài)測量系統(tǒng)的數(shù)據(jù)進(jìn)行姿態(tài)解算得到當(dāng)前四旋翼飛行器的飛行姿態(tài),再結(jié)合遙控器給定的信號(hào)作為PID控制器的輸入,隨后通過PID控制器輸出PWM信號(hào)到電子調(diào)速器,控制電機(jī)轉(zhuǎn)速發(fā)生不同的變化,實(shí)現(xiàn)對(duì)四旋翼飛行器姿態(tài)的控制.
圖3 飛行器系統(tǒng)結(jié)構(gòu)圖
通過姿態(tài)測量系統(tǒng)首先的到傳感器的原始數(shù)據(jù),獲取初始姿態(tài),使用四元數(shù)對(duì)姿態(tài)進(jìn)行更新,為了便于程序?qū)崿F(xiàn)四旋翼飛行器控制.由于四元數(shù)線性方程組計(jì)算量小,易于操作,比較貼近工程實(shí)際,歐拉角轉(zhuǎn)換成四元數(shù)算法進(jìn)行姿態(tài)更新,通過互補(bǔ)濾波器進(jìn)行姿態(tài)修正,然后對(duì)四元數(shù)進(jìn)行規(guī)范化處理,進(jìn)行下一次的姿態(tài)更新[7].
在研究物體轉(zhuǎn)動(dòng)和位置變化中,常用來唯一的確定定點(diǎn)轉(zhuǎn)動(dòng)位置的三個(gè)一組參量,由俯仰角θ、偏航角ψ和滾轉(zhuǎn)角組成,各軸之間的角度變化用歐拉角來表示,需要分別繞三個(gè)坐標(biāo)軸轉(zhuǎn)動(dòng)三次方能實(shí)現(xiàn).從導(dǎo)航坐標(biāo)系n到載體坐標(biāo)系b的姿態(tài)轉(zhuǎn)換矩陣如公式(1)所示.
歐拉角的更新方程公式(2):
定義一個(gè)四元數(shù),如公式(3):
通過旋轉(zhuǎn)軸和繞該軸旋轉(zhuǎn)的角度可以構(gòu)造一個(gè)四元數(shù),如公式 (4):
其中,α是繞旋轉(zhuǎn)軸旋轉(zhuǎn)角度,cos(βx)、cos(βy)、cos(βz)為旋轉(zhuǎn)軸在x、y、z方向的分量,由此確定旋轉(zhuǎn)軸.
四元數(shù)單位化,如公式(5):
歐拉角表達(dá)形式簡單、便于理解,四元數(shù)計(jì)算過程簡單,傳感器中以歐拉角形式輸出各姿態(tài)量,使用歐拉角轉(zhuǎn)四元數(shù)的方式作為姿態(tài)更新方法.公式(4)和公式(5)是它們之間的相互轉(zhuǎn)化的公式.由四元數(shù)表示方向余弦矩陣如下:
軟件系統(tǒng)中的包含的主要模塊有主邏輯模塊、傳感器數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、初始化模塊、電機(jī)驅(qū)動(dòng)模塊、無線遙控模塊、飛行控制模塊、報(bào)警模塊等.
軟件設(shè)計(jì)采用模塊化的思想對(duì)四旋翼飛行控制系統(tǒng)進(jìn)行設(shè)計(jì),模塊主要包括數(shù)據(jù)采集與處理模塊、控制算法模塊、指令收發(fā)模塊等等.系統(tǒng)上電后首先對(duì)系統(tǒng)的硬件進(jìn)行初始化,此過程中完成四旋翼飛行器上各傳感器校準(zhǔn)以及電子調(diào)速器的自檢等,此時(shí)如果四旋翼飛行器控制板上出現(xiàn)問題,板上的LED等會(huì)發(fā)出故障信號(hào)主要包括各姿態(tài)傳感器以及電調(diào)電機(jī)的自檢和傳感器校準(zhǔn).完成初始化后,系統(tǒng)等待遙控控制指令,判斷是否解鎖,解鎖后STM32對(duì)姿態(tài)傳感器MPU6050采集到的數(shù)據(jù)姿態(tài)解算,然后給每個(gè)電機(jī)給定一個(gè)輸出量,實(shí)現(xiàn)對(duì)四旋翼飛行器的控制,同時(shí)四旋翼飛行器上的信息和各個(gè)傳感器數(shù)據(jù)傳輸給上位機(jī),飛行控制主程序流程圖如圖4所示.
圖4 飛行控制器主程序流程圖
圖5是捷聯(lián)式慣性導(dǎo)航原理圖,捷聯(lián)式慣性導(dǎo)航系統(tǒng)在工作時(shí)不依賴外界信息,也不向外界輻射能量,不易受到干擾破壞,是一種自主式導(dǎo)航系統(tǒng).它省去了慣性平臺(tái),陀螺儀和加速度計(jì)直接安裝在飛行器上,使系統(tǒng)體積小、重量輕、成本低、維護(hù)方便.此四旋翼飛行器位姿解算中使用的就是捷聯(lián)式慣性導(dǎo)航.
圖5 捷聯(lián)式慣性導(dǎo)航原理圖
四旋翼飛行器的控制目標(biāo)是按照操作者的控制在有操作時(shí)按照完成指定的操作任務(wù),無操作時(shí)保持懸停狀態(tài).本文使用PID控制器對(duì)四旋翼飛行器進(jìn)行的姿態(tài)控制,原理圖如圖6所示.PID控制無需對(duì)系統(tǒng)進(jìn)行精確地建模,以姿態(tài)歐拉角的期望值與當(dāng)前姿態(tài)角度的計(jì)算值之差作為PID控制器的輸入,輸出PWM控制量到每個(gè)電機(jī),三個(gè)PID輸出量疊加到不同的位置的電子調(diào)速器上,驅(qū)動(dòng)電機(jī)速度發(fā)生變化,使飛行器能夠完成三維空間的各種運(yùn)動(dòng)[9].
圖6 姿態(tài) PID 控制整體流程圖
四旋翼飛行器系統(tǒng)是一個(gè)非線性系統(tǒng),當(dāng)四旋翼飛行器處于懸停和穩(wěn)定平穩(wěn)飛行時(shí),可已經(jīng)四旋翼飛行器系統(tǒng)近似為線性系統(tǒng)[10].實(shí)際對(duì)四旋翼飛行器的控制對(duì)象是電機(jī)和螺旋槳,螺旋槳的轉(zhuǎn)動(dòng)是通過電機(jī)轉(zhuǎn)動(dòng)而轉(zhuǎn)動(dòng),從而產(chǎn)生力矩和扭矩,然后作用于四旋翼飛行器.陀螺儀得到各姿態(tài)的角速率,經(jīng)過積分得到各姿態(tài)角.由于對(duì)四旋翼飛行器控制時(shí),實(shí)時(shí)性要求很高,同時(shí)微處理器處理信息、發(fā)送指令、無刷電機(jī)相應(yīng)都會(huì)產(chǎn)生微秒級(jí)的延遲.假如不進(jìn)行校正,會(huì)直觀地發(fā)現(xiàn)滯后比較嚴(yán)重,所以要進(jìn)行校正,使響應(yīng)提前達(dá)到穩(wěn)定的范圍之內(nèi).系統(tǒng)中采用PID控制器,使用比例參數(shù)決定系統(tǒng)的相應(yīng)速度,積分參數(shù)消除四旋翼飛行器系統(tǒng)的穩(wěn)態(tài)誤差,微分參數(shù)可以使整個(gè)系統(tǒng)的相位提前,又可以消除飛行器抖動(dòng),從而保證整個(gè)系統(tǒng)的穩(wěn)定.根據(jù)每個(gè)四旋翼飛行器系統(tǒng)的實(shí)際情況,選擇合適的控制參數(shù)才能得到理想的飛行結(jié)果.
論文中該系統(tǒng)主控芯片采用STM32F103微控制器,利用四元數(shù)算法得到姿態(tài)解算,設(shè)計(jì)了改進(jìn)的變參數(shù)PID控制算法的姿態(tài)控制系統(tǒng).本論文的優(yōu)點(diǎn)全面分析和設(shè)計(jì)了四旋翼飛行器的硬件和軟件,最終實(shí)現(xiàn)四旋翼飛行器指定的功能,并試驗(yàn).使用STM32芯片,便于以后對(duì)功能進(jìn)行擴(kuò)展,如添加GPS模塊、圖傳模塊等.在于經(jīng)過大量的飛行測試,表明該飛行控制系統(tǒng)能夠?qū)崿F(xiàn)四旋翼飛行器穩(wěn)定的姿態(tài)控制,實(shí)現(xiàn)了定點(diǎn)懸停、定高懸停、前后側(cè)向飛行等功能.
圖7 四旋翼飛行器室外懸停
PID參數(shù)的調(diào)節(jié)需要耐心細(xì)致的工作態(tài)度才能得到比較好的結(jié)果.通過不斷地試驗(yàn),所設(shè)計(jì)的原型樣機(jī)已經(jīng)能夠?qū)崿F(xiàn)平穩(wěn)的飛行(如圖7,飛行器室外懸停),基本達(dá)到了預(yù)期的目的.
1 米培良.四旋翼飛行器控制與實(shí)現(xiàn)[碩士學(xué)位論文].大連:大連理工大學(xué),2015.
2 郭寶錄,李朝榮,樂洪宇.國外無人機(jī)技術(shù)的發(fā)展動(dòng)向與分析.艦船電子工程,2008,28(9):12–21.
3 趙敏.淺談四旋翼飛行器的技術(shù)發(fā)展方向.科技創(chuàng)新與應(yīng)用,2016,(16):100.
4 呂強(qiáng),郭善亮,王冬來,等.基于 DSP 四旋翼飛行器姿態(tài)控制系統(tǒng)硬件設(shè)計(jì).計(jì)算機(jī)與數(shù)字工程,2011,39(7):144–146.
5 劉峰,呂強(qiáng),王國勝,等.四軸飛行器姿態(tài)控制系統(tǒng)設(shè)計(jì).計(jì)算機(jī)測量與控制,2011,19(3):583–585,616.
6 張廣玉,張洪濤,李隆球,等.四旋翼微型飛行器設(shè)計(jì).哈爾濱理工大學(xué)學(xué)報(bào),2012,17(3):110–114.
7 張鐳,李浩.四旋翼飛行器模糊PID姿態(tài)控制.計(jì)算機(jī)仿真,2014,31(8):73–77.
8 陳永冰,鐘斌.慣性導(dǎo)航原理.北京:國防工業(yè)出版社,2007.
9 張金樓.經(jīng)濟(jì)型運(yùn)動(dòng)載體航向姿態(tài)測量系統(tǒng)的研究與開發(fā)[碩士學(xué)位論文].西安:西安電子科技大學(xué),2007.
10 劉煥曄.小型四旋翼飛行器飛行控制系統(tǒng)研究與設(shè)計(jì)[碩士學(xué)位論文].上海:上海交通大學(xué),2011.