張瑞
?
基于四旋翼飛行器的定軌飛行系統(tǒng)設(shè)計(jì)
張瑞
(洛陽(yáng)科技職業(yè)學(xué)院)
四旋翼飛行器具有體積小、質(zhì)量輕、穩(wěn)定性好等特點(diǎn),具備廣泛的軍用和民用應(yīng)用價(jià)值。而飛行器的遠(yuǎn)程操控模式易受到外部環(huán)境因素影響,因此開(kāi)發(fā)一種基于四旋翼飛行器的自主定軌飛行系統(tǒng),使飛行器在不需要人為操控的情況下自主定軌飛行,有著重要的實(shí)用價(jià)值和工程意義?;赟TM32處理器的Crazepony mini四旋翼,對(duì)其硬件組成及四旋翼飛行器飛行原理進(jìn)行分析;通過(guò)獲取實(shí)時(shí)數(shù)據(jù)并進(jìn)行姿態(tài)解算,對(duì)控制量進(jìn)行PID計(jì)算;最后將輸出量轉(zhuǎn)化為PWM信號(hào),控制各個(gè)電機(jī)實(shí)現(xiàn)四旋翼飛行器的定軌飛行。
四旋翼飛行器;STM32;飛行控制系統(tǒng);姿態(tài)解算
無(wú)人機(jī)是利用無(wú)線電遙控設(shè)備和自備程序控制裝置操縱的不載人飛機(jī)[1],在軍用和民用領(lǐng)域具有廣泛的應(yīng)用前景。無(wú)人機(jī)從技術(shù)角度分為無(wú)人直升機(jī)、無(wú)人固定翼機(jī)和無(wú)人多旋翼飛行器等[2],其中無(wú)人多旋翼飛行器因具有操作簡(jiǎn)單、短距起降等特點(diǎn)迅速成為目前民用無(wú)人機(jī)市場(chǎng)的主流[3-4]。無(wú)人機(jī)按旋翼個(gè)數(shù)可分為單旋翼、雙旋翼和多旋翼。多旋翼飛行器造價(jià)低廉、機(jī)動(dòng)性強(qiáng)、體積小,缺點(diǎn)是續(xù)航時(shí)間短、載荷小。四旋翼飛行器的4個(gè)旋翼對(duì)稱分布在飛行器四端,相對(duì)旋翼結(jié)構(gòu)相同,相鄰旋翼結(jié)構(gòu)相反,通過(guò)控制4個(gè)旋翼轉(zhuǎn)速提供的推力來(lái)實(shí)現(xiàn)懸停、維持姿態(tài)和平飛等各種飛行姿態(tài),但其控制算法相對(duì)繁瑣。隨著微機(jī)電系統(tǒng)的出現(xiàn),四旋翼飛行器得快速發(fā)展。
四旋翼飛行器在技術(shù)上已經(jīng)成熟,但其遠(yuǎn)程操控受限于外部環(huán)境因素。因此,通過(guò)研究四旋翼飛行器的自主定軌飛行控制系統(tǒng),自動(dòng)調(diào)整姿態(tài),使其按照預(yù)定軌跡飛行,做出預(yù)定動(dòng)作或者獲取有效的信息。
四旋翼飛行器的電機(jī)分布在飛行器四端,4個(gè)電機(jī)與各自旋翼直接相連,電機(jī)帶動(dòng)旋翼旋轉(zhuǎn)產(chǎn)生推力,如圖1所示。每個(gè)電機(jī)轉(zhuǎn)動(dòng)角速度的平方與其產(chǎn)生的推力成正比,通過(guò)改變每個(gè)電機(jī)的角速度從而操控四旋翼飛行器。為了抵消旋翼的自旋,實(shí)現(xiàn)穩(wěn)定飛行,相鄰旋翼的旋向相反,相對(duì)旋翼的旋向相同。
圖1 飛行器受力分析
四旋翼飛行器上下飛行的工作原理如圖2所示。當(dāng)飛行器平衡飛行時(shí),陀螺效應(yīng)和空氣動(dòng)力扭矩效應(yīng)被抵消,推力隨著旋轉(zhuǎn)角速度增大而增大。當(dāng)推力大于飛行器的重力時(shí),飛行器向上飛行;反之,飛行器向下飛行。
圖2 四旋翼飛行器上下飛行工作原理
四旋翼飛行器前后飛行方式:飛行器自穩(wěn)后,1號(hào)電機(jī)、2號(hào)電機(jī)旋轉(zhuǎn)角速度減小,3號(hào)電機(jī)、4號(hào)電機(jī)旋轉(zhuǎn)角速度增大,飛行器向前飛行;反之,飛行器向后飛行。
四旋翼飛行器左右飛行方式:飛行器自穩(wěn)后,1號(hào)電機(jī)、3號(hào)電機(jī)轉(zhuǎn)速減小,2號(hào)電機(jī)、4號(hào)電機(jī)轉(zhuǎn)速增加,飛行器向左飛行;反之,飛行器向右飛行。
四旋翼飛行器順逆時(shí)針飛行方式:飛行器自穩(wěn)后,1號(hào)電機(jī)、4號(hào)電機(jī)轉(zhuǎn)速增加,2號(hào)電機(jī)、3號(hào)電機(jī)轉(zhuǎn)速減小,飛行器逆時(shí)針飛行;反之,飛行器順時(shí)針飛行。
四旋翼飛行器主要包括主控單元、電源系統(tǒng)、無(wú)線通信單元、數(shù)據(jù)采集單元和動(dòng)作執(zhí)行單元等,硬件框圖如圖3所示。主控單元為STM32F103T8U6TR單片機(jī)。無(wú)線通信單元包括NRF24L01無(wú)線收發(fā)模塊和HM-06-BT藍(lán)牙模塊;其中NRF24L01無(wú)線收發(fā)模塊用于與遙控器無(wú)線通信,HM-06-BT藍(lán)牙模塊用于與PC端和手機(jī)端無(wú)線通信。數(shù)據(jù)采集單元包括磁力計(jì)HMC5883L、氣壓計(jì)MS5611、陀螺儀加速度計(jì)MPU6050 3種傳感器;其中HMC5883L和MPU6050用于姿態(tài)解算,MS5611用于自主懸停。動(dòng)作執(zhí)行單元通過(guò)改變PWM占空比調(diào)節(jié)電機(jī)電流大小,以改變電機(jī)轉(zhuǎn)速來(lái)實(shí)現(xiàn)飛行器的不同飛行姿態(tài)。
四旋翼飛行器的主要任務(wù)是讀取MPU6050數(shù)據(jù),對(duì)數(shù)據(jù)濾波,進(jìn)行姿態(tài)解算,并通過(guò)PID控制保持自穩(wěn);同時(shí)接收遙控器指令,完成相對(duì)應(yīng)的動(dòng)作,并返回四旋翼飛行器的各種數(shù)據(jù)(姿態(tài)數(shù)據(jù)、PID參數(shù)等)。主控依靠定時(shí)中斷來(lái)完成上述任務(wù),軟件程序核心是通過(guò)定時(shí)器TIM4產(chǎn)生定時(shí)中斷,作為主函數(shù)中While(1)循環(huán)任務(wù)的調(diào)度時(shí)基,以觸發(fā)主循環(huán)中3個(gè)不同運(yùn)行頻率的循環(huán),進(jìn)行不同任務(wù)。主函數(shù)進(jìn)行底層驅(qū)動(dòng)初始化后,進(jìn)入一個(gè)While(1)循環(huán),在循環(huán)中完成執(zhí)行頻率為100 Hz、50 Hz和10 Hz的任務(wù),如圖4所示。
圖3 四旋翼飛行器的硬件框圖
MPU6050含有數(shù)位運(yùn)動(dòng)處理硬件加速引擎,不僅可以進(jìn)行硬件解算,還可以進(jìn)行軟件解算。軟件解算是通過(guò)基于四元數(shù)的姿態(tài)解算Mahony互補(bǔ)濾波算法,把IMU(慣性測(cè)量單元)輸出的數(shù)據(jù)融合為飛行器精準(zhǔn)的姿態(tài),其框圖如圖5所示。AD值通過(guò)姿態(tài)解算算法得到飛行器當(dāng)前的姿態(tài),然后將四元數(shù)轉(zhuǎn)化為歐拉角,用于姿態(tài)控制算法。
圖4 四旋翼飛行器軟件流程圖
圖5 軟件解算框圖
硬件解算通過(guò)測(cè)試MPU6050的硬解四元數(shù),配置DMP并且啟動(dòng)運(yùn)行后,可直接對(duì)MPU6050的DMP中讀取的FIFO數(shù)據(jù)進(jìn)行轉(zhuǎn)換,從而得到載體的姿態(tài)角,其框圖如圖6所示。
圖6 硬件解算框圖
由于電機(jī)不平衡,飛行器飛行過(guò)程中可能發(fā)生側(cè)翻。人工操作時(shí),觀察到飛行器將要發(fā)生側(cè)翻,可通過(guò)控制電機(jī)使飛行器歸于平衡。若要保持飛行器平衡,操作人員需要重復(fù)以下過(guò)程:觀察—>大腦計(jì)算—>控制。飛行器是一個(gè)動(dòng)態(tài)系統(tǒng),然而人無(wú)法長(zhǎng)時(shí)間精確地同時(shí)控制飛行器的4個(gè)電機(jī),本文設(shè)計(jì)一個(gè)自動(dòng)反饋系統(tǒng)替代人完成飛行器的自穩(wěn)定操作。
PID控制器是反饋的最常見(jiàn)形式,通過(guò)偏差的比例P(Proportional)、積分I(Integral)和微分D(Derivative)來(lái)控制被控對(duì)象[5]。本文通過(guò)PID控制算法實(shí)現(xiàn)飛行器的自穩(wěn)定操作,利用串級(jí)PID控制,即將2個(gè)PID控制器組合在一起得到較佳的效果,原理框圖如圖7所示。
圖7 串級(jí)PID的原理框圖
自主懸停是飛行器能夠懸停在某個(gè)位置,并且保持足夠長(zhǎng)的時(shí)間。飛行器在空中的位置可用三維坐標(biāo)(,,)表示,涉及到水平方向和垂直方向兩個(gè)維度的懸停。在水平方向上,飛行器沒(méi)有GPS時(shí),無(wú)法得到絕對(duì)坐標(biāo),不能在水平方向上懸停;在垂直方向上,飛行器通過(guò)MS5611氣壓計(jì)得到自身高度,結(jié)合加速度計(jì)互補(bǔ)濾波得到合適的高度值、軸速度值和加速度值。用高度作外環(huán),速度作內(nèi)環(huán),形成雙環(huán)PID控制器,調(diào)節(jié)輸出油門實(shí)現(xiàn)軸的自主懸停,控制框圖如圖8所示。
圖8 高度雙環(huán)PID控制框圖
在上位機(jī)參數(shù)設(shè)置界面可以調(diào)整PID參數(shù),如圖9所示。調(diào)整完成后,單擊“寫入飛控”按鈕進(jìn)行參數(shù)寫入或“讀取飛控”按鈕讀取飛行器的PID參數(shù);再通過(guò)上位機(jī)修改PID參數(shù),使飛行器能迅速響應(yīng)并達(dá)到穩(wěn)定的飛行姿態(tài)。
界面中P值代表飛行器回復(fù)力的大小,飛行器偏離水平方向越多,回復(fù)力就越大。如果P值較高,返回初始位置時(shí),會(huì)出現(xiàn)過(guò)沖,需要相反的力補(bǔ)償,這將產(chǎn)生振蕩效應(yīng),直到飛行器最終達(dá)到穩(wěn)定狀態(tài)。不同飛行軌跡對(duì)P值要求不同,簡(jiǎn)單的飛行軌跡要求稍低的P值,復(fù)雜的飛行軌跡需要略高的P值。
I值決定飛行器對(duì)過(guò)往飛行姿態(tài)的依賴程度。根據(jù)與所期望位置的誤差角度提供可變的校正力。偏差越大,矯正力越大。增加I值,可增加保持總體位置的能力,減少由于不平衡造成的漂移。減少I值,可改善對(duì)變化的反應(yīng),但會(huì)增加漂移并降低保持位置的能力。
D值代表阻尼作用,阻尼太小,飛行器可能振蕩;阻尼太大,四軸也可能振蕩。較低的D值意味著飛行器將很快彈回到其初始位置,一旦四旋翼飛行器發(fā)生傾斜,則其會(huì)繼續(xù)向同一個(gè)方向傾斜,合適的D值能有效的抑制可能發(fā)生的傾斜。不同飛行軌跡對(duì)于D值和P值的要求恰好相反,簡(jiǎn)單的飛行軌跡需要略高的D值,復(fù)雜的飛行軌跡要求稍低的D值。
圖9 上位機(jī)參數(shù)設(shè)置界面
借助GPS定位系統(tǒng),驗(yàn)證定軌飛行器是否按規(guī)劃軌跡航行。
1)直線軌跡驗(yàn)證:將無(wú)人機(jī)的直線軌跡分成若干段,通過(guò)定軌飛行代碼及實(shí)際飛行試驗(yàn)和調(diào)試,使飛行器按照預(yù)定軌跡飛行;飛行器在每個(gè)懸停節(jié)點(diǎn)都進(jìn)行自主懸停,同時(shí)將2個(gè)懸停節(jié)點(diǎn)間的路線并傳回上位機(jī),判斷該路線是否為直線,從而驗(yàn)證飛行軌跡是否精確。
2)轉(zhuǎn)向軌跡驗(yàn)證:預(yù)定飛行器在轉(zhuǎn)向處完成飛行轉(zhuǎn)動(dòng)工作,并自主懸停在轉(zhuǎn)向處;飛行器進(jìn)行定位并傳輸給上位機(jī),通過(guò)判斷視頻中轉(zhuǎn)向角度是否符合預(yù)定軌跡的要求,來(lái)判斷轉(zhuǎn)向是否精準(zhǔn)。
圖10為一段局部軌跡圖,從軌跡圖可看出飛行器可以在定軌飛行指令下達(dá)后,準(zhǔn)確按照預(yù)定規(guī)劃軌跡飛行,達(dá)到了預(yù)期的定軌飛行效果。
本文選取STM32的crazepony mini四旋翼為研究平臺(tái),闡述四旋翼飛行器的飛行原理和硬件設(shè)計(jì),規(guī)劃直線飛行和轉(zhuǎn)向軌跡,并進(jìn)行飛行調(diào)試,使飛行器可以在定軌飛行指令下達(dá)后,準(zhǔn)確按照預(yù)定規(guī)劃軌跡飛行。
圖10 飛行器局部軌跡圖
[1] 劉小龍.基于無(wú)人機(jī)遙感平臺(tái)圖像采集處理系統(tǒng)的研究[D].杭州:浙江大學(xué),2013.
[2] Nonami K, Kendoul F, Suzuki S, et al. Autonomous flying robots: unmanned aerial vehicles and micro aerial vehicles[C]// Springer Publishing Company, Incorporated, 2010.
[3] 肖支才,姜鵬,戴洪德,等.室內(nèi)四旋翼無(wú)人飛行器定位導(dǎo)航的研究現(xiàn)狀與關(guān)鍵技術(shù)[J].飛航導(dǎo)彈,2014(8):25-29.
[4] Garcia P C, Lozano R, Dzul A E. Modelling and control of miniflying machines[M]. Springer Publishing Company, Incorporated, 2006.
[5] Wei ChinKar. AM22: flight dynamics and control for an indoor UAV[D].Singapore: National University of Singapore. 2007.
Design of Orbit Determination Vehicle System Based on Quad-Rotor
Zhang Rui
(Luoyang Vocation College of Science and Technology)
Quad-rotor unmanned aerial vehicle is the simplest and most popular one kind of the multi-rotor aircraft. It processed great potentials in military, civil and technology fields because of its excellent characteristics such as small volume, light weight, stable vertical takeoff and landing, etc. Therefore, the orbital flight system based on Quad-rotor unmanned aerial vehicle platform was developed in this paper. The Quad-rotor unmanned aerial vehicle based on STM32 processor is selected as the research platform. The flight control codes are rewritten. By obtaining real time data and calculating attitude, the control quantity is calculated by PID, and the output is converted to PWM signal, so that each motor can realize the orbit determination of four rotor aircraft, which makes the aircraft without the need for maneuvering fly the scheduled trajectory autonomously, and obtain effective information or complete certain tasks by airborne equipment.
Quad-Rotor; STM32; Flight Control System; Attitude Algorithm
張瑞,1993年9月生,本科,助教,主要研究方向:產(chǎn)品設(shè)計(jì)與開(kāi)發(fā)。E-mail: 825809290@qq.com