《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 四旋翼飛行平臺(tái)控制系統(tǒng)設(shè)計(jì)
四旋翼飛行平臺(tái)控制系統(tǒng)設(shè)計(jì)
2016年電子技術(shù)應(yīng)用第10期
余單奕1,嵇佳輝1,郝立果2
1.天津職業(yè)技術(shù)師范大學(xué) 自動(dòng)化與電氣工程學(xué)院,天津300222; 2.天津職業(yè)技術(shù)師范大學(xué) 工程實(shí)訓(xùn)中心,天津300222
摘要: 以Atmega128單片機(jī)為核心,通過(guò)MPU6050傳感器采集3軸加速度和陀螺儀數(shù)據(jù),將采集到的數(shù)據(jù)經(jīng)過(guò)卡爾曼濾波,然后通過(guò)四元素與歐拉角的轉(zhuǎn)換,最終求解出飛行器在空中的飛行姿態(tài)。將遙控模塊給定的期望信號(hào)與當(dāng)前飛行器所處的姿態(tài)進(jìn)行對(duì)比,然后經(jīng)過(guò)系統(tǒng)中PID的自動(dòng)調(diào)節(jié),消除期望值與實(shí)際姿態(tài)之間存在的誤差,使其可以在較惡劣的環(huán)境下穩(wěn)定地飛行,完成各種飛行動(dòng)作。最終實(shí)現(xiàn)四旋翼飛行器穩(wěn)定飛行的控制要求。
中圖分類(lèi)號(hào): TP272
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.10.006
中文引用格式: 余單奕,嵇佳輝,郝立果. 四旋翼飛行平臺(tái)控制系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2016,42(10):29-32.
英文引用格式: Yu Danyi,Ji Jiahui,Hao Liguo. Design of control system for four rotor flight platform[J].Application of Electronic Technique,2016,42(10):29-32.
Design of control system for four rotor flight platform
Yu Danyi1,Ji Jiahui1,Hao Liguo2
1.Automation Department,Tianjin University of Technology and Education,Tianjin 300222,China; 2.Engineering Training Center,Tianjin University of Technology and Education,Tianjin 300222,China
Abstract: This design uses Atmega128 single-chip microcomputer as the core, with the help of MPU6050 3 axis acceleration sensors and 3 axis of gyroscope. The collected data gose through Kalman filter. Then by the transformation of the four elements and Euler Angle, we finally solve the problem of four rotors of the aircraft in the air flight attitude. Given desired signal by remote control, compared with the current vehicle's attitude, and then through the system PID automatic adjustment, we eliminate the error between expectations and the actual position, making it good in the take-off and landing and stable hover, finishing all kinds of flight movements in relatively poor conditions. Finally realize the four rotor aircraft flying stability control requirements.
Key words : Atmega128;MPU6050;Kalman filtering;four elements;Euler angles

0 引言

    四旋翼飛行平臺(tái)作為一種利用旋翼產(chǎn)生的空氣動(dòng)力來(lái)克服自身重力飛行的動(dòng)力裝置模型,飛控人員只需通過(guò)操控地面站就能對(duì)飛行器進(jìn)行控制,具有成本低、無(wú)人化、靈活高效和隱蔽性好等優(yōu)點(diǎn),被廣泛運(yùn)用于軍事、民用和科學(xué)研究領(lǐng)域。本文介紹了一種基于Atmega128單片機(jī)的四旋翼飛行控制系統(tǒng),通過(guò)采集三軸加速度和陀螺儀數(shù)據(jù),解算出飛行器的姿態(tài),并通過(guò)控制四個(gè)旋翼的轉(zhuǎn)速輸出實(shí)現(xiàn)對(duì)飛行平臺(tái)的穩(wěn)定控制。

1 總體方案與飛行原理

1.1 總體設(shè)計(jì)方案

    該飛行控制系統(tǒng)主要由主控模塊、無(wú)線遙控模塊、MPU6050運(yùn)動(dòng)處理模塊、驅(qū)動(dòng)模塊、電源控制等組成。系統(tǒng)框圖如圖1所示。

wrj6-t1.gif

    主控模塊是系統(tǒng)的數(shù)據(jù)處理核心,運(yùn)動(dòng)處理模塊負(fù)責(zé)采集姿態(tài)數(shù)據(jù),無(wú)線遙控模塊進(jìn)行指令發(fā)送,電源控制和驅(qū)動(dòng)模塊控制電機(jī)轉(zhuǎn)速的輸出。

    主控模塊由Atmega128單片機(jī)作為核心處理器,通過(guò)MPU6050運(yùn)動(dòng)處理模塊采集三軸加速度和陀螺儀數(shù)據(jù),原始數(shù)據(jù)經(jīng)過(guò)卡爾曼濾波算法優(yōu)化后就可得到相應(yīng)的歐拉角,即解算獲得了飛行器的姿態(tài)。通過(guò)無(wú)線遙控模塊將姿態(tài)調(diào)整指令發(fā)送到主控模塊的輸入捕獲端,主控模塊再將采集到的指令與飛行器自身的姿態(tài)數(shù)據(jù)進(jìn)行比對(duì),經(jīng)過(guò)PID自動(dòng)控制的反饋調(diào)節(jié),輸出給電源控制和驅(qū)動(dòng)模塊調(diào)控旋翼的轉(zhuǎn)速輸出,最終實(shí)現(xiàn)各種環(huán)境下的穩(wěn)定飛行。

1.2 動(dòng)力學(xué)飛行原理

    四旋翼飛行平臺(tái)有六種基本運(yùn)動(dòng)狀態(tài),具有六個(gè)自由度,可以分別沿X軸、Y軸、Z軸平移或旋轉(zhuǎn),屬于欠驅(qū)動(dòng)系統(tǒng)。這六個(gè)自由度的控制均可以通過(guò)調(diào)節(jié)不同無(wú)刷電機(jī)的轉(zhuǎn)速輸出來(lái)實(shí)現(xiàn)。設(shè)作為剛體的飛行器質(zhì)量為m,質(zhì)心為O,作用在飛行器上的合外力矢量為F,M是相對(duì)于O點(diǎn)的合外力矩矢量,I為剛體繞坐標(biāo)軸的轉(zhuǎn)動(dòng)慣量。根據(jù)牛頓第二定律,其相對(duì)于質(zhì)心的動(dòng)力學(xué)方程在慣性坐標(biāo)系O′XYZ中的投影式為:

     wrj6-gs1.gif

    根據(jù)對(duì)質(zhì)心的動(dòng)量矩定理,飛行器繞質(zhì)心O運(yùn)動(dòng)的姿態(tài)動(dòng)力學(xué)方程在本體坐標(biāo)系OXYZ中的投影式為:

wrj6-gs2-3.gif

    其中第一組的3個(gè)二階微分方程描述了飛行器的3個(gè)質(zhì)心平動(dòng)自由度;另外兩組方程確定了3個(gè)轉(zhuǎn)動(dòng)自由度,描述了飛行器繞質(zhì)心的運(yùn)動(dòng)規(guī)律,即姿態(tài)運(yùn)動(dòng)。聯(lián)立三組方程就得到了剛性六自由度飛行器一般運(yùn)動(dòng)的全部運(yùn)動(dòng)方程。

    四旋翼飛行平臺(tái)的四個(gè)螺旋槳分為一組正槳和一組反槳,兩個(gè)相對(duì)的槳為一組,當(dāng)四個(gè)電機(jī)旋轉(zhuǎn)時(shí)槳所產(chǎn)生的氣流均向下,由于正槳和反槳的旋轉(zhuǎn)方向相反,飛行器平穩(wěn)飛行時(shí)的陀螺效應(yīng)和空氣動(dòng)力扭矩可以互相抵消。

2 硬件電路的設(shè)計(jì)

2.1 控制系統(tǒng)工作原理及設(shè)計(jì)

    系統(tǒng)采用Atmega128單片機(jī)作為主控模塊芯片,通過(guò)IIC通信方式將MPU6050運(yùn)動(dòng)處理模塊的六個(gè)數(shù)據(jù)(三軸加速度AD值和三軸角速度AD值)讀出,經(jīng)過(guò)姿態(tài)融合后得到飛行器的三個(gè)歐拉角wrj6-2.1-x1.gif即解算出了當(dāng)前的飛行姿態(tài)。再將輸入捕獲管腳采集到的不同通道的PPM控制指令數(shù)據(jù)與當(dāng)前飛行姿態(tài)數(shù)據(jù)進(jìn)行PID自動(dòng)調(diào)節(jié),最后利用快速PWM輸出功能實(shí)現(xiàn)對(duì)多個(gè)無(wú)刷電機(jī)驅(qū)動(dòng)器的控制和電源控制。

    其中,姿態(tài)融合所采用的就是卡爾曼濾波算法。卡爾曼濾波是一種線性最小方差估計(jì),其算法是遞推的,因此適用于多維隨機(jī)過(guò)程的估計(jì),并采用動(dòng)力學(xué)方程即狀態(tài)方程描述被估計(jì)量的動(dòng)態(tài)變化規(guī)律,同時(shí)也適用于非平穩(wěn)過(guò)程,其離散型算法可以直接在單片機(jī)上實(shí)現(xiàn)??柭鼮V波理論為一種重要的最優(yōu)估計(jì)理論被廣泛應(yīng)用于組合導(dǎo)航系統(tǒng)的設(shè)計(jì)。

    設(shè)tk時(shí)刻的被估計(jì)狀態(tài)Xk受系統(tǒng)噪聲序列Wk-1驅(qū)動(dòng),驅(qū)動(dòng)機(jī)理由下述狀態(tài)方程描述。

    wrj6-gs4.gif

對(duì)Xk的量測(cè)滿足線性關(guān)系,量測(cè)方程為:

wrj6-gs5.gif

2.2 PPM信號(hào)采集的工作原理及設(shè)計(jì)

    無(wú)線遙控模塊采用的是八通道的2.4 GHz無(wú)線射頻遙控技術(shù),以無(wú)線的方式將油門(mén)、方向等指令信號(hào)發(fā)送到主控模塊的單片機(jī)。無(wú)線遙控模塊發(fā)出的信號(hào)是PPM信號(hào),而PPM信號(hào)可以理解為多個(gè)PWM信號(hào)的合成。

    首先要將PPM信號(hào)分解成多通道PWM信號(hào),一幀PPM信號(hào)的長(zhǎng)度為20 ms,而分離出來(lái)的PWM信號(hào)脈寬為0~2 ms,變化范圍為1~2 ms之間。因此一幀PPM信號(hào)至多可以包含1個(gè)同步信號(hào)和9個(gè)通道的PWM信號(hào),示波器測(cè)試的PPM波形如圖2所示。

wrj6-t2.gif

    本系統(tǒng)采用主控芯片自帶的輸入捕獲功能來(lái)對(duì)PPM信號(hào)進(jìn)行采集,然后通過(guò)CD4051模擬電子開(kāi)關(guān)將PPM信號(hào)分離成4路PWM信號(hào),輸出控制驅(qū)動(dòng)模塊各個(gè)驅(qū)動(dòng)器改變無(wú)刷電機(jī)的轉(zhuǎn)速,從而間接實(shí)現(xiàn)無(wú)線遙控模塊對(duì)飛行器飛行姿態(tài)的控制。

3 軟件程序的設(shè)計(jì)與分析

3.1 程序框架的設(shè)計(jì)

    在系統(tǒng)中,軟件應(yīng)用模塊化設(shè)計(jì)。首先主控模塊對(duì)單片機(jī)的功能及其與各模塊的接口進(jìn)行初始化,其次運(yùn)動(dòng)處理模塊對(duì)MPU6050的DMP功能進(jìn)行初始化,分為加載固件和刷新數(shù)據(jù)兩部分。MPU6050先調(diào)用內(nèi)部數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行計(jì)算獲得原始數(shù)據(jù),并將此原始數(shù)據(jù)加載到FIFO存儲(chǔ)器里,其中包括四元素數(shù)據(jù)、陀螺儀數(shù)據(jù)和加速度數(shù)據(jù)。單片機(jī)再通過(guò)IIC通信方式將MPU6050的數(shù)據(jù)讀出,通過(guò)編程輸入的動(dòng)力學(xué)公式計(jì)算出相應(yīng)的歐拉角,即得到飛行器的飛行姿態(tài),之后單片機(jī)通過(guò)輸入捕獲功能獲取遙控模塊發(fā)來(lái)的PPM信號(hào),將接收到的PPM信號(hào)分離出油門(mén)、俯仰、翻滾和偏航數(shù)據(jù),并將這些數(shù)據(jù)與采集到的姿態(tài)數(shù)據(jù)進(jìn)行對(duì)比,如存在偏差則通過(guò)PID自動(dòng)調(diào)節(jié)來(lái)進(jìn)行調(diào)整,調(diào)整過(guò)程直到消除這些偏差為止。程序的設(shè)計(jì)流程圖如圖3所示。

wrj6-t3.gif

3.2 程序控制算法的實(shí)現(xiàn)

    本系統(tǒng)采用的控制算法是PID控制。主控模塊需要將無(wú)線遙控模塊給定的期望姿態(tài)和運(yùn)動(dòng)處理模塊解算出的實(shí)時(shí)姿態(tài)進(jìn)行比對(duì),當(dāng)存在偏差量時(shí),驅(qū)動(dòng)模塊同時(shí)控制四個(gè)電機(jī)的轉(zhuǎn)速使其快速穩(wěn)定地達(dá)到預(yù)期給定的效果消除偏差,PID控制器結(jié)構(gòu)如圖4所示。

wrj6-t4.gif

    比例系數(shù)P是對(duì)系統(tǒng)最直接的調(diào)節(jié),在控制過(guò)程中需要提供合適的P值,過(guò)大或過(guò)小的P值,都將導(dǎo)致系統(tǒng)的不穩(wěn)定,合適的P值應(yīng)該使系統(tǒng)處在一個(gè)等幅震蕩的狀態(tài)。積分系數(shù)I是對(duì)過(guò)去的控制過(guò)程中存在的偏差進(jìn)行積分,只要系統(tǒng)存在控制與期望之間的偏差,積分運(yùn)算就會(huì)一直進(jìn)行下去直到消除偏差。微分系數(shù)D能預(yù)測(cè)系統(tǒng)的變化趨勢(shì),從而提前控制以遏制不穩(wěn)定情況的產(chǎn)生。

3.3 上位機(jī)軟件

    在軟件調(diào)試的過(guò)程中,采用了具有基本收碼、高級(jí)收碼、波形顯示和飛控狀態(tài)顯示等功能的四軸上位機(jī)調(diào)試軟件。計(jì)算機(jī)與單片機(jī)采用串口的通信方式,通過(guò)制定好的協(xié)議和波特率便可將數(shù)據(jù)發(fā)送到計(jì)算機(jī),在計(jì)算機(jī)上以三維動(dòng)態(tài)圖的效果顯示出來(lái)。在飛控狀態(tài)界面,可以將遙控模塊發(fā)送過(guò)來(lái)的油門(mén)、俯仰角、翻滾角、偏航角的值以柱狀圖的形式進(jìn)行顯示;在波形顯示界面,可以根據(jù)需要將數(shù)據(jù)繪制成多條曲線進(jìn)行對(duì)比和分析,上位機(jī)調(diào)試軟件的界面如圖5所示。

wrj6-t5.gif

    將上位機(jī)的波特率設(shè)置為115 200 b/s。每秒鐘可傳輸約10 472幀數(shù)據(jù),可以滿足飛控系統(tǒng)對(duì)傳輸率的要求。

4 測(cè)試結(jié)果

4.1 加速度、陀螺儀數(shù)據(jù)測(cè)試結(jié)果

    采用MPU6050的DMP功能求解有關(guān)數(shù)據(jù),通過(guò)發(fā)送數(shù)據(jù)到上位機(jī)觀察,得到加速度和陀螺儀數(shù)據(jù),數(shù)據(jù)測(cè)試結(jié)果如圖6所示。

wrj6-t6.gif

4.2 PPM解碼測(cè)試與分析

    通過(guò)程序?qū)⑦b控模塊發(fā)出的PPM信號(hào)進(jìn)行解碼,把各通道數(shù)據(jù)通過(guò)串口發(fā)送到上位機(jī)調(diào)試軟件,得到的數(shù)據(jù)如表1所示。在數(shù)據(jù)處理中,PPM解碼的最小值為250,最大值為500,而單片機(jī)的快速PWM輸出功能滿值為255,因此將PPM解碼的變化差值設(shè)計(jì)為250就可以與PWM產(chǎn)生模塊值對(duì)應(yīng)。

wrj6-b1.gif

4.3 飛行姿態(tài)解算測(cè)試與分析

    對(duì)飛行器姿態(tài)解算的準(zhǔn)確性進(jìn)行驗(yàn)證和分析時(shí),分別對(duì)繞X軸、Y軸、Z軸旋轉(zhuǎn)產(chǎn)生的翻滾角、俯仰角和偏航角進(jìn)行驗(yàn)證,并測(cè)試測(cè)量范圍,姿態(tài)解算測(cè)試結(jié)果如表2所示。通過(guò)表2中的數(shù)據(jù)可知,俯仰角、翻滾角、偏航角的測(cè)量范圍均接近正負(fù)180°,解算的數(shù)據(jù)與實(shí)際數(shù)據(jù)存在的偏差較小,滿足本系統(tǒng)的設(shè)計(jì)要求。

wrj6-b2.gif

5 結(jié)論

    從測(cè)試結(jié)果來(lái)看,各指標(biāo)均達(dá)到了本系統(tǒng)的設(shè)計(jì)要求,可以較為精確地控制四旋翼飛行平臺(tái)的飛行姿態(tài)。使用MPU6050的DMP庫(kù)進(jìn)行數(shù)據(jù)的整合納入和標(biāo)準(zhǔn)化細(xì)分,將單片機(jī)從繁重的計(jì)算工作中解放了出來(lái),同時(shí)減少了大量的封裝空間,使系統(tǒng)較好地實(shí)現(xiàn)了實(shí)時(shí)性和穩(wěn)定性,提高了抗干擾能力,達(dá)到了預(yù)期的效果。

參考文獻(xiàn)

[1] 秦永元.卡爾曼濾波與組合導(dǎo)航原理[M].西安:西北工業(yè)大學(xué)出版社,2012.

[2] 何獻(xiàn)忠.位置隨動(dòng)系統(tǒng)軟件控制的研究[J].儀表技術(shù)與傳感器,2010(4):45-47.

[3] 巫華芳.基于三軸陀螺儀傳感器的無(wú)線位置伺服算法應(yīng)用[J].儀表技術(shù)與傳感器,2016(1):1002-1841.

[4] 梅碩基.慣性儀器測(cè)試及數(shù)據(jù)分析[M].西安:西北工業(yè)大學(xué)出版社,1984.

[5] 以光衢.慣性導(dǎo)航原理[M].北京:航空工業(yè)出版社,1987.

[6] 趙晨,杜勇.四旋翼無(wú)人機(jī)在輸電線路巡視中的應(yīng)用[J].湖北電力,2012,36(6):35-36.

[7] 吳東國(guó).基于四旋翼飛行器平臺(tái)的低空遙感技術(shù)在公路環(huán)境調(diào)查中的應(yīng)用[J].公路交通技術(shù),2012(6):137-138.

[8] 蔣慶仙.關(guān)于MEMS慣性傳感器的發(fā)展及在組合導(dǎo)航中的應(yīng)用前景[J].測(cè)繪通報(bào),2006(9):5-8.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。