周 雷,史叢樂(lè)
(遼寧石油化工大學(xué) 信息與控制工程學(xué)院,遼寧 撫順113001)
基于STM32的四旋翼飛行器控制系統(tǒng)設(shè)計(jì)與應(yīng)用
周 雷,史叢樂(lè)
(遼寧石油化工大學(xué) 信息與控制工程學(xué)院,遼寧 撫順113001)
針對(duì)四旋翼飛行器是由4個(gè)控制量輸入,6個(gè)自由度輸出的欠驅(qū)動(dòng)系統(tǒng),其控制系統(tǒng)的設(shè)計(jì)尤為關(guān)鍵。本文采用反步法控制策略作為四旋翼飛行器的導(dǎo)航以及控制方法,設(shè)計(jì)出漸進(jìn)穩(wěn)定控制器。結(jié)合系統(tǒng)的動(dòng)力學(xué)模型與matlab進(jìn)行仿真實(shí)驗(yàn)。通過(guò)仿真實(shí)驗(yàn)得到反步法設(shè)計(jì)的控制系統(tǒng)快速穩(wěn)定,角度偏差小,在0.3度之內(nèi),跟蹤性良好。
四旋翼飛行器;反步算法;漸近穩(wěn)定;導(dǎo)航;仿真
四旋翼飛行器具有4個(gè)對(duì)稱分布的電機(jī),其飛行控制原理簡(jiǎn)單,通過(guò)控制4個(gè)電機(jī)的轉(zhuǎn)速和方向來(lái)實(shí)現(xiàn)各種飛行姿態(tài),是一種六自由度的垂直起降機(jī)。由于其為4個(gè)輸入量,6個(gè)輸出量的欠驅(qū)動(dòng)系統(tǒng),對(duì)控制器的設(shè)計(jì)要求高。文中采用Backstepping原理進(jìn)行控制器設(shè)計(jì),跟蹤性良好,穩(wěn)定性高。
圖1 飛行器模型結(jié)構(gòu)
四旋翼飛行器在結(jié)構(gòu)上具有十字形,X形和H形3種常見(jiàn)布局形態(tài),本實(shí)驗(yàn)采用的為X形,4個(gè)電機(jī)分別對(duì)稱的排布在4個(gè)頂點(diǎn),如圖1所示。其基本運(yùn)動(dòng)姿態(tài)包括垂直運(yùn)動(dòng),俯仰運(yùn)動(dòng),翻滾運(yùn)動(dòng),偏航運(yùn)動(dòng),前后運(yùn)動(dòng),側(cè)向運(yùn)動(dòng)[1]。
俯仰(翻滾)運(yùn)動(dòng):同時(shí)提高(降低)電機(jī)2,3的轉(zhuǎn)速,降低(提高)電機(jī)1,4的轉(zhuǎn)速??梢詫?shí)現(xiàn)飛行器俯(仰)姿態(tài)。同時(shí)改變電機(jī)1,2和電機(jī)3,4可以實(shí)現(xiàn)飛行器的翻滾運(yùn)動(dòng)。
偏航運(yùn)動(dòng):當(dāng)電機(jī)1,3和電機(jī)2,4的速度不相等時(shí),會(huì)由于不平衡的反扭矩引起四旋翼轉(zhuǎn)動(dòng),引起飛行器偏航運(yùn)動(dòng)
前后(側(cè)向)運(yùn)動(dòng):飛行器俯仰或者翻滾運(yùn)動(dòng)造成的偏移,使其前后(側(cè)向)運(yùn)動(dòng)。
本系統(tǒng)采用模塊化設(shè)計(jì),結(jié)構(gòu)簡(jiǎn)單,易于編程控制,飛行器通過(guò)處理MPU6050和數(shù)字羅盤(pán)等傳感器采集的數(shù)據(jù)信息,進(jìn)行姿態(tài)解算,并根據(jù)遙控器指令結(jié)合控制規(guī)律控制飛行器的姿態(tài)及位置。系統(tǒng)硬件系統(tǒng)如圖2所示。
圖2 系統(tǒng)硬件結(jié)構(gòu)
2.1 主控芯片
本設(shè)計(jì)采用ARMCortexM3內(nèi)核的stm32f103vctb芯片作為主控制器,該系列芯片具有多路數(shù)據(jù)捕獲功能接收遙控器信號(hào),多路自帶PWM輸出功能控制電機(jī)轉(zhuǎn)速。自帶SPI,IIC功能,多路串口,可實(shí)現(xiàn)飛行器和上位機(jī)的連接,方便調(diào)試。72 MHz的主頻滿足了系統(tǒng)對(duì)于運(yùn)算速度的要求。
從現(xiàn)場(chǎng)施工的視角來(lái)看,水利工程本身體現(xiàn)為較大的現(xiàn)場(chǎng)施工難度。探究其中根源,就在于較多的水利施工現(xiàn)場(chǎng)都表現(xiàn)為復(fù)雜性,其中包含軟弱土層與其他疑難性的地質(zhì)因素。針對(duì)不同種類的水利現(xiàn)場(chǎng)施工來(lái)講,與之有關(guān)的施工管理模式也應(yīng)當(dāng)蘊(yùn)含某些差異。因此可以得知,關(guān)于施工現(xiàn)場(chǎng)管理就是要秉持因地制宜的核心管理思路,并且緊密結(jié)合水利施工所處的真實(shí)地質(zhì)狀況來(lái)展開(kāi)綜合性的水利施工監(jiān)管。
2.2 傳感器模塊
本設(shè)計(jì)主要采用MPU6050,三軸數(shù)字羅盤(pán),氣壓高度計(jì),NRF24L01,ADNS3080,HC-SRO4等模塊實(shí)現(xiàn)數(shù)據(jù)的采集以及通信等功能。
MPU6050是集成3軸陀螺儀,3軸MEMS加速度計(jì),其測(cè)量范圍可根據(jù)器件寄存器數(shù)據(jù)位進(jìn)行設(shè)置,主控芯片通過(guò)400 kHz的IIC與其進(jìn)行通訊獲得飛行器實(shí)時(shí)數(shù)據(jù)進(jìn)行姿態(tài)結(jié)算。
三軸數(shù)字羅盤(pán)與高度氣壓計(jì)同樣采用IIC與主控芯片進(jìn)行通訊,對(duì)飛行器姿態(tài)進(jìn)行校正以及在室外飛行時(shí)獲得高度,本設(shè)計(jì)為室內(nèi)定位飛行,主要使用超聲波模塊進(jìn)行高度實(shí)時(shí)測(cè)量。
ADNS3080為光流傳感器,通過(guò)SPI與主控芯片進(jìn)行通訊,可以實(shí)時(shí)測(cè)得飛行器在二維平面內(nèi)的位移,加入超聲波高度數(shù)據(jù),對(duì)飛行器進(jìn)行三維空間的定位控制。
NRF24L01為飛行器和PC機(jī)進(jìn)行實(shí)時(shí)無(wú)線通訊模塊,將飛行器的實(shí)時(shí)姿態(tài)中各角度值,高度值,以及位置等信息及時(shí)的傳遞給上位機(jī),直觀形象的監(jiān)視飛行器動(dòng)態(tài)。
3.1 數(shù)學(xué)建模
為了準(zhǔn)確描述飛行器各個(gè)時(shí)刻的姿態(tài),一般選取兩個(gè)坐標(biāo)系,地面坐標(biāo)系和機(jī)體坐標(biāo)系,地面以“東北天”為各個(gè)軸方向,建立坐標(biāo)系為:OXYZ,機(jī)體坐標(biāo)系以飛行器質(zhì)心為原點(diǎn),方向右為x軸正方向,前為y軸正方向,建立坐標(biāo)系oxyz。根據(jù)物理意義建立數(shù)學(xué)模型:
機(jī)體坐標(biāo)系到地面坐標(biāo)系的轉(zhuǎn)換矩陣R[2]
為了研究方便對(duì)數(shù)學(xué)模型進(jìn)行簡(jiǎn)化[4],忽略空氣阻力,忽略陀螺儀對(duì)角運(yùn)動(dòng)產(chǎn)生的影響,設(shè)U1,U2,U3,U4分別為系統(tǒng)的4個(gè)輸入量。系統(tǒng)模型為:
其中{x,y,z}為飛行器的質(zhì)心在地面坐標(biāo)系下的偏移量,{φ,θ,ψ}表示機(jī)體坐標(biāo)系相對(duì)于地面坐標(biāo)系轉(zhuǎn)動(dòng)的角度,即歐拉角。Ix,Iy,Iz表示相應(yīng)旋轉(zhuǎn)軸的轉(zhuǎn)動(dòng)慣量。l表示飛行器質(zhì)心到電機(jī)的距離。其中U1表示垂直輸入,U2表示翻滾輸入,U3表示俯仰輸入,U4表示偏航輸入。
3.2 Backstepping控制器設(shè)計(jì)與仿真
根據(jù)Backstepping原理設(shè)計(jì)控制器步驟如下,假設(shè)某一變量模型為[5]:
若z2=0,則系統(tǒng)穩(wěn)定。
將李亞普諾夫函數(shù)擴(kuò)展為:
根據(jù)已經(jīng)建立的數(shù)學(xué)模型,將系統(tǒng)表達(dá)為X′=F(X,U),其中X表示系統(tǒng)狀態(tài)量,U表示系統(tǒng)的輸入。將系統(tǒng)劃分為六部分
根據(jù)Backstepping原理以及系統(tǒng)模型,可得系統(tǒng)各狀態(tài)的控制器為:
根據(jù)對(duì)飛行器系統(tǒng)建立的數(shù)學(xué)模型,利用MATLAB進(jìn)行仿真實(shí)驗(yàn),對(duì)飛行器姿態(tài)角,位置偏移量,設(shè)定路徑的跟蹤結(jié)果如圖3~圖5所示。
圖3 系統(tǒng)姿態(tài)角度跟蹤
通過(guò)matlab仿真結(jié)果說(shuō)明,飛行器姿態(tài)角度偏移誤差在0.3度以內(nèi),隨后系統(tǒng)快速穩(wěn)定的達(dá)到穩(wěn)定,水平位移偏移小,快速穩(wěn)定。最后進(jìn)行設(shè)定路線跟蹤,控制器設(shè)計(jì)能較理想的滿足設(shè)定要求。
圖4 系統(tǒng)位移跟蹤
圖5 系統(tǒng)設(shè)定路徑跟蹤
本實(shí)驗(yàn)采用超聲波模塊進(jìn)行高度控制,利用ADNS-3080模塊進(jìn)行二維水平位移檢測(cè),通過(guò)stm32的中斷進(jìn)行數(shù)據(jù)采集,完成高度和水平位移的控制,最終利用NRF24L01模塊使電腦和飛行器進(jìn)行通訊,在匿名上位機(jī)實(shí)時(shí)顯示飛行器姿態(tài)變化。飛行器實(shí)物如圖6所示。
圖6 飛行器實(shí)物圖
通過(guò)匿名上位機(jī),可以實(shí)時(shí)顯示飛行器在任一時(shí)刻各個(gè)角度的變化情況,在飛行器懸浮狀態(tài)下,飛行器各角度變化如圖7~圖9所示。
通過(guò)系統(tǒng)數(shù)學(xué)建模和MATLAB仿真,仿真結(jié)果表明,系統(tǒng)能快速穩(wěn)定的達(dá)到設(shè)定值,偏移角度和水平位移偏移量較小,系統(tǒng)控制器能快速穩(wěn)定的對(duì)方形路徑進(jìn)行跟蹤,滿足設(shè)計(jì)要求,最后在飛行器上進(jìn)行實(shí)際飛行,通過(guò)上位機(jī)顯示表明,飛行器各個(gè)姿態(tài)角快速,精準(zhǔn),穩(wěn)定的對(duì)設(shè)定值進(jìn)行跟蹤,波動(dòng)小,響應(yīng)快,滿足穩(wěn)定,高精度飛行要求。
圖7 橫滾角變化
圖8 俯仰角變化
圖9 俯仰角變化
[1]賈峰,孫曼,秦磊.基于STM32的四旋翼飛行器飛行姿態(tài)串級(jí)控制[J].科學(xué)技術(shù)與工程,2015,15(6): 221-225.
[2]Wang J,Huang Y,Ma L.Extending the Player Project for flexible cooperation of multiple robots [C]//International Conference on Mechatronics and Automation(ICMA),2012,2012:1657-1662.
[3]賈燕波,楊峰,秦緒菲.基于滑模控制的四旋翼飛行器控制 算法研究[J].山東師范大學(xué)學(xué)報(bào):自然科版,2014,29(4):26-30
[4]趙元偉,盧京朝.四旋翼飛行器的建模及基于反步法的控制 [J].科學(xué)技術(shù)與工程,2013,34:10425-10430.
[5]黃兵兵,李春娟,何墉,等.基于反步法的微型四旋翼欠驅(qū)動(dòng)控制[J].洛陽(yáng)理工學(xué)院學(xué)報(bào):自然科學(xué)版,2013(2):56-61.
[6]黃依新.四旋翼飛行器姿態(tài)控制方法研究[D].成都:西南交通大學(xué),2014.
[7]Madani T,Benaclegue A.Backstepping control with exact 2-sliding mode estimation for a quadrotor unmanned aerial vehicle[C]//Proceeding of IEEE Conference on Intelligent Robtsand Systems.San Diego:IEEE,2007:141-146.
[8]許云清,孫取.基于MWC飛控的四旋翼飛行器飛行控制研究[J].冶金自動(dòng)化.2014,38(1):547-549.
[9]陸偉男,蔡啟仲,李剛,等.基于四軸飛行器的雙閉環(huán)PID控制[J].科學(xué)技術(shù)與工程,2014,14(33): 127-131.
[10]楊 萌,雷建和胡廷軒,等.基于 STM32的四旋翼飛行器控制系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2015,34(12):76-78.
[11]王福超.四旋翼無(wú)人飛行器控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工程大學(xué),2013.
[12]Baviskar A,F(xiàn)eemste M,Dawson D,et al.Tracking control of an underactuated unmanned underwater vehicle[C]//Proceedings of the American Control Conference.Portland:[s.n.],2005:4321-4326.
[13]Das A,Lewis F,Subbarao K.Backstepping approach for controlling a quadrotor using lagrange form dynamics[J].Journal of Intelligent Robotic System,2009,56(1/2):127-151.
[14]黃溪流.一種四旋翼無(wú)人直升機(jī)飛行控制器的設(shè)計(jì)[D].南京:南京理工大學(xué),2010.
[15]劉煥曄.小型四旋翼飛行器飛行控制系統(tǒng)研究與設(shè)計(jì)[D].上海:上海交通大學(xué),2009.
The design and application of quadrotor system based on the STM32
ZHOU Lei,SHI Cong-le
(School of Information and Control Engineering,Liaoning Shihua University,F(xiàn)ushun 113001,China)
The quadrotor is a underactuated control system which has six degrees of freedom outputs and only four control variables inputs,So the design of its control system is particularly important.A asymptotically stable controller is designed through the backstepping algorithm,which used to be its navigation and control method.Numerical simulations are provided to illustrate the quadrotor is full of certain quickness and can fly steadily with small angle devition,less than 0.3 degrees,and good tarcking based on the model and matlab.
quadrotor;backstepping algorithm;asymptotical stable;navigation;simulation
TN6
A
1674-6236(2017)09-0145-04
2016-03-29稿件編號(hào):201603388
周 雷(1989—),男,河北滄州人,碩士研究生。研究方向:嵌入式系統(tǒng)。