北京信息科技大學傳感器重點實驗室,北京 100101
四旋翼飛行器是一種具有強耦合性、六自由度的欠驅動系統。同時,四旋翼飛行器的構造特點造成了其易于受外界干擾與自身擾動影響的特點,這樣也增加了控制上的難度,因此對于四旋翼飛行器控制系統的算法要求也逐漸提高。
STM32出自于ST公司,該款嵌入式處理器具備ARM Cortex-M3內核,其不僅有著超低的功耗表現,還具有更快的速度響應,同時還可以在不同種傳感器之間保持信息通訊。所以基于STM32的飛行控制系統有著資源有效利用、減少開發成本的優勢。
目前常用的控制算法主要還是PID控制算法,同時也還有反演控制和滑膜控制方法,但是反演控制方法的懸停效果控制能力比較差,而滑膜控制法的缺點是在飛行過程中會發生控制結構的變化,導致一定的高頻擾動而使得控制效果變差。傳統的PID算法不具備較好的抗干擾能力。
本文嘗試通過一種基于傳統PID改進的串級PID控制系統,通過MATLAB/Simulink仿真環境,整定參數對四旋翼飛行器姿態逐步進行優化控制。
四旋翼飛行器主要是由四軸機架、螺旋槳、無刷電機、飛控板、起落架、電源、遙控接收機、無刷ESC等部分來組成[1]。呈十字交叉形狀的四軸機架,四個螺旋槳都處在統一高度平面,十字交叉的頂端分別安裝同型號的兩對正反螺旋槳和電機,支架中心安裝飛行控制計算機和外部設備。飛控板、機載傳感器和電池等安裝在無人機的中間位置。
如圖1所示,四旋翼無人機的姿態調整都是由四個電機決定的,通過增減了兩側各兩個電機的轉速,才可以實現四軸的四向偏轉,從而再向四個方向運動。也通過增減對角線方向兩組各兩個電機的轉速,可以實現四軸的順時針、逆時針轉向。將四旋翼無人機的運動狀態分類,基本包括:前后、側向、滾轉、俯仰、偏航、垂直運動[2]。
對于飛行器的飛行位置及狀態的確定,一般是取用慣性和物體坐標系。如圖2所示,前者坐標系的原點是選用地球的中心,選用的慣性坐標系和物體坐標系分別表示為E(OXYZ)、B(oxyz)[3]。
通過研究飛行器的運動狀態,可以將其運動狀態概括為旋轉、平移運動方式的組合。[x, y, z]表示的是以地面為參考系,四旋翼飛行器質心的具體位置。 [φ,θ,ψ]則是表示[4]物體坐標系與坐標軸之間的夾角,而其繞著三個軸的角速度則是可以用陀螺儀來得到。將三者之間的關系表示為:



通過物理學知識對四旋翼飛行器受力進行分析,如圖2所示,主要分為四旋翼飛行器本身的重力G、無人機在飛行過程中所受的空氣阻力f、飛行器旋翼產生的升力F。


其中,φ—橫滾角;
θ—俯仰角;
ψ—偏航角;
m—無人機質量;
L—電機轉動中心距機體中心的距離;
U1—垂直速度控制量(總升力);
U2—橫滾力矩;
U3—俯仰力矩;
U4—偏航力矩增量;
Ix、Iy、Iz—電機在x、y、z軸產生的轉動慣量。
四旋翼無人機的飛行控制系統一般是以微控制器為核心,集成各種機載傳感器、動力驅動系統,同時統一的調用、合理的分配系統資源,保證每一個環節相互都可以起到作用,加強對四旋翼飛行器的控制。飛控系統總體框圖如圖3所示。

在整個飛控系統中,主要用到的傳感器有:加速度計、陀螺儀、氣壓高度計、磁航向計、超聲波傳感器等。而捷聯慣導系統[7]就是由三軸加速度計與角速率陀螺儀共同組成的。飛行器控制器通過處理MEMS慣性器件和傳感器采集的數據,與相關的控制律相結合[8],得到合適的控制信號,可以有效的對四旋翼飛行器的飛行姿態進行控制。
由于四旋翼飛行器的結構特點以及飛控系統的復雜程度,對于控制系統的執行速度要求是一定要特別快,而主控制器作為核心部件,其選型直接關系到飛控系統執行速度的快慢,故選擇出自ARM公司設計的STM32微控制器。STM32F103RET6較于普通單片機功能強大,接口更為豐富。
ST公司出品的STM32F系列,工作頻率最高能達到72MHz;STM32F103RET6芯片在程序存儲器方面表現達到512K,64K的RAM存儲空間;2.0V~3.6V供電和I/O引腳;低功耗體現在Vbat能夠給寄存器供電,擁有睡眠、停機待機模式;2個12位模數轉換器;2個DMA控制器,支持定時器、SPI、I2C、UART、ADC等外設。
通過慣性測量元器件MPU-6050來測量加速度和角速度,MPU-6050是擁有3軸加速度計和3軸陀螺儀的組合傳感器,無論是陀螺儀還是加速度計,它們可測量的精確范圍完全可以通過對實際應用的研究來進行適度的調整,另外400kHz的I2C接口被采用來進行與設備寄存器通信。
四旋翼飛行器的氣壓計選用MEAS(美國)推出的MS5611。該氣壓傳感器分辨率能夠達到10cm,高分辨率的溫度輸出無需別的傳感器就能實現溫度、高度計功能;通過I2C接口可以連接大部分微控制器。
在飛行過程中,由于要求精確的控制方向,雖然有很多方法測量方向,但是參考地磁獲取方位角的數據來進行精確的方向控制是最為方便的。霍尼韋爾HMC58883L是弱磁傳感器芯片,表面[1]貼裝高集成度、帶有I2C接口。其集成電路具備霍尼韋爾專利,具備毫高斯至8高斯的測量范圍。
四旋翼飛行器的驅動通過4個ST2210無刷直流電機來進行支持,同時選用ST20A電調,支持3.3V與5V電平,STM32通過配置GPIO,利用PPM信號輸出,0%~100%油門與其1ms~2ms脈寬互相對應,從而電調能夠控制電機轉速。
串級控制結構中含有兩個回路,內回路是在控制過程中負責粗調,外回路則是完成細調;姿態控制在整個控制系統中是最為重要的也是最為困難的一個環節,因為當四旋翼飛行器在空中飛行的時候,會存在各種各樣不確定的干擾,設定外界有干擾的情況下,姿態采集傳感器中的加速度計還有陀螺儀采集到的數據會發生失真,無法準確地推算出歐拉姿態角。

本文在傳統PID的基礎上采用雙環PID控制系統,內環采用的是角速度PID控制器,而外環采用的是角度PID控制器[9]。相比于單環的角度PID控制器,四旋翼飛行器很難在復雜環境中保持一定的穩定性,新加入的內環角速度PID控制器可以提高旋翼的抗干擾能力。如圖4所示。
對于推導得到的四旋翼無人機非線性模型,引入控制量通過LPV法將四旋翼無人機的動力學模型轉化為狀態空間表達式[10]。根據標準的四旋翼無人機參數,我們可以得到各通道的傳遞函數,姿態角也根據傳感器采集的數據進行姿態解算[11]后可以根據建立好的控制系統模型,在MATLAB中的Simulink搭建系統的仿真模型進行實驗驗證。以橫滾角為例,分別對單環PID和串級PID進行仿真對比。
(1)PID調參
基于串級PID控制對PID進行調參,因為內外環相互各自獨立,首先是對內環進行參數整定,再對外環進行調參。內環角速度PID調節過程中,適當增大比例系數P,從而可以加快系統回復的快速性能,但是過大會導致系統的震蕩;積分項參數I可以減小系統的穩態誤差,但是系統輸出震蕩的效果與I成正比,I越大震蕩越明顯;微分參數D可以增加系統阻尼使得系統可以盡可能降低震蕩,保證姿態角的穩定性。對于外環的PID調節與內環相比更為方便些,在內環控制基本穩定的情況下,可以在穩定的輸出下適當調節即可。表1為姿態平衡時橫滾角度/角速度PID參數。

表1 姿態平衡時橫滾角度/角速度PID參數
(2)仿真結果分析
單環PID橫滾角仿真如圖5所示,以單環PID為基礎,采用串級雙環PID控制系統進行仿真,如圖6所示。
從橫滾角在單環PID和串級PID的控制仿真示意圖中可以明顯看出,在基于階躍信號輸入的控制系統,使用串級PID控制算法的四旋翼飛行器響應速度較于單環PID更為快速,大概在0.2s左右并且系統幾乎沒有超調現象的出現。
四旋翼飛行器在飛行的時候可能會遇到各種復雜的干擾狀況,我們從圖5可以得出結論:系統在0.5s左右可以恢復到穩定狀態。本文在基于STM32的四旋翼飛行器的串級PID控制上,不僅對串級PID和傳統PID控制方法進行了對比驗證,并且加入抗干擾性能的實驗分析,在t=0s,t=3s的時候依此加入干擾信號,對系統在一次擾動及二次擾動的情況下的結果進行觀察,以橫滾角為例。



橫滾角抗干擾仿真示意圖如圖7所示。可以看出在串級PID控制系統下,分別從t=0s,t=3s時加入干擾信號,系統能夠快速的在0.2s內恢復穩定性,說明了串級PID控制系統能夠使得基于STM32的四旋翼飛行器有較好的抗干擾能力,可以很好地處理飛行過程中的旋翼干擾,也再次證明了串級控制的優勢。
本文基于STM32為控制核心的四旋翼飛行器,針對四旋翼在旋翼干擾下的姿態控制問題進行了分析。通過分析飛行器的飛行原理建立了四旋翼飛行器的控制數學模型,并且設計以STM32為主控制器的主控模塊,數據采集模塊包括慣性測量元器件MPU6050等傳感器,電機驅動等模塊保證了該平臺的性能;基于傳統PID的基礎上改進實現了四旋翼飛行的串級PID控制,通過MATLAB/Simulink進行仿真對比,驗證了串級控制對于飛行姿態的控制更有優越性,并且在結果的基礎上加入了抗干擾性能的仿真,加入擾動后的結果均十分有效的驗證了串級PID控制有較好的抗干擾性能,達到良好的飛行姿態控制效果。