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