四旋翼飛行器與傳統(tǒng)的單槳直升機(jī)相比,其飛行原理簡單,結(jié)構(gòu)緊湊,單位體積所提供的升力大,且可以扭矩自平衡而不需要反扭槳。四旋翼飛行器只通過改變螺旋槳的速度來實(shí)現(xiàn)各種動(dòng)作,是一種六自由度的垂直起降機(jī),非常適合在靜態(tài)和準(zhǔn)靜態(tài)條件下飛行,近幾年在軍事和民用領(lǐng)域廣泛應(yīng)用。然而四旋翼飛行器是個(gè)具有4個(gè)輸入量,6個(gè)輸出量的欠驅(qū)動(dòng)系統(tǒng),控制器的設(shè)計(jì)要求高。
姿態(tài)解算是姿態(tài)參考系統(tǒng)的關(guān)鍵技術(shù),算法的優(yōu)劣直接決定了解算效率和系統(tǒng)的精度。目前姿態(tài)描述的主要方式有:歐拉角、方向余弦、四元素法。歐拉角物理意義明確,但存在“奇點(diǎn)”。方向余弦計(jì)算沒有“奇點(diǎn)”,但三角函數(shù)運(yùn)算量大,不適合實(shí)時(shí)運(yùn)算。四元素法沒有“奇點(diǎn)”,而且運(yùn)算為一般代數(shù)運(yùn)算,運(yùn)算量小,方法簡單,易于操作。采用四元素法進(jìn)行姿態(tài)解算是理想的選擇。
1、四旋翼飛行器工作原理
四旋翼飛行器在結(jié)構(gòu)布局上有十字形、X形和H形。本文主要討論X形布局,如圖1所示。4個(gè)電機(jī)分別安裝在對(duì)稱結(jié)構(gòu)的X形支架的4個(gè)頂點(diǎn),電機(jī)1和3逆時(shí)針旋轉(zhuǎn),電機(jī)2和4順時(shí)針旋轉(zhuǎn),當(dāng)飛行器平衡飛行時(shí),陀螺效應(yīng)和空氣動(dòng)力扭矩效應(yīng)均被抵消。四旋翼飛行器在空間中有6個(gè)自由度(分別沿3個(gè)坐標(biāo)軸作平移和旋轉(zhuǎn)動(dòng)作),可通過調(diào)節(jié)4個(gè)電機(jī)的轉(zhuǎn)速來實(shí)現(xiàn)控制?;具\(yùn)動(dòng)狀態(tài):垂直運(yùn)動(dòng)、俯仰運(yùn)動(dòng)、滾轉(zhuǎn)運(yùn)動(dòng)、偏航運(yùn)動(dòng)、前后運(yùn)動(dòng)、側(cè)向運(yùn)動(dòng)。
圖1 ?四旋翼飛行器示意圖
垂直運(yùn)動(dòng):同相改變四個(gè)電機(jī)的輸出功率,使總的拉力改變,便實(shí)現(xiàn)飛行器沿z軸的垂直運(yùn)動(dòng)。當(dāng)升力等于自重時(shí),飛行器便保持懸停狀態(tài)。
俯仰運(yùn)動(dòng)和滾轉(zhuǎn)運(yùn)動(dòng):電機(jī)1、4的轉(zhuǎn)速上升,電機(jī)2、3的轉(zhuǎn)速下降。產(chǎn)生的不平衡力矩使機(jī)身繞x軸旋轉(zhuǎn),實(shí)現(xiàn)飛行器的俯仰運(yùn)動(dòng)。橫滾運(yùn)動(dòng)與俯仰運(yùn)動(dòng)的原理相同。
偏航運(yùn)動(dòng):四旋翼偏航運(yùn)動(dòng)可以借助旋翼產(chǎn)生的反扭矩來實(shí)現(xiàn)。四個(gè)旋翼對(duì)角線上的兩個(gè)旋翼轉(zhuǎn)動(dòng)方向相同,當(dāng)兩條對(duì)角線上的電機(jī)轉(zhuǎn)速不完全相同時(shí),不平衡的反扭矩引起四旋翼轉(zhuǎn)動(dòng),實(shí)現(xiàn)偏航運(yùn)動(dòng)。
前后運(yùn)動(dòng)和傾向運(yùn)動(dòng):為實(shí)現(xiàn)水平面內(nèi)運(yùn)動(dòng),須在水平面內(nèi)對(duì)飛行器施加一定的力。使飛行器做橫滾或俯仰。飛行器發(fā)生一定程度的傾斜,從而使旋翼拉力產(chǎn)生水平分量,實(shí)現(xiàn)飛行器的水平運(yùn)動(dòng)。
2、系統(tǒng)硬件設(shè)計(jì)
飛行器控制器通過處理微型MEMS慣性器件和三維地磁傳感器采集的數(shù)據(jù),計(jì)算飛行器的姿態(tài)角,并根據(jù)飛行指令,結(jié)合相應(yīng)的控制律給出適當(dāng)?shù)目刂?a target="_blank">信號(hào),控制飛行器姿態(tài)和位置。
本文采用模塊化設(shè)計(jì),四旋翼飛行控制系統(tǒng)主要由主控模塊、數(shù)據(jù)采集模塊、電機(jī)驅(qū)動(dòng)模塊等組成。采用STM32芯片作為主控芯片。系統(tǒng)硬件結(jié)構(gòu)如圖2所示。
圖2 ?飛行控制器硬件結(jié)構(gòu)圖
2.1、主控模塊
本文采用基于ARMCortexM3內(nèi)核的STM32F103VCTE微控制器為主控芯片。STM32微控制器具有多路信號(hào)采集通道和多路PWM輸出通道,方便接收傳感器數(shù)據(jù)和對(duì)電機(jī)進(jìn)行控制,72MHz的主頻滿足系統(tǒng)對(duì)于運(yùn)算速度的要求,且功耗低。
2.2、數(shù)據(jù)采集模塊圖
采用擁有3軸加速度計(jì)和3軸陀螺儀的組合傳感器MPU-6050來測量加速度和角速度,3軸地磁傳感器HMC5883L測量地磁場,氣壓計(jì)MS5611測量氣壓。
MPU-6050集成了3軸MEMS陀螺儀,3軸MEMS加速度計(jì)。陀螺儀可測范圍和加速度計(jì)可測范圍可根據(jù)實(shí)際應(yīng)用調(diào)整。與設(shè)備寄存器之間的通信采用400kHz的I2C接口。
HMC5883L是一種帶有數(shù)字接口的弱磁傳感器芯片,測量范圍從毫高斯到8高斯(Gauss),羅盤精度在1°~2°,以I2C總線接口與主控芯片進(jìn)行通信。MS5611氣壓傳感器是一款高分辨率氣壓傳感器,分辨率可達(dá)到10cm。擁有I2C總線接口與微控制器連接。
2.3、電機(jī)驅(qū)動(dòng)模塊
采用4個(gè)ST2210無刷直流電機(jī)并用ST20A電調(diào)對(duì)電機(jī)進(jìn)行驅(qū)動(dòng)。STM32通過配置GPIO接口輸出PPM信號(hào)到電調(diào)控制電機(jī)轉(zhuǎn)速。ST20A電調(diào)接受20~400Hz,脈寬1~2ms的PWM信號(hào),電平支持3.3V和5V。0%~100%的油門由PPM信號(hào)1~2ms的脈寬表示,即0%油門對(duì)應(yīng)1ms脈寬,100%油門對(duì)應(yīng)2ms脈寬,以達(dá)到調(diào)節(jié)電機(jī)轉(zhuǎn)速的目的。
3、系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)在KeilMDK-ARM開發(fā)環(huán)境里編寫。MDK-ARM軟件為基于Cortex-M、Cortex-R4、ARM7、ARM9處理器設(shè)備提供了一個(gè)完整的C/C++開發(fā)環(huán)境。程序流程如圖3所示。
圖3 ?程序流程圖
3.1、姿態(tài)解算
對(duì)姿態(tài)角的測量和解算是飛行控制系統(tǒng)中重要的組成部分。姿態(tài)解算的速度和準(zhǔn)確度直接影響到姿態(tài)控制效果。本文采用運(yùn)算速度快,精度高的四元素互補(bǔ)濾波算法對(duì)姿態(tài)進(jìn)行解算,能夠達(dá)到飛行控制的要求。
姿態(tài)角是通過陀螺儀、加速度計(jì)和數(shù)字羅盤等傳感器測量得到的。MEMS陀螺儀具有溫度漂移特性,長期積分運(yùn)算存在累積誤差,短期數(shù)據(jù)精度高。飛行器在飛行過程中機(jī)體振動(dòng)會(huì)對(duì)加速度計(jì)產(chǎn)生影響,同時(shí)數(shù)字羅盤是一種磁阻傳感器,很容易受到外部磁場的干擾,兩者不適合短期測量,但其測量誤差為靜態(tài)誤差,不隨時(shí)間的累加而變化,可用以長時(shí)間姿態(tài)角采集。
四元素互補(bǔ)濾波方法將這幾種傳感器的優(yōu)勢互補(bǔ)。此方法的主要思想是用加速度計(jì)和數(shù)字羅盤的測量姿態(tài)修正陀螺儀的測量姿態(tài)。加速度計(jì)和數(shù)字羅盤測量出來的數(shù)據(jù)是地球重力與地球磁場在機(jī)體空間坐標(biāo)上的分量,可認(rèn)為是實(shí)際姿態(tài)。陀螺儀測量出來的姿態(tài)經(jīng)實(shí)際姿態(tài)修正后輸出給控制器以計(jì)算控制量。歐拉角、四元素和方向余弦矩陣間的關(guān)系如式(1)所示。
根據(jù)余弦矩陣和歐拉角的定義,地理坐標(biāo)系的重力向量轉(zhuǎn)到機(jī)體坐標(biāo)系為第三行三個(gè)元素,即:
式(2)中,aX,aY,aZ為加速度計(jì)測量出的重力向量在各個(gè)軸向上的分量,即實(shí)際測出來的重力向量;vX,vY,vZ為陀螺積分后的姿態(tài)來推算出的重力向量,它們都是機(jī)體坐標(biāo)系上的重力向量。它們之間的誤差,就是陀螺積分后的姿態(tài)和加速度計(jì)測出來的姿態(tài)之間的誤差。計(jì)算前aX,aY,aZ需規(guī)范化處理。
陀螺儀各軸轉(zhuǎn)動(dòng)的角速度經(jīng)修正后,再以一階龍格庫塔算法進(jìn)行積分更新四元素,如式(6)所示。
3.3、控制律設(shè)計(jì)
PID(比例-積分-微分)控制器簡單易懂,使用中不需精確的系統(tǒng)模型等先決條件,因而成為應(yīng)用最為廣泛的控制器。
四旋翼飛行器姿態(tài)的調(diào)節(jié)是通過對(duì)4個(gè)帶槳電機(jī)的轉(zhuǎn)速調(diào)節(jié)實(shí)現(xiàn)的,4個(gè)電機(jī)不同的轉(zhuǎn)速組合,能夠?qū)崿F(xiàn)飛行器俯仰、橫滾、偏航等不同的飛行動(dòng)作。通過在3個(gè)姿態(tài)控制通道分別設(shè)計(jì)PID控制律,實(shí)現(xiàn)所需的控制功能。
針對(duì)本系統(tǒng)動(dòng)態(tài)要求較高的特點(diǎn),采用PID控制器的改進(jìn)型控制器———串級(jí)PID控制器進(jìn)行,控制結(jié)構(gòu)框圖如圖4所示。
圖4 ?控制結(jié)構(gòu)框圖
主控制器采用PID控制器對(duì)姿態(tài)角進(jìn)行精確調(diào)整,副控制器采用PD控制器對(duì)角速度的變化趨勢進(jìn)行快速調(diào)整,提高了系統(tǒng)動(dòng)態(tài)擾動(dòng)下的控制能力,保證了系統(tǒng)控制性能和飛行姿態(tài)的穩(wěn)定。
在Simulink搭建模型進(jìn)行仿真,整定串級(jí)PID控制器參數(shù),橫滾角和俯仰角的階躍響應(yīng)仿真曲線如圖5(a)、(b)所示。從圖5可以看出,串級(jí)PID具有很好的控制能力,能夠發(fā)到控制要求。
圖5 ?橫滾角和俯仰角階躍響應(yīng)曲線
四旋翼飛行器實(shí)物如圖6所示。通過實(shí)驗(yàn)驗(yàn)證采用四元素融合濾波和串級(jí)PID算法控制下,四旋翼飛行器在空中懸停時(shí)各個(gè)姿態(tài)角的穩(wěn)定性。實(shí)驗(yàn)結(jié)果表明,本文所設(shè)計(jì)的飛行控制器能夠穩(wěn)定控制四旋翼飛行器的各個(gè)姿態(tài)角,在空中懸停的過程中使各個(gè)姿態(tài)角都在合理的范圍內(nèi)波動(dòng),符合控制的要求。
圖6 ? 四 旋翼飛行器實(shí)物圖
4、結(jié)語
基于STM32系列設(shè)計(jì)了四旋翼飛行器飛行控制系統(tǒng)。通過傳感器采集飛行器的飛行姿態(tài)數(shù)據(jù),STM32微控制器進(jìn)行數(shù)據(jù)融合濾波和控制律運(yùn)算,輸出控制量到四個(gè)電機(jī),最終實(shí)現(xiàn)飛行姿態(tài)的穩(wěn)定控制。空中懸停實(shí)驗(yàn)結(jié)果表明,采用四元素融合濾波算法和串級(jí)PID控制器的飛行控制系統(tǒng)具有良好的控制效果,能夠?qū)崿F(xiàn)飛行姿態(tài)的穩(wěn)定控制,達(dá)到了設(shè)計(jì)的目的。同時(shí)為以后進(jìn)一步實(shí)現(xiàn)更高飛行任務(wù)的研究奠定了基礎(chǔ)。
評(píng)論