北京信息科技大學(xué)傳感器重點(diǎn)實(shí)驗(yàn)室,北京 100101
四旋翼飛行器是一種具有強(qiáng)耦合性、六自由度的欠驅(qū)動系統(tǒng)。同時(shí),四旋翼飛行器的構(gòu)造特點(diǎn)造成了其易于受外界干擾與自身擾動影響的特點(diǎn),這樣也增加了控制上的難度,因此對于四旋翼飛行器控制系統(tǒng)的算法要求也逐漸提高。
STM32出自于ST公司,該款嵌入式處理器具備ARM Cortex-M3內(nèi)核,其不僅有著超低的功耗表現(xiàn),還具有更快的速度響應(yīng),同時(shí)還可以在不同種傳感器之間保持信息通訊。所以基于STM32的飛行控制系統(tǒng)有著資源有效利用、減少開發(fā)成本的優(yōu)勢。
目前常用的控制算法主要還是PID控制算法,同時(shí)也還有反演控制和滑膜控制方法,但是反演控制方法的懸停效果控制能力比較差,而滑膜控制法的缺點(diǎn)是在飛行過程中會發(fā)生控制結(jié)構(gòu)的變化,導(dǎo)致一定的高頻擾動而使得控制效果變差。傳統(tǒng)的PID算法不具備較好的抗干擾能力。
本文嘗試通過一種基于傳統(tǒng)PID改進(jìn)的串級PID控制系統(tǒng),通過MATLAB/Simulink仿真環(huán)境,整定參數(shù)對四旋翼飛行器姿態(tài)逐步進(jìn)行優(yōu)化控制。
四旋翼飛行器主要是由四軸機(jī)架、螺旋槳、無刷電機(jī)、飛控板、起落架、電源、遙控接收機(jī)、無刷ESC等部分來組成[1]。呈十字交叉形狀的四軸機(jī)架,四個(gè)螺旋槳都處在統(tǒng)一高度平面,十字交叉的頂端分別安裝同型號的兩對正反螺旋槳和電機(jī),支架中心安裝飛行控制計(jì)算機(jī)和外部設(shè)備。飛控板、機(jī)載傳感器和電池等安裝在無人機(jī)的中間位置。
如圖1所示,四旋翼無人機(jī)的姿態(tài)調(diào)整都是由四個(gè)電機(jī)決定的,通過增減了兩側(cè)各兩個(gè)電機(jī)的轉(zhuǎn)速,才可以實(shí)現(xiàn)四軸的四向偏轉(zhuǎn),從而再向四個(gè)方向運(yùn)動。也通過增減對角線方向兩組各兩個(gè)電機(jī)的轉(zhuǎn)速,可以實(shí)現(xiàn)四軸的順時(shí)針、逆時(shí)針轉(zhuǎn)向。將四旋翼無人機(jī)的運(yùn)動狀態(tài)分類,基本包括:前后、側(cè)向、滾轉(zhuǎn)、俯仰、偏航、垂直運(yùn)動[2]。
對于飛行器的飛行位置及狀態(tài)的確定,一般是取用慣性和物體坐標(biāo)系。如圖2所示,前者坐標(biāo)系的原點(diǎn)是選用地球的中心,選用的慣性坐標(biāo)系和物體坐標(biāo)系分別表示為E(OXYZ)、B(oxyz)[3]。
通過研究飛行器的運(yùn)動狀態(tài),可以將其運(yùn)動狀態(tài)概括為旋轉(zhuǎn)、平移運(yùn)動方式的組合。[x, y, z]表示的是以地面為參考系,四旋翼飛行器質(zhì)心的具體位置。 [φ,θ,ψ]則是表示[4]物體坐標(biāo)系與坐標(biāo)軸之間的夾角,而其繞著三個(gè)軸的角速度則是可以用陀螺儀來得到。將三者之間的關(guān)系表示為:
通過物理學(xué)知識對四旋翼飛行器受力進(jìn)行分析,如圖2所示,主要分為四旋翼飛行器本身的重力G、無人機(jī)在飛行過程中所受的空氣阻力f、飛行器旋翼產(chǎn)生的升力F。
其中,φ—橫滾角;
θ—俯仰角;
ψ—偏航角;
m—無人機(jī)質(zhì)量;
L—電機(jī)轉(zhuǎn)動中心距機(jī)體中心的距離;
U1—垂直速度控制量(總升力);
U2—橫滾力矩;
U3—俯仰力矩;
U4—偏航力矩增量;
Ix、Iy、Iz—電機(jī)在x、y、z軸產(chǎn)生的轉(zhuǎn)動慣量。
四旋翼無人機(jī)的飛行控制系統(tǒng)一般是以微控制器為核心,集成各種機(jī)載傳感器、動力驅(qū)動系統(tǒng),同時(shí)統(tǒng)一的調(diào)用、合理的分配系統(tǒng)資源,保證每一個(gè)環(huán)節(jié)相互都可以起到作用,加強(qiáng)對四旋翼飛行器的控制。飛控系統(tǒng)總體框圖如圖3所示。
在整個(gè)飛控系統(tǒng)中,主要用到的傳感器有:加速度計(jì)、陀螺儀、氣壓高度計(jì)、磁航向計(jì)、超聲波傳感器等。而捷聯(lián)慣導(dǎo)系統(tǒng)[7]就是由三軸加速度計(jì)與角速率陀螺儀共同組成的。飛行器控制器通過處理MEMS慣性器件和傳感器采集的數(shù)據(jù),與相關(guān)的控制律相結(jié)合[8],得到合適的控制信號,可以有效的對四旋翼飛行器的飛行姿態(tài)進(jìn)行控制。
由于四旋翼飛行器的結(jié)構(gòu)特點(diǎn)以及飛控系統(tǒng)的復(fù)雜程度,對于控制系統(tǒng)的執(zhí)行速度要求是一定要特別快,而主控制器作為核心部件,其選型直接關(guān)系到飛控系統(tǒng)執(zhí)行速度的快慢,故選擇出自ARM公司設(shè)計(jì)的STM32微控制器。STM32F103RET6較于普通單片機(jī)功能強(qiáng)大,接口更為豐富。
ST公司出品的STM32F系列,工作頻率最高能達(dá)到72MHz;STM32F103RET6芯片在程序存儲器方面表現(xiàn)達(dá)到512K,64K的RAM存儲空間;2.0V~3.6V供電和I/O引腳;低功耗體現(xiàn)在Vbat能夠給寄存器供電,擁有睡眠、停機(jī)待機(jī)模式;2個(gè)12位模數(shù)轉(zhuǎn)換器;2個(gè)DMA控制器,支持定時(shí)器、SPI、I2C、UART、ADC等外設(shè)。
通過慣性測量元器件MPU-6050來測量加速度和角速度,MPU-6050是擁有3軸加速度計(jì)和3軸陀螺儀的組合傳感器,無論是陀螺儀還是加速度計(jì),它們可測量的精確范圍完全可以通過對實(shí)際應(yīng)用的研究來進(jìn)行適度的調(diào)整,另外400kHz的I2C接口被采用來進(jìn)行與設(shè)備寄存器通信。
四旋翼飛行器的氣壓計(jì)選用MEAS(美國)推出的MS5611。該氣壓傳感器分辨率能夠達(dá)到10cm,高分辨率的溫度輸出無需別的傳感器就能實(shí)現(xiàn)溫度、高度計(jì)功能;通過I2C接口可以連接大部分微控制器。
在飛行過程中,由于要求精確的控制方向,雖然有很多方法測量方向,但是參考地磁獲取方位角的數(shù)據(jù)來進(jìn)行精確的方向控制是最為方便的。霍尼韋爾HMC58883L是弱磁傳感器芯片,表面[1]貼裝高集成度、帶有I2C接口。其集成電路具備霍尼韋爾專利,具備毫高斯至8高斯的測量范圍。
四旋翼飛行器的驅(qū)動通過4個(gè)ST2210無刷直流電機(jī)來進(jìn)行支持,同時(shí)選用ST20A電調(diào),支持3.3V與5V電平,STM32通過配置GPIO,利用PPM信號輸出,0%~100%油門與其1ms~2ms脈寬互相對應(yīng),從而電調(diào)能夠控制電機(jī)轉(zhuǎn)速。
串級控制結(jié)構(gòu)中含有兩個(gè)回路,內(nèi)回路是在控制過程中負(fù)責(zé)粗調(diào),外回路則是完成細(xì)調(diào);姿態(tài)控制在整個(gè)控制系統(tǒng)中是最為重要的也是最為困難的一個(gè)環(huán)節(jié),因?yàn)楫?dāng)四旋翼飛行器在空中飛行的時(shí)候,會存在各種各樣不確定的干擾,設(shè)定外界有干擾的情況下,姿態(tài)采集傳感器中的加速度計(jì)還有陀螺儀采集到的數(shù)據(jù)會發(fā)生失真,無法準(zhǔn)確地推算出歐拉姿態(tài)角。
本文在傳統(tǒng)PID的基礎(chǔ)上采用雙環(huán)PID控制系統(tǒng),內(nèi)環(huán)采用的是角速度PID控制器,而外環(huán)采用的是角度PID控制器[9]。相比于單環(huán)的角度PID控制器,四旋翼飛行器很難在復(fù)雜環(huán)境中保持一定的穩(wěn)定性,新加入的內(nèi)環(huán)角速度PID控制器可以提高旋翼的抗干擾能力。如圖4所示。
對于推導(dǎo)得到的四旋翼無人機(jī)非線性模型,引入控制量通過LPV法將四旋翼無人機(jī)的動力學(xué)模型轉(zhuǎn)化為狀態(tài)空間表達(dá)式[10]。根據(jù)標(biāo)準(zhǔn)的四旋翼無人機(jī)參數(shù),我們可以得到各通道的傳遞函數(shù),姿態(tài)角也根據(jù)傳感器采集的數(shù)據(jù)進(jìn)行姿態(tài)解算[11]后可以根據(jù)建立好的控制系統(tǒng)模型,在MATLAB中的Simulink搭建系統(tǒng)的仿真模型進(jìn)行實(shí)驗(yàn)驗(yàn)證。以橫滾角為例,分別對單環(huán)PID和串級PID進(jìn)行仿真對比。
(1)PID調(diào)參
基于串級PID控制對PID進(jìn)行調(diào)參,因?yàn)閮?nèi)外環(huán)相互各自獨(dú)立,首先是對內(nèi)環(huán)進(jìn)行參數(shù)整定,再對外環(huán)進(jìn)行調(diào)參。內(nèi)環(huán)角速度PID調(diào)節(jié)過程中,適當(dāng)增大比例系數(shù)P,從而可以加快系統(tǒng)回復(fù)的快速性能,但是過大會導(dǎo)致系統(tǒng)的震蕩;積分項(xiàng)參數(shù)I可以減小系統(tǒng)的穩(wěn)態(tài)誤差,但是系統(tǒng)輸出震蕩的效果與I成正比,I越大震蕩越明顯;微分參數(shù)D可以增加系統(tǒng)阻尼使得系統(tǒng)可以盡可能降低震蕩,保證姿態(tài)角的穩(wěn)定性。對于外環(huán)的PID調(diào)節(jié)與內(nèi)環(huán)相比更為方便些,在內(nèi)環(huán)控制基本穩(wěn)定的情況下,可以在穩(wěn)定的輸出下適當(dāng)調(diào)節(jié)即可。表1為姿態(tài)平衡時(shí)橫滾角度/角速度PID參數(shù)。
表1 姿態(tài)平衡時(shí)橫滾角度/角速度PID參數(shù)
(2)仿真結(jié)果分析
單環(huán)PID橫滾角仿真如圖5所示,以單環(huán)PID為基礎(chǔ),采用串級雙環(huán)PID控制系統(tǒng)進(jìn)行仿真,如圖6所示。
從橫滾角在單環(huán)PID和串級PID的控制仿真示意圖中可以明顯看出,在基于階躍信號輸入的控制系統(tǒng),使用串級PID控制算法的四旋翼飛行器響應(yīng)速度較于單環(huán)PID更為快速,大概在0.2s左右并且系統(tǒng)幾乎沒有超調(diào)現(xiàn)象的出現(xiàn)。
四旋翼飛行器在飛行的時(shí)候可能會遇到各種復(fù)雜的干擾狀況,我們從圖5可以得出結(jié)論:系統(tǒng)在0.5s左右可以恢復(fù)到穩(wěn)定狀態(tài)。本文在基于STM32的四旋翼飛行器的串級PID控制上,不僅對串級PID和傳統(tǒng)PID控制方法進(jìn)行了對比驗(yàn)證,并且加入抗干擾性能的實(shí)驗(yàn)分析,在t=0s,t=3s的時(shí)候依此加入干擾信號,對系統(tǒng)在一次擾動及二次擾動的情況下的結(jié)果進(jìn)行觀察,以橫滾角為例。
橫滾角抗干擾仿真示意圖如圖7所示??梢钥闯鲈诖塒ID控制系統(tǒng)下,分別從t=0s,t=3s時(shí)加入干擾信號,系統(tǒng)能夠快速的在0.2s內(nèi)恢復(fù)穩(wěn)定性,說明了串級PID控制系統(tǒng)能夠使得基于STM32的四旋翼飛行器有較好的抗干擾能力,可以很好地處理飛行過程中的旋翼干擾,也再次證明了串級控制的優(yōu)勢。
本文基于STM32為控制核心的四旋翼飛行器,針對四旋翼在旋翼干擾下的姿態(tài)控制問題進(jìn)行了分析。通過分析飛行器的飛行原理建立了四旋翼飛行器的控制數(shù)學(xué)模型,并且設(shè)計(jì)以STM32為主控制器的主控模塊,數(shù)據(jù)采集模塊包括慣性測量元器件MPU6050等傳感器,電機(jī)驅(qū)動等模塊保證了該平臺的性能;基于傳統(tǒng)PID的基礎(chǔ)上改進(jìn)實(shí)現(xiàn)了四旋翼飛行的串級PID控制,通過MATLAB/Simulink進(jìn)行仿真對比,驗(yàn)證了串級控制對于飛行姿態(tài)的控制更有優(yōu)越性,并且在結(jié)果的基礎(chǔ)上加入了抗干擾性能的仿真,加入擾動后的結(jié)果均十分有效的驗(yàn)證了串級PID控制有較好的抗干擾性能,達(dá)到良好的飛行姿態(tài)控制效果。