李成勇
(重慶工程學(xué)院 電子與物聯(lián)網(wǎng)學(xué)院,重慶 400056)
20世紀(jì)90年代之后,隨著微機(jī)電系統(tǒng)研究的成熟,僅幾克重的慣性導(dǎo)航系統(tǒng)被研制出來(lái),使得多旋翼飛行器的自動(dòng)控制器成為可能。但是傳感器數(shù)據(jù)噪音很大,直到2005年左右真正穩(wěn)定的多旋翼無(wú)人機(jī)自動(dòng)控制器才被制作出來(lái)。2010年,法國(guó)Parrot公司發(fā)布了世界上首款流行的四旋翼飛行器AR.Drone。AR.Drone的流行讓四旋翼飛行器開(kāi)始廣泛進(jìn)入人類社會(huì)。2012年2月,賓夕法尼亞大學(xué)的Vijay Kumar教授在TED上做出了四旋翼飛行器發(fā)展歷史上里程碑式的演講。
許多災(zāi)情場(chǎng)合人工操作對(duì)搶救人員帶來(lái)了非常大的安全隱患,如火災(zāi)現(xiàn)場(chǎng)、煤炭瓦斯事故現(xiàn)場(chǎng)等[1]。這些場(chǎng)合由于災(zāi)情不明確,救援人員不能貿(mào)然到現(xiàn)場(chǎng),只有在短時(shí)間掌握災(zāi)情現(xiàn)場(chǎng)確定的人員情況、具體位置等,救援人員才能以最小的傷亡處理災(zāi)情現(xiàn)場(chǎng)。近年來(lái),無(wú)人機(jī)逐漸出現(xiàn)救援現(xiàn)場(chǎng),由于這種小型飛機(jī)是無(wú)線控制,救援人員不需要提前進(jìn)入火災(zāi)現(xiàn)場(chǎng),通過(guò)無(wú)人機(jī)遙控,短時(shí)間掌握火災(zāi)現(xiàn)場(chǎng)情況,包括火勢(shì)分布、大小和人員具體位置等,然后根據(jù)火災(zāi)現(xiàn)場(chǎng)情況,制定救援計(jì)劃,避免因?yàn)?zāi)情不明確導(dǎo)致不必要的損失。但目前無(wú)人機(jī)技術(shù)還需要完善,包括控制芯片水準(zhǔn)等,不能達(dá)到預(yù)定目標(biāo)[2]。通過(guò)分析多種無(wú)人機(jī)設(shè)計(jì)方案及控制器選擇,制作了四旋翼飛行器模型,主要功能是自主飛行、高空懸停及距離預(yù)警。通過(guò)手機(jī)遙控,可以準(zhǔn)確地按指定路線飛行,在必要的空中位置懸停,進(jìn)行現(xiàn)場(chǎng)數(shù)據(jù)采集,遇到障礙物到一定距離發(fā)出報(bào)警,調(diào)整飛行方向,可以適用于特殊現(xiàn)場(chǎng)的情況收集。
采用Arduino Genuino Mega為控制芯片,其比51系列單片機(jī)最大優(yōu)勢(shì)在于I/O比較多,本系統(tǒng)設(shè)計(jì)需要多路數(shù)字輸入/輸出口,而Arduino Genuino Mega適合需要大量IO接口的設(shè)計(jì),但不能滿足實(shí)現(xiàn)本裝置的精度和運(yùn)行速度要求[5]。
采用STM公司生產(chǎn)的嵌入式STM32f103T8U6 MCU板為主控芯片,此單片機(jī)運(yùn)算功能強(qiáng)、可用的編程軟件多、可選擇性大、飛控代碼基于MWC、穩(wěn)定簡(jiǎn)潔、便于開(kāi)發(fā)。STM32系列嵌入式芯片具有ARM Cortex-M3內(nèi)核,內(nèi)部資源豐富,I/O口最多可達(dá)112個(gè),有多種通信方式,可以自由擴(kuò)展外部接口電路,資源使用方便[6-7]。因此本系統(tǒng)選擇嵌入式STM32進(jìn)行實(shí)驗(yàn)操作及模型搭建。
四旋翼飛行器也稱為四旋翼直升機(jī),是一種有4個(gè)螺旋槳且螺旋槳的形狀是十字形交叉,每個(gè)螺旋槳有獨(dú)立的電機(jī)單獨(dú)驅(qū)動(dòng),其螺旋槳支架結(jié)構(gòu)如圖1所示。

圖1 四旋翼飛行器結(jié)構(gòu)示意
當(dāng)飛行器處于飛行狀態(tài)時(shí),螺旋槳以支架為中心,相對(duì)螺旋槳以正向轉(zhuǎn)動(dòng),相鄰螺旋槳反向轉(zhuǎn)動(dòng),這樣飛行器以垂直方向上升,同時(shí)可以通過(guò)電機(jī)轉(zhuǎn)停時(shí)間長(zhǎng)短來(lái)控制螺旋槳速度的增加或減小。所以飛行器的懸停、俯仰等各類運(yùn)行軌跡動(dòng)作是通過(guò)改變4個(gè)螺旋槳的運(yùn)動(dòng)方向和速度產(chǎn)生。
四軸飛行器采用傳感MEMS分支,用敏感元件(電容、壓電和熱電偶等)來(lái)感受轉(zhuǎn)換電信號(hào)的器件和系統(tǒng)。自助飛行器的結(jié)構(gòu)擁有均勻性、對(duì)稱性、穩(wěn)定性三大特征。要求材料的質(zhì)地均勻、架構(gòu)對(duì)稱、連接牢固且在起飛和著陸時(shí)機(jī)架有抗抖、抗擊能力,機(jī)身支架采用薄而輕的硬質(zhì)塑料。飛行器的硬件組成如圖2所示,主要包括角速率陀螺、超聲波傳感器、微處理器、陀機(jī)控制接口和有效電源。

圖2 飛行控制硬件組成
1.2.1 陀螺儀
陀螺儀主要用于飛行器保持平衡,陀螺儀的測(cè)量物理量是偏轉(zhuǎn)、傾斜時(shí)的轉(zhuǎn)動(dòng)角速度。陀螺儀實(shí)際上等于3個(gè)角速度傳感器,內(nèi)部通過(guò)MENS工藝做出了一個(gè)參考坐標(biāo)系[8],當(dāng)芯片的坐標(biāo)相對(duì)參考坐標(biāo)發(fā)生旋轉(zhuǎn)時(shí),芯片會(huì)督促這個(gè)差異。因此,測(cè)量XYZ軸線的傾角變得可以實(shí)現(xiàn)。利用陀螺效應(yīng),感知陀螺儀中陀螺的相對(duì)方向,經(jīng)過(guò)嵌入式控制器處理與初始狀態(tài)比較感知陀螺的方向,可以對(duì)飛機(jī)等的運(yùn)動(dòng)方向進(jìn)行感知[9],如有偏航可以立刻對(duì)制動(dòng)系統(tǒng)發(fā)出指令進(jìn)行修正,本系統(tǒng)采用MPU6050,三軸陀螺儀,自帶DMP四元數(shù)輸出,內(nèi)部擁有溫度補(bǔ)償。
1.2.2 控制系統(tǒng)
再后來(lái),潘際鑾退休了,退休后重新開(kāi)始招博士生,重新組建自己的團(tuán)隊(duì),把他昔日的老部下召集到一起,一群八九十歲的人帶著一群年輕人,在清華大學(xué)機(jī)械工程系的焊接館里發(fā)光發(fā)熱。
四旋翼飛行器的控制系統(tǒng)分為兩部分:飛行器控制系統(tǒng)與航模電機(jī)調(diào)速系統(tǒng),飛行控制系統(tǒng)主要功能作用是檢測(cè)飛行姿態(tài),其由加速度傳感器和陀螺傳感器組成的IMU慣性測(cè)量單元實(shí)現(xiàn)。飛行器控制控制螺旋槳上的電機(jī)是通過(guò)I2C總線通信[10]。飛行姿態(tài)是4個(gè)直流電機(jī)轉(zhuǎn)速大小及方向來(lái)確定。飛行器控制要能夠通過(guò)采集處理微型MENS慣性器件和三維地磁傳感器數(shù)據(jù),計(jì)算飛行器姿態(tài)角和航向角[11]。航模電機(jī)是一個(gè)性能穩(wěn)定、效率高和無(wú)干擾的電機(jī),航模電機(jī)的運(yùn)行圖如圖3所示。

圖3 航模電機(jī)運(yùn)行原理
1.2.3 加速度傳感器
通過(guò)改變電機(jī)轉(zhuǎn)動(dòng)時(shí)間長(zhǎng)短來(lái)控制速度,速度增加或者減小測(cè)量是加速度傳感器來(lái)實(shí)現(xiàn),一般的加速度傳感器是納米材料制作,工藝精良,采用壓電效應(yīng)得到對(duì)應(yīng)的物理量,可以等效測(cè)量的電壓值。本方案中加速度采用的是內(nèi)置IC電路壓電的Mpu6050型加速度傳感器,其產(chǎn)生的電壓信號(hào)與振動(dòng)量成正比。
四旋翼飛行器在起飛、降落時(shí),需要加速或減速。控制則需要調(diào)節(jié)PWM信號(hào)占空比,飛行時(shí)如果加速度太大會(huì)因短時(shí)間內(nèi)沖量過(guò)大對(duì)機(jī)身造成傷害,為防止傷害則需勻變速緩沖,使飛行器能夠平穩(wěn)的加速或減速。四旋翼飛行器主程序流程圖如圖4所示。

圖4 四旋翼飛行器主程序流程
說(shuō)明:系統(tǒng)采用TIM4定時(shí)器產(chǎn)生1 ms定時(shí)基石,定時(shí)中斷中對(duì)判斷標(biāo)志位進(jìn)行累加。從而定時(shí)各個(gè)時(shí)間段進(jìn)行傳感器數(shù)據(jù)獲取、遙控指令和電機(jī)控制等。
本方案中程序控制采用STM32嵌入式系統(tǒng)固件庫(kù)思路,未采用寄存器控制方式,固件庫(kù)模式對(duì)PWM調(diào)制很好應(yīng)用,有靈活的外設(shè)端口,采集數(shù)據(jù)端口及多個(gè)通信接口,可以直接調(diào)用,不需要單獨(dú)編寫(xiě)代碼,其中PWM調(diào)制采用特殊中斷完成,執(zhí)行效率高。
在本模擬調(diào)節(jié)系統(tǒng)中采用的是數(shù)字PID控制算法,具有較強(qiáng)的靈活性。PID控制算法的表達(dá)式為[12]:
(1)
式中,KP為PID控制比例;TI、TD都是一個(gè)時(shí)間常數(shù),TI決定積分時(shí)間常數(shù),TD決定微分時(shí)間常數(shù);u(t)為PID控制的輸出信號(hào);e(t)為輸入信號(hào),其值是測(cè)量值減去預(yù)設(shè)值。
由于PID控制算法采用的是采樣方法[13],控制量是采樣時(shí)刻的偏差值來(lái)計(jì)算。因此,在PID算法控制系統(tǒng)中,要對(duì)輸出量做離散化處理,離散的PID表達(dá)式[14]:
(2)
因?yàn)镻ID算法原理簡(jiǎn)單、使用方便、適應(yīng)性強(qiáng),PID算法有一套完整的參數(shù)整定與設(shè)計(jì)方法,易于掌握[15];本系統(tǒng)在控制策略的設(shè)計(jì)上采用了四軸PID控制算法,達(dá)到了很好的加載控制結(jié)果,PID的原理框圖如圖5所示。

圖5 PID控制算法原理
通過(guò)不斷試飛、數(shù)據(jù)采集,在不同的高度測(cè)試4個(gè)電機(jī)的不同PWM信號(hào)值,此值為飛行器起始值狀態(tài),如表1中所示。
表1 飛行器起始值狀態(tài)

通道周期/ms占空比/%幅值/V通道1(ROLL)19.737.6053.64通道2(PITCH)19.287.7803.64通道3(THRO)19.737.6053.64通道4(YAW)18.618.0483.64
據(jù)要求手持飛行器靠近小車,距離為0.5~1.5 m的預(yù)警結(jié)果如表2所示。
表2 預(yù)警測(cè)試結(jié)果

測(cè)試次數(shù)距離/m是否預(yù)警11.49是22.31否31.50是41.53否51.49是61.55否
通過(guò)表中數(shù)據(jù)對(duì)比可知,當(dāng)有物體靠近飛行器時(shí),距離在0.5~1.5 m范圍內(nèi),都有警報(bào)聲,超過(guò)1.5 m的距離時(shí),傳感器感應(yīng)不到,不發(fā)出報(bào)警。飛行采集數(shù)據(jù)分析發(fā)現(xiàn)本系統(tǒng)出現(xiàn)以下不足:陀螺儀的控制掌握得不夠熟練、控制不夠穩(wěn)定;實(shí)際測(cè)試和理論存在誤差,補(bǔ)救措施不夠完善。
本文提出的四旋翼自主飛行器探測(cè)跟蹤系統(tǒng),經(jīng)過(guò)多次實(shí)驗(yàn)論證,采用STM32嵌入式作為控制芯片,輔助使用螺旋槳、壓力傳感器和陀螺儀等,實(shí)現(xiàn)了四旋翼飛行器在空中自由停放,在一定范圍內(nèi)遇到障礙物發(fā)出預(yù)警,避免出現(xiàn)事故。經(jīng)過(guò)反復(fù)調(diào)試試驗(yàn),本設(shè)計(jì)可行,且擁有簡(jiǎn)單操作、成本低的特點(diǎn)。
[1] 徐雪松.四旋翼無(wú)人機(jī)的多模型故障診斷[J].計(jì)算機(jī)工程與應(yīng)用,2016(21):252-257.
[2] 彭程,白越,喬冠宇,等.四旋翼無(wú)人機(jī)的偏航抗飽和與多模式PID控制[J].機(jī)器人,2015(4):415-423.
[3] ZHEN Ziyang,PU Huang zhong,CHEN Qi,et al.Nonlinear Intelligent Flight Control for Quadrotor Unmanned Helicopter[J].Transactions of Nanjing University of Aeronautics and Astronautics,2015(1):29-34.
[4] 甄紅濤,齊曉慧,李杰,等.四旋翼無(wú)人機(jī)L1自適應(yīng)塊控反步姿態(tài)控制器設(shè)計(jì)[J].控制與決策,2014(6):1076-1082.
[5] 王宏倫,邵星靈,張惠平,等.面向大跨度機(jī)動(dòng)飛行的高超聲速飛行器自抗擾軌跡線性化控制[J].電光與控制,2015(12):1-8.
[6] 邵星靈,王宏倫.線性擴(kuò)張狀態(tài)觀測(cè)器及其高階形式的性能分析[J].控制與決策,2015(5):815-822.
[7] 邵星靈,王宏倫,張惠平,等.基于微分器的軌跡線性化控制方法及其應(yīng)用[J].北京航空航天大學(xué)學(xué)報(bào),2015(7):1259-1268.
[8] 邵星靈,王宏倫.基于SMDO-TLC的高超聲速飛行器姿態(tài)控制[J].北京航空航天大學(xué)學(xué)報(bào),2014(11):1568-1575.
[9] 陳瑞杰,王宜懷,李會(huì).一種無(wú)線代碼可靠更新系統(tǒng)的研究與設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2016(4):31-32.
[10] 范云生,曹亞博,趙永生,等.四旋翼無(wú)人飛行器實(shí)驗(yàn)平臺(tái)設(shè)計(jì)及姿態(tài)控制研究[J].計(jì)算機(jī)測(cè)量與控制,2016(7):117-120.
[11] ZHANG Guang Rui,XUE Jian.Modeling and System Identification Using Extended Kalman Filter for a Quadrotor System[J].Applied Mechanics and Materials,2013(313):313-314.
[12] 張承岫,李鐵鷹,王耀力.基于MPU6050和互補(bǔ)濾波的四旋翼飛控系統(tǒng)設(shè)計(jì)[J].傳感技術(shù)學(xué)報(bào),2016(7):1011-1015.
[13] 蔣鈺,諶海云,岑汝平.基于四元數(shù)的四旋翼飛行器姿態(tài)解算算法[J].制造業(yè)自動(dòng)化,2015(23):77-80.
[14] 彭孝東,張鐵民,李繼宇,等.基于傳感器校正與融合的農(nóng)用小型無(wú)人機(jī)姿態(tài)估計(jì)算法[J].自動(dòng)化學(xué)報(bào),2015(4):854-860.
[15] 萬(wàn)曉鳳,康利平,余運(yùn)俊,等.互補(bǔ)濾波算法在四旋翼飛行器姿態(tài)解算中的應(yīng)用[J].測(cè)控技術(shù),2015(2):8-11.