陳亞鋒
摘 要: 為實現(xiàn)無人飛行器飛控導(dǎo)航系統(tǒng)功耗低、體積小、低成本、高集成度等目標,提出一種基于ARM架構(gòu)STM32F405微處理器和MEMS傳感器芯片的無人飛行器飛控導(dǎo)航一體化控制系統(tǒng)設(shè)計方案。詳細介紹了控制系統(tǒng)的原理、組成以及軟硬件設(shè)計過程,并引入非線性魯棒控制算法以提高控制系統(tǒng)的精度及抗干擾能力。仿真結(jié)果表明,采用非線性魯棒控制算法的控制系統(tǒng)性能穩(wěn)定,并且具有控制精度良好、魯棒性較強等特點。
關(guān)鍵詞: 無人飛行器; ARM微處理器; MEMS傳感器; 非線性魯棒控制
中圖分類號: TN967?34; V249 文獻標識碼: A 文章編號: 1004?373X(2015)17?0093?04
Integration design of UAV flight control navigation system based on ARM microprocessor
CHEN Yafeng
(The 27th Research Institute of China Electronics Technology Group Corporation, Zhengzhou 450047, China)
Abstract: To realize the targets of low power consumption, small size, low cost and high integration density of UAV flight control navigation system, the design scheme of integration control system for UAV flight control navigation based on ARM?STM32F405 microprocessor and MEMS sensor chip is proposed. The principle, constitution, and the design process of hardware and software of the control system are introduced in detail. The nonlinear robust control algorithm is introduced to improve the accuracy of the control system and the ability of resisting disturbance. The simulation results show that this control system is stable and has good control precision and strong robustness by using the nonlinear robust control algorithm.
Keywords: UAV; ARM microprocessor; MEMS sensor; nonlinear robust control
0 引 言
無人飛行器在軍用和民用方面的需求日益增多,特別是小型無人飛行器,已經(jīng)在偵察打擊、航拍測繪、消防減災(zāi)、電力巡線、農(nóng)林植保等諸多領(lǐng)域得以研究應(yīng)用。無人飛行器種類繁多,從機體結(jié)構(gòu)方面可以分為固定翼無人機、單旋翼無人直升機、共軸雙旋翼無人直升機、多旋翼無人飛行器等構(gòu)型。其中,多旋翼無人飛行器因其成本較低、尺寸較小、結(jié)構(gòu)簡單、控制靈活等特點,其研究及應(yīng)用得到廣泛關(guān)注。同時,多旋翼飛行器平臺具有欠驅(qū)動、非線性、靜不穩(wěn)定等特點,對導(dǎo)航及控制算法設(shè)計要求較高[1],是進行無人飛行器飛控系統(tǒng)設(shè)計、導(dǎo)航解算以及控制算法研究的理想平臺。
由于小型無人飛行器具有較小的尺寸結(jié)構(gòu)及重量,因此對飛行器飛控及導(dǎo)航系統(tǒng)尺寸、重量以及功耗的要求較為苛刻。通常無人飛行器飛控系統(tǒng)采用PC104[2],DSP等微處理器作為主控計算機,尺寸重量較大、功耗較大、成本較高,并且由于所用處理器的處理能力有限,多采用導(dǎo)航計算機同飛控計算機相分離的設(shè)計方式[3],人為增加了尺寸及重量。因此,將無人飛行器飛控與導(dǎo)航系統(tǒng)進行一體化設(shè)計是減小飛控系統(tǒng)尺寸、重量及功耗的有效手段,但一體化設(shè)計需要處理器有較高的主頻及內(nèi)存,對用于進行飛控與導(dǎo)航解算的處理器提出了較高要求?;贏RM Cortex?M4內(nèi)核的STM32F405微處理器是一款具備高性能、低成本、低功耗要求的嵌入式微處理器,主頻高達168 MHz,并且?guī)в袉尉雀↑c運算單元,可以進行復(fù)雜的導(dǎo)航姿態(tài)解算以及控制率計算等工作,使得飛控導(dǎo)航一體化設(shè)計成為可能。
本文以四旋翼無人飛行器平臺為研究對象,利用基于ARM Cortex_M4內(nèi)核的STM32F405微處理器和MEMS傳感器組件設(shè)計無人飛行器飛控導(dǎo)航一體化控制系統(tǒng),并引入非線性魯棒控制算法,以提高控制系統(tǒng)的抗干擾能力。
1 系統(tǒng)組成及原理
作為小型無人飛行器經(jīng)典構(gòu)型中的一種,四旋翼飛行器由成對布置的電機、螺旋槳提供升力以及俯仰、滾轉(zhuǎn)控制力,偏航由螺旋槳差動產(chǎn)生的反扭矩實現(xiàn)。
飛控導(dǎo)航一體化控制系統(tǒng)主要由導(dǎo)航定位單元、慣性測量單元以及主控單元三部分組成。采用一體化設(shè)計思想,將三個單元組件集成到一塊電路板上。其中導(dǎo)航定位單元由GPS模塊、磁傳感器組成,外接GPS天線;慣性測量單元集成了具有較高性能的基于MEMS芯片的加速度計、陀螺儀模擬器件,并包含氣壓高度計;主控處理單元為STM32F405微處理器,主要實現(xiàn)傳感器數(shù)據(jù)采集、濾波處理、姿態(tài)解算、指令接收、控制律解算、通道分配、PWM輸出以及狀態(tài)信息發(fā)送等功能。
2 硬件設(shè)計
飛控導(dǎo)航一體化控制系統(tǒng)硬件電路是無人飛行器導(dǎo)航、控制功能實現(xiàn)的支撐和保障??刂葡到y(tǒng)采用集成化設(shè)計,其組成框圖如圖1所示,包含傳感器組件、主控芯片、電子調(diào)速器組件以及電機等部分。其中,傳感器組件主要包含導(dǎo)航定位單元及慣性測量單元,與主控單元芯片集成到同一塊電路板上;電調(diào)組件及電機作為控制系統(tǒng)的執(zhí)行機構(gòu)分散布置到飛行器機體結(jié)構(gòu)中,主要接收PWM控制指令,實現(xiàn)電機轉(zhuǎn)速控制,完成飛行器各種飛行動作。
2.1 導(dǎo)航定位單元
為使無人飛行器能夠?qū)崟r獲取當前位置、速度、航向等相關(guān)導(dǎo)航信息,并且可以沿著預(yù)定航線飛行,導(dǎo)航定位單元主要由GPS模塊和磁傳感器組成。
其中GPS采用U?Blox?6H模組,外接GPS天線,可以實現(xiàn)5 Hz定位數(shù)據(jù)輸出。磁傳感器芯片選用HMC5883,量程±3.5 gauss,可以實現(xiàn)三軸磁通量測量,采用I2C總線輸出。
2.2 慣性測量單元
慣性測量單元傳感器組件為飛行器實時提供三軸角速度、三軸加速度等信息。主要使用到的傳感器有測量線加速度的加速度計,測量角速度的陀螺儀。
為采集三軸加速度、三軸角速度,選用3顆ADXRS620單軸陀螺儀芯片,量程為±300 (°)/s;2顆ADXL203雙軸加速度計芯片,量程為±5 gauss。陀螺儀及加速度芯片采用正交排列的方式放置。由于陀螺儀及加速度芯片均為模擬量輸出,需要通過A/D轉(zhuǎn)換實現(xiàn)模擬量數(shù)字量轉(zhuǎn)換。A/D轉(zhuǎn)換選用AD7689芯片,16位分辨率,可實現(xiàn)8通道的模擬電壓采集,經(jīng)SPI總線輸出轉(zhuǎn)換后的數(shù)字量。另外,為了能夠?qū)崿F(xiàn)飛行器定高,選用氣壓高度芯片MS5611,SPI總線輸出。
2.3 主處理單元
主處理單元采用ST公司最新推出的基于ARM Cortex?M4內(nèi)核的STM32F405微處理器。主頻高達168 MHz,處理能力更強;增加了單精度浮點運算單元(FPU),通過內(nèi)置單精度FPU提升控制算法的執(zhí)行速度;采用32位多重AHB總線矩陣和多通道DMA控制器,支持程序執(zhí)行和數(shù)據(jù)傳輸并行處理,有著較快的數(shù)據(jù)傳輸速度;增加了數(shù)字信號控制器(DSC)功能,可以替換只有整數(shù)運算能力的DSP產(chǎn)品。如上所述,STM32F405是一款具有較強數(shù)據(jù)處理能力以及數(shù)據(jù)傳輸能力的MCU,并且功耗極低,可以實現(xiàn)較為復(fù)雜的數(shù)據(jù)濾波、姿態(tài)解算等算法,使得飛控導(dǎo)航一體化設(shè)計成為可能。
STM32F405微處理器采用10個16位定時器、2個32位定時器可以實現(xiàn)多路PWM信號輸出,滿足飛行器多路電機或舵機的控制需求;1 MB FLASH存儲器,192 KB SRAM,滿足應(yīng)用程序存儲及運行所需;6個USART,3個SPI,3個I2C通信接口,滿足與傳感器、無線通信等設(shè)備的通信需求;另外,處理器內(nèi)嵌2通道的12位DAC模塊以及3個12位的ADC模塊,可以實現(xiàn)電池電壓采集等功能。
3 軟件設(shè)計
3.1 導(dǎo)航及姿態(tài)解算
卡爾曼濾波及互補濾波是導(dǎo)航及姿態(tài)解算中經(jīng)常用到的濾波算法。其中卡爾曼濾波是一種最優(yōu)化自回歸數(shù)據(jù)處理算法,在計算機圖形圖像處理、姿態(tài)解算[4]、多傳感器數(shù)據(jù)融合導(dǎo)航[5]等諸多場合得以應(yīng)用。但是卡爾曼濾波參數(shù)較難確定,而且其計算量很大,對處理器的運算速度和精度有很高的要求?;パa濾波算法相對卡爾曼濾波較為簡單可靠,對慣性器件的精度要求較低,在飛行器姿態(tài)解算中的應(yīng)用十分廣泛[6]。
互補濾波器姿態(tài)解算基于加速度計、陀螺儀及磁傳感器自身特性。陀螺儀動態(tài)響應(yīng)特性良好,但計算姿態(tài)時會產(chǎn)生累積誤差;磁傳感器和加速度計測量姿態(tài)沒有累積誤差,但動態(tài)響應(yīng)較差。它們在頻域上特性互補,可以采用互補濾波器融合這三種傳感器的數(shù)據(jù),提高測量精度和系統(tǒng)的動態(tài)性能[6]?;パa濾波器的解算流程,如圖2所示。
以[R]表示飛行器真實姿態(tài)的方向余弦矩陣,[R]為互補濾波器計算出的姿態(tài)方向余弦矩陣,[Ro]為由加速度計和磁傳感器觀測到的姿態(tài)方向余弦矩陣,[Rc]為由陀螺儀數(shù)據(jù)計算出的姿態(tài)。
[Rnb=RnbΩbnb]
式中:
[Ωbnb=0-wzωyωz0-ωx-ωyωx0]
式中:[ωx,ωy]和[ωz]分別為陀螺儀測得的機體坐標系下[x,y,z]軸的角速度,從而有[sRc(s)=R(s)Ω(s),]互補濾波器模型[6]為:
[sR(s)=C(s)Ro(s)-R(s)+R(s)Ω(s)]
式中:[C(s)]為濾波器系數(shù),代表陀螺儀及加速度計的數(shù)據(jù)權(quán)重。
飛行器導(dǎo)航數(shù)據(jù)取自GPS,GPS更新速率為5 Hz,在輸出定位數(shù)據(jù)的同時,可以輸出北向、東向速度,但由于GPS較低的更新速率,采用航位推算算法提高飛行器導(dǎo)航定位更新頻率至10 Hz,以滿足飛行器導(dǎo)航定位的需求。
3.2 控制算法設(shè)計
四旋翼無人飛行器作為被控對象具有欠驅(qū)動、非線性、靜不穩(wěn)定等特點,并且機構(gòu)簡單,便于實現(xiàn),是控制算法研究的理想平臺。經(jīng)典PID[7]、自抗擾[8]、LQR[9]以及滑模變結(jié)構(gòu)[10]等控制器在四旋翼飛行器飛控中的應(yīng)用研究均有涉及。本文將非線性魯棒控制器(Nonlinear Robust Controller,NRC)應(yīng)用到四旋翼姿態(tài)控制中去。NRC不依賴精確的被控對象模型,在反饋線性化的基礎(chǔ)上引入包含積分環(huán)節(jié)的擴張狀態(tài)觀測器補償系統(tǒng)各種未知因素的干擾,具有很強的魯棒性[11]。四旋翼飛行器基于機體坐標系的姿態(tài)動力學(xué)方程如下所述[12]:
[?=Jy-JzJxθψ+lJxu2θ=Jz-JxJx?ψ+lJyu3]
[ψ=Jx-JyJz?θ+1Jzu4]
式中:[u2,u3]和[u4]分別為滾轉(zhuǎn)、俯仰和偏航通道控制輸入。為便于表述,將其轉(zhuǎn)化為如下形式:
[x1=? x1=x2x2=? x2=Jy-JzJxx4x6+lJxu2x3=θ x3=x4x4=θ x4=Jz-JxJxx2x6+lJyu3x5=ψ x5=x6x6=ψ x6=Jx-JyJzx2x4+1Jzu4]
通常四旋翼飛行器采用軸對稱形式的機體結(jié)構(gòu),其俯仰與滾轉(zhuǎn)通道有著相同的動力學(xué)表現(xiàn),因此在設(shè)計姿態(tài)控制器時,以其中一個通道進行描述。為便于表述,將四旋翼姿態(tài)動力學(xué)模型滾轉(zhuǎn)通道轉(zhuǎn)化為標準型的系統(tǒng):
[z1=z2z2=a(z,w)+b(z,w)uy=z1]
式中:[z1=y-yd,z2=y,][a(z,w)]和[b(z,w)]是通道耦合產(chǎn)生的非線性項。從而,滾轉(zhuǎn)通道NRC控制器可以表述為:
[u=-h0z1-h1z2-dd=ξ+k0z1+k1z2ξ=-k1ξ-k1k0z1+k1z2-k1u]
俯仰通道的NRC控制器設(shè)計方法同滾轉(zhuǎn)通道,在此不再贅述。分散NRC姿態(tài)控制結(jié)構(gòu)如圖3所示,其中俯仰和滾轉(zhuǎn)通道分別采用兩個二階的NRC控制器,以滾轉(zhuǎn)通道為例,控制器輸入為滾轉(zhuǎn)角、滾轉(zhuǎn)角速度以及滾轉(zhuǎn)角控制指令,控制器輸出為經(jīng)控制器解算后的滾轉(zhuǎn)通道控制量。航向及高度通道的控制相對較為簡單,采用經(jīng)典PID控制。
4 仿真計算
針對四旋翼飛行器數(shù)學(xué)模型設(shè)計相應(yīng)非線性魯棒控制器,并進行仿真試驗。由于四旋翼飛行器為軸對稱結(jié)構(gòu),俯仰與滾轉(zhuǎn)通道控制效應(yīng)相近,本文僅給出滾轉(zhuǎn)通道的控制效果。為驗證控制系統(tǒng)的魯棒性,加入幅值為±0.2 rad/s的噪聲信號。圖4為滾轉(zhuǎn)通道滾轉(zhuǎn)角階躍響應(yīng)輸出,為便于對比分析,分別繪出PID與NRC兩種控制算法下滾轉(zhuǎn)角響應(yīng)曲線;圖5為PID與NRC兩種控制算法下滾轉(zhuǎn)角速度曲線。可以看出,NRC階躍響應(yīng)輸出平緩,控制精度較高,并且相較于PID對噪聲干擾的抑制能力更強,對角速度噪聲干擾的抑制效果更為明顯,表明NRC具有良好的魯棒性。
5 結(jié) 語
本文采用基于ARM Cortex?M4內(nèi)核的STM32F405微處理器作為主控芯片,結(jié)合MEMS傳感器及GPS模塊設(shè)計無人飛行器飛控導(dǎo)航一體化系統(tǒng),引入互補濾波進行姿態(tài)解算,并且采用航位推算算法提高GPS導(dǎo)航定位的更新頻率,在保證導(dǎo)航及姿態(tài)解算精度的同時降低數(shù)據(jù)濾波的計算量。以四旋翼飛行器作為研究平臺,采用非線性魯棒算法作為飛行器姿態(tài)控制器,仿真計算表明,采用非線性魯棒控制算法的飛行器飛控導(dǎo)航一體化控制系統(tǒng)相較于采用傳統(tǒng)PID算法的飛控系統(tǒng),具有良好的控制精度以及較強的魯棒性。
另外,本文設(shè)計的飛控導(dǎo)航一體化控制系統(tǒng)經(jīng)過控制參數(shù)適當調(diào)整、控制通道進行適當分配后可以作為一種通用型飛控導(dǎo)航一體化飛行控制器,應(yīng)用于固定翼無人機、無人直升機等多種構(gòu)型的無人飛行器平臺中。
參考文獻
[1] 張垚,鮮斌,殷強,等.基于ARM處理器的四旋翼無人機自主控制系統(tǒng)研究[J].中國科學(xué)技術(shù)大學(xué)學(xué)報,2012,42(9):753?760.
[2] 顧冬雷,夏先明,高正.無人直升機飛控系統(tǒng)設(shè)計與應(yīng)用[J].南京航空航天大學(xué)學(xué)報,2005,37(4):476?478.
[3] 王偉,徐平,林德福,等.基于MCU和DSP的無人機控制系統(tǒng)設(shè)計[J].測試技術(shù)學(xué)報,2011,25(6):494?498.
[4] WANG Shaohua, YANG Ying. Quadrotor aircraft attitude estimation and control based on Kalman filter [J]. Control Theory & Applications, 2013, 30(9): 1109?1114.
[5] MARTIN P, SALAUN E. Generalized multiplicative extended Kalman filter for aided attitude and heading reference system [C]// Proceedings of 2010 the AIAA Guidance, Navigation, and Control Conference. Toronto: AIAA, 2010: 423?428.
[6] 梁延德,程敏,何福本,等.基于互補濾波器的四旋翼飛行器姿態(tài)解算[J].傳感器與微系統(tǒng),2011,30(11):56?59.
[7] POUNDS P, MAHONY R, CORKE P. Modelling and control of a large quadrotor robot [J]. Control Engineering Practice, 2010, 18(7): 691?699.
[8] 王俊生,馬宏緒,蔡文瀾,等.基于ADRC的小型四旋翼無人直升機控制方法研究[J].彈箭與制導(dǎo)學(xué)報,2008,28(3):31?40.
[9] BOUABDALLAH S, NOTH A, SIEGWART R. PID vs LQ control techniques applied to an indoor micro quadrotor [C]// 2004 IEEE International Conference on Intelligent Robots and Systems. Piscataway: IEEE, 2004: 2451?2456.
[10] 李波波,賈秋玲.基于滑??刂频乃男盹w行器控制器設(shè)計[J].電子設(shè)計工程,2013,21(16):76?78.
[11] TORNAMBE A. A decentralized controller for the robust stabilization of a class of MIMO dynamical systems [J]. Journal of Dynamic Systems, Measurement, and Control, 1994, 116(2): 293?304.
[12] HU Qiong, FEI Qing, WU Qinghe. Research and application of nonlinear control techniques for quadrotor UAV [J]. Journal of University of Science and Technology of China, 2012, 42(8): 656?663.