李 威,邱 霞,徐德利
(湖北理工學院 電氣與電子信息工程學院,湖北 黃石 435003)
四軸飛行器因具有飛行性能良好、造價低的優(yōu)點,被廣泛應用于地質(zhì)測繪、無人航拍等領域。四軸飛行器以PID控制算法為主,但PID參數(shù)的調(diào)節(jié)易受環(huán)境影響,遠不能滿足不同行業(yè)的差異化需求[1]。例如:在PID參數(shù)保持不變的情況下,當掛載重量為100 g時,飛行器飛行穩(wěn)定;當掛載重量為200 g時,飛行輕微不穩(wěn)定;當掛載重量為300 g時,飛行極其不穩(wěn)定。因此,需要重新調(diào)整PID參數(shù),以適應不同的載重需求,確保飛行器穩(wěn)定飛行。
針對以上問題,提出了一種自適應的四軸飛行器單雙環(huán)并行調(diào)節(jié)的PID控制算法,具有成本低、實時性強、數(shù)據(jù)處理率高的優(yōu)點。
四軸飛行器實物圖如圖1所示,主要由機體、電機、集成電路板和遙控器4個部分組成。電機包括4個無刷電機,分別固定于機體的4個角部上,電機輸出軸上均安裝有螺旋槳葉片,對角的螺旋槳葉片旋轉(zhuǎn)方向一致,相鄰的旋轉(zhuǎn)方向不同。集成電路板上的集成飛行控制系統(tǒng)固定在機體上,包括三軸陀螺儀、三軸加速度傳感器、數(shù)字氣壓傳感器、GPS定位模塊、超聲波模塊、無線模塊和電子調(diào)速器。遙控器通過無線模塊與飛行控制系統(tǒng)實現(xiàn)通信連接。
圖1 四軸飛行器實物圖
四軸飛行器通過MPU6050傳感器獲取飛行器的姿態(tài)數(shù)值[2],由無線接收機獲取遙控指令,經(jīng)主控芯片進行數(shù)據(jù)處理并輸出PWM波控制電機轉(zhuǎn)動實現(xiàn)飛行[3-4]。在飛行過程中通過實時改變4個電機的轉(zhuǎn)速配比,實現(xiàn)四軸飛行器上升、下降、懸停及向前、向后、向左、向右等不同姿態(tài)的飛行。
傳感器在使用過程中會受到各種因素的干擾,從而導致經(jīng)PID控制算法處理后的輸出數(shù)據(jù)發(fā)生突變,所以傳感器的輸入數(shù)據(jù)必須保證平滑。因此,采用限幅濾波與低通濾波相結(jié)合的濾波方式來消除干擾。
PID控制算法的實質(zhì)是根據(jù)輸入的偏差值,按照比例、積分、微分的函數(shù)關系進行運算,運算結(jié)果用以控制輸出[5]。PID控制算法公式如下:
Y=P×e(k)+I×∑e(k)+D×[e(k)-e(k-1)]
(1)
式(1)中,e()為目標姿態(tài)與實際測量姿態(tài)之差;k為PID控制次數(shù);Y為PID輸出;P為比例調(diào)節(jié)參數(shù),對偏差做出即時反應,即偏差一旦產(chǎn)生,調(diào)節(jié)器立即產(chǎn)生控制作用使被控量朝著減小偏差的方向變化,控制作用的強弱取決于比例系數(shù)的大??;I為積分調(diào)節(jié)參數(shù),只要偏差不為零,輸出就會隨時間不斷變化,以減小偏差,直到消除偏差,不再起控制作用,系統(tǒng)達到穩(wěn)態(tài);D為微分調(diào)節(jié)參數(shù),調(diào)節(jié)偏差變化快慢,變化越快,反對作用越強,微分作用有助于減小超調(diào),抑制振蕩,讓系統(tǒng)趨于穩(wěn)定。
四軸飛行器的控制算法采用單環(huán)PID控制算法與雙環(huán)PID控制算法2種方案。
2.2.1單環(huán)PID控制算法
只對四軸飛行器進行角度測量,構(gòu)建單環(huán)PID控制算法,其輸入為X,Y,Z三軸的角度,輸出為控制4個電機轉(zhuǎn)速的4路PWM波。單環(huán)PID控制示意圖如圖2所示。其中,θ(x,y,z)為期望角度;θ(x,y,z)measure為測量角度;y為輸出4路PWM波;e(k)為第k次期望角度與測量角度之差。PID控制調(diào)節(jié)理想波形如圖3所示。
圖2 單環(huán)PID控制示意圖
圖3 PID控制調(diào)節(jié)理想波形圖
通過將反饋回來的姿態(tài)角度與姿態(tài)期望角度進行對比,以修正四軸飛行器的飛行姿態(tài)期望角度,實現(xiàn)平穩(wěn)飛行。通過調(diào)節(jié)PID控制參數(shù),進行飛行測試并記錄實驗數(shù)據(jù)。單環(huán)PID控制算法的參數(shù)較優(yōu)值與飛行效果見表1。
表1 單環(huán)PID控制算法的參數(shù)較優(yōu)值與飛行效果
由表1可知,采用單環(huán)PID控制算法在對四軸飛行器進行飛行姿態(tài)調(diào)節(jié)時存在2個問題。
1)即使采用最優(yōu)PID參數(shù),其實際飛行效果仍然不佳。
2)飛行器飛行效果對PID參數(shù)極為敏感,僅參數(shù)P值波動±8.3%時,飛行效果就相差極大。
2.2.2雙環(huán)PID控制算法
雙環(huán)PID控制示意圖如圖4所示,分為角度PD環(huán)和角速度PID環(huán)。角度PD環(huán)的輸出作為角速度PID環(huán)的期望輸入[6]。其中,θ0(k)為三軸期望角度;θ(k)為三軸反饋角度;ω0(k)為三軸期望角速度;ω(k)為三軸反饋角速度;k為PID調(diào)節(jié)次數(shù);輸出為4路PWM波。實際測試的雙環(huán)PID控制算法的參數(shù)較優(yōu)值范圍見表2。
圖4 雙環(huán)PID控制示意圖
表2 雙環(huán)PID控制算法的參數(shù)較優(yōu)值范圍
注:表中百分比范圍是相對于上述飛行效果最優(yōu)時對應環(huán)的PID參數(shù)而言,且每次僅改變1個參數(shù),其他參數(shù)仍為最優(yōu)值。
采用雙環(huán)PID控制算法時,四軸飛行器在飛行過程中十分平穩(wěn),即使沒有進行定高飛行,飛行器依舊能懸??罩小T谇?、后、左、右控制過程中,飛行器反應靈敏,同時在停止方向控制后經(jīng)過較短時間,飛行器也會懸停。
2.2.32種控制算法的對比分析
從飛行效果上看,方案1(單環(huán)PID控制)的預期飛行效果是在發(fā)生姿態(tài)偏離正常穩(wěn)定飛行狀態(tài)時,飛行器能夠快速進行姿態(tài)修正,保持平穩(wěn)的飛行狀態(tài)。但實際情況是即使在最優(yōu)PID參數(shù)下,其飛行姿態(tài)也只能勉強朝一個方向傾斜,無法保持平穩(wěn)的飛行狀態(tài)。而方案2(雙環(huán)PID控制)不僅做到了平穩(wěn)起降、易于控制,且在空氣氣流穩(wěn)定時能夠?qū)崿F(xiàn)空中懸停,飛行效果遠優(yōu)于方案1。
從參數(shù)較優(yōu)值范圍上看,在方案1中僅參數(shù)P值變化了±8.3%時,飛行器就已經(jīng)無法正常飛行,而方案2中最小的參數(shù)變化范圍為±13.7%,此時飛行器仍能平穩(wěn)飛行,方案2的參數(shù)較優(yōu)值范圍遠大于方案1。
通過對比分析可以發(fā)現(xiàn),單環(huán)PID控制算法的參數(shù)調(diào)節(jié)不夠迅速,只有當飛行器傾斜到一定角度時,飛行器才能作出反應;當飛行器傾斜角度較小時,調(diào)節(jié)無力,傾斜角度較大時反應過激,飛行不穩(wěn)。而雙環(huán)PID控制算法以角度調(diào)節(jié)作為外環(huán),角速度調(diào)節(jié)作為內(nèi)環(huán),外環(huán)的角度輸出作為內(nèi)環(huán)角速度的期望輸入。例如:當飛行器朝X軸正方向傾斜,經(jīng)過角度環(huán)PD控制器調(diào)節(jié),其輸出的角速度期望為X軸負方向,使已經(jīng)朝X軸正方向傾斜的飛行器具有X軸負方向的角速度,以解決飛行器飛行狀態(tài)調(diào)節(jié)不夠迅速的問題,確保飛行器能穩(wěn)定飛行。
控制算法的控制效果是由算法結(jié)構(gòu)決定的,并非由單純的PID參數(shù)決定,因此控制算法設計的核心是算法結(jié)構(gòu)的設計。
算法結(jié)構(gòu)的調(diào)整可以解決同一算法體系的適用性問題。要實現(xiàn)飛行器在掛載不同重物時依舊能穩(wěn)定飛行的目標,可以通過優(yōu)化算法結(jié)構(gòu)完成。
2.3.1實驗驗證
選擇風洞作為實驗對象,進行驗證性實驗。自制簡易風洞結(jié)構(gòu)[7]由超聲波測距傳感器、透明圓筒、乒乓球、連接部和風機5個部分組成。風洞結(jié)構(gòu)示意圖如圖5所示。
圖5 風洞結(jié)構(gòu)示意圖
通過超聲波測距實時反饋數(shù)據(jù),單片機發(fā)出PWM波控制電機轉(zhuǎn)速來實現(xiàn)小球懸停在指定高度。在實驗過程中將乒乓球的懸停高度類比于飛行器的不同載重,PID參數(shù)的取值范圍類比于系統(tǒng)對不同環(huán)境的適應能力,對同一硬件系統(tǒng)設計2種控制算法進行測試。
控制算法1:采用普通單環(huán)PID控制算法結(jié)構(gòu)控制乒乓球懸停在圓筒中指定的位置高度。普通單環(huán)PID控制算法見公式(1)。
控制算法2:提出1種改進型的單雙環(huán)PID控制算法,控制乒乓球懸停在圓筒中指定的位置高度。改進型單雙環(huán)PID控制算法見公式(2)。
(2)
在式(2)中,比例調(diào)節(jié)和積分調(diào)節(jié)的調(diào)節(jié)強度均隨期望誤差e(k)的變化而變化,有利于減小調(diào)節(jié)波動,突出比例調(diào)節(jié)和積分調(diào)節(jié)各自的特點,其中比例調(diào)節(jié)有利于使控制指標快速達到期望值附近,但不利于最大程度上消除期望誤差e(k);積分調(diào)節(jié)有利于最大程度上消除期望誤差e(k),但不能使控制指標快速達到期望值,且在期望誤差e(k)較大時,極易過調(diào)。
2種PID控制算法的調(diào)節(jié)波形圖如圖6所示。由圖6可以發(fā)現(xiàn),在最優(yōu)參數(shù)條件下,改進型單雙環(huán)PID控制算法相比于普通單環(huán)PID控制算法而言,調(diào)節(jié)時間更短,波動更小,由此再次驗證了算法結(jié)構(gòu)對控制效果的影響顯著。改變目標高度,再次進行實驗。目標高度改變時,2種PID控制算法調(diào)節(jié)情況見表3。
圖6 2種PID控制算法的調(diào)節(jié)波形圖
表3 目標高度改變時2種PID控制算法調(diào)節(jié)情況
注:實驗數(shù)據(jù)均為多次測量取平均值。
根據(jù)表3中數(shù)據(jù),可以得出以下結(jié)論。
1)改進型單雙環(huán)PID控制算法調(diào)節(jié)過渡時間少于普通單環(huán)PID控制算法。
2)隨目標高度變化,PID調(diào)節(jié)的過渡時間均有所變化,但改進型單雙環(huán)PID控制算法的調(diào)節(jié)過渡時間及波動超調(diào)量均小于普通單環(huán)PID控制算法。
3)在小球高度最低和最高時,調(diào)節(jié)過渡時間明顯大于中間位置,且在中間位置高度較低時,調(diào)節(jié)過渡時間最短。
取目標高度為20 cm,在保證調(diào)節(jié)過渡時間不超過4 s的前提下不斷地改變PID參數(shù)進行實驗,2種PID控制算法的參數(shù)較優(yōu)值范圍見表4。
表4 2種PID控制算法的參數(shù)較優(yōu)值范圍
注:表中百分比范圍是相對于上述飛行效果最優(yōu)時對應環(huán)的PID參數(shù)而言,且每次僅改變1個參數(shù),其他參數(shù)仍為最優(yōu)值。
由表4中的數(shù)據(jù)可以發(fā)現(xiàn),改進型單雙環(huán)PID控制算法的參數(shù)較優(yōu)值范圍比普通單環(huán)PID控制算法的要大。這說明在不同的環(huán)境中,改進型單雙環(huán)PID控制算法的適應性更強。
2.3.2結(jié)構(gòu)優(yōu)化
針對四軸飛行器的飛行特點,設計一種單雙環(huán)并行調(diào)節(jié)的PID控制算法。該控制算法在飛行器的X,Y軸采用雙環(huán)PID控制算法,Z軸采用單環(huán)PID調(diào)節(jié)。同時,將式(2)中的改進型單雙環(huán)PID控制算法用于四軸飛行器X,Y軸的內(nèi)環(huán)調(diào)節(jié)中,其外環(huán)為PD結(jié)構(gòu)不變。單雙環(huán)并行調(diào)節(jié)的PID控制算法的參數(shù)較優(yōu)值范圍見表5。在參數(shù)較優(yōu)值范圍內(nèi),飛行器飛行十分平穩(wěn),在前、后、左、右控制過程中,飛行器反應靈敏。
表5 單雙環(huán)并行調(diào)節(jié)的PID控制算法的參數(shù)較優(yōu)值范圍
注:表中百分比范圍是相對于上述飛行效果最優(yōu)時對應環(huán)的PID參數(shù)而言,且每次僅改變1個參數(shù),其他參數(shù)仍為最優(yōu)值。
在參數(shù)最優(yōu)值的條件下進行四軸飛行器的載重實驗。載重實驗結(jié)果見表6。
由表6可以看出,當采用單雙環(huán)并行調(diào)節(jié)的PID控制算法時,四軸飛行器基本上均能保持穩(wěn)定飛行,可以適應不同的載重需求。這說明改進PID的算法結(jié)構(gòu)可以大大提高控制效果,增強PID控制的穩(wěn)定性。
提出了一種自適應的四軸飛行器PID控制算法。該算法集各姿態(tài)控制器為一體,采用單雙環(huán)并行調(diào)節(jié)的PID控制算法,結(jié)構(gòu)簡單,所需數(shù)據(jù)少。與傳統(tǒng)的使用MPU6050、電子羅盤等多種模塊的四旋翼飛行器相比,該控制系統(tǒng)僅使用MPU6050模塊,在保障抗干擾能力和恢復平衡速度相同的情況下,成本更加低廉。同時,該算法使用限幅濾波與低通濾波相結(jié)合的濾波方式,提高了數(shù)據(jù)的實時性和數(shù)據(jù)處理的效率。