羅明達,鄧繼忠,霍靜朗,張建瓴,葉家杭,雷落成,張子超
(1.華南農業大學 工程學院,廣州 510642;2.國家精準農業航空施藥技術國際聯合研究中心,廣州 510642)
農業航空精準作業是一項綜合系統工程[1-4],而現階段植保無人機在噴霧系統控制方面的研究相對較少[5-6]。近年來,隨著植保無人機的快速發展及推廣應用,國內研究機構陸續開展了植保無人機噴霧控制方面的研究。王玲[7]等設計了一款以PWM調制控制輸出的無人機低空變量噴霧系統。王大帥等[8]設計了一種植保無人機動態變量施藥系統,控制精度符合預期,但沒有完全解決由于飛行速度變化導致的施藥不均勻現象。岑振釗等[9]研發了一種基于神經網絡PID的變量噴霧系統,試驗表明:系統響應與設定值平均偏差為8.43%,為變量噴霧控制算法研究提供了參考。Wen[10]等進行了神經網絡PID控制算法在植保無人機精準對靶施藥方面的研究,發現噴霧系統從處方值信息變化到調整響應的調節時間控制在0.25s。劉洋洋等[11]提出了一種多信息融合的無人機變量施藥的分級算法,可根據飛行參數變化自動調節施藥流量,誤差控制在10%內。
由上述研究可知:目前噴霧變量控制研究主要側重于變量功能的實現,在噴霧流量隨飛行速度變化自適應調整的精準控制方面仍有優化空間。為提升現有植保無人機噴霧流量隨飛行速度變化自適應調整的精準性,降低施藥偏差,筆者分析了PID與模糊PID控制方式的特點,并在結合兩者優點、優化兩者算法基礎上,設計了一種基于復合模糊PID控制算法的植保無人機變量噴霧系統,進一步優化植保無人機噴霧現有控制系統響應的時效性、穩定性與精確性。根據植保無人機的飛行速度,通過控制算法調制PWM輸出,實時調整變量噴霧系統噴霧流量,為精確施藥提供可靠支持。
變量噴霧系統主要由傳感器模塊、通信模塊、噴霧輸出模塊以及配套的輔助功能模塊組成,如圖1所示。其中,STM32F407VET6單片機為系統處理器,主工作頻率為168MHz,FLASH與RAM空間大小分別為512KB和192KB,滿足現階段主流控制算法如PID算法的計算要求;RTK(Real Time Kinematic)模塊采用厘米級G-RTK實時定位定向系統,用于傳輸定位、飛行速度等信息;無線通信功能通過ATK-LORA-02低功耗通訊模塊實現;傳感器模塊包含流量傳感器與電機測速傳感器。流量傳感器型號為YF-S401,工作電壓范圍4.5~24V,測量范圍為0.5~5.0L/min;隔膜泵的電機測速傳感器采用AB相電機編碼器,工作電壓5V,嵌合STM32系列單片機的編碼器計數模式,可顯著降低檢測誤差;電機驅動模塊采用EG2104S模塊,系統采用雙驅動模塊,可分別獨立驅動兩個隔膜泵,控制PWM輸出;隔膜泵型號為DP-521,額定電壓為12V,額定功率為24W,最大壓力為0.48MPa,可通過PWM調制控制輸出功率;噴頭為配套的壓力式噴頭。

圖1 變量噴霧系統原理框圖Fig.1 Principle diagram of variable spray system
系統具體工作流程如下:單片機根據接收的施藥任務與飛行速度參數推算PWM輸出占空比,通過控制隔膜泵輸出功率實現變量噴霧;通過傳感器監測的數據,單片機實時比較目標流量與輸出流量,并使用復合模糊PID控制算法校正偏差,實現噴霧流量精確控制。
PID控制算法作為模糊PID控制算法的二次控制環節,同時作為本文設計算法的末端控制器,在控制算法的設計中具有十分重要的作用。傳統PID控制規律表達式及其傳遞函數表達式[12]分別為
(1)
(2)
其中,Kp為PID的比例系數,影響系統響應的速度與靜差;Ki為積分系數,影響系統響應的靜差與超調量;Kd為微分系數,影響系統響應的速度與超調量。因此,PID參數的整定需要考慮三者對控制系統的響應性能影響。PID是現階段控制執行機構采用最廣泛的控制算法,可快速響應,使系統輸出達到設定值允許的誤差范圍內,但其控制效果較大程度上依賴操作人員的經驗[13]。本文闡述用以設計參照的控制系統均采用增量式PID控制算法,它是根據系統當前時刻控制量和上一時刻控制量的差值進行遞推計算的誤差校正算法,即
Δu(k)=Kp[e(k)-e(k-1)]+Kie(k)+
Kd[e(k)-2e(k-1)+e(k-2)]
(3)
根據PID參數特性,以水泵電機轉速設定值與實際值的差值為偏差e,通過大量參數整定試驗,確定Kp、Ki、Kd的參數分別為4、1.5、0.15時,基于PID控制的系統仿真階躍響應調節時間較小,約為0.07s,如圖2所示。系統響應無穩態誤差,但超調量顯著,約為33.3%。

圖2 PID階躍響應曲線Fig.2 Step response curve of PID
模糊PID控制器由模糊控制器及PID控制器結合而成,以誤差e和誤差變化率ec為模糊控制器的精確量輸入并作模糊化處理;同時,依據模糊控制規則推算出對應的模糊量,解模糊推算整合輸出結果作為PID控制器的增量參數ΔKp、ΔKi、ΔKd,與原始整定參數Kp0、Ki0、Kd0相加為最終的PID控制器整定參數,即Kp、Ki與Kd。
本文模糊PID算法中的模糊控制器輸入值,即為e與ec分別為水泵電機轉速偏差與偏差變化率;所構建PID控制器的原始整定參數(即Kp0、Ki0、Kd0與2.1小節中PID控制器的整定參數相同;構建的模糊控制器輸入輸出隸屬函數模型采用的函數相同,分別為trimf和gaussmf兩種函數,如圖3所示。但是論域不同,E、EC、ΔKp、ΔKi,ΔKd論域分別為[-5,5],[-5,5],[-3,3],[-1,1],[-0.1,0.1],模糊集合均為{NB,NM,NS,ZE,PS,PM,PB}。制定的模糊規則如表1所示。

表1 ΔKp、ΔKi、ΔKd模糊規則表Table 1 Fuzzy rule table of ΔKp, ΔKi and ΔKd

圖3 隸屬函數Fig.3 Mmembership function
系統的控制規則庫是由若干條規則組成的,對每一條推理規則都可以得到相應的模糊關系,n條規則就有n個模糊關系。對系統的全部控制規則所對應的模糊關系進行并運算,可得總模糊關系矩陣R,即

(4)
其中,Rj表示表1控制規則中的第j條規則。
根據模糊推理規則[15],可得
Qij=(Ei·ECj)°R
(5)
其中,Qij為模糊推理輸出。
由此分別推算各模糊控制器輸入輸出關系,如圖4所示。


圖4 各模糊控制器輸入輸出關系Fig.4 Input output relationship of each fuzzy controller
模糊PID的增量式PID控制器輸入輸出離散化表達公式與式(3)相同,階段曲線如圖5所示。由圖5可知:與PID控制相比,基于模糊PID控制的系統仿真階躍響應無超調量,解決了PID控制方式下超調量顯著的缺陷;但調節時間較長,約為0.21s;系統響應無穩態誤差。

圖5 模糊PID階躍響應曲線Fig.5 Step response curve of fuzzy PID
由上述分析可知:PID控制存在超調量大的缺陷,模糊PID控制雖改善了PID控制存在的上述問題,但在響應速度方面仍有較大的優化空間。這主要是因為參數整定與控制規則制定較為依賴工程經驗,較難同時兼顧各個指標,導致了實際響應效果的不理想。本文在控制算法方面研究的主要目的是設計一種較大程度同時兼具PID控制及模糊PID控制方式優點、又改善其顯著缺陷的控制算法,故將PID與模糊PID結合,設計出復合模糊PID算法,優化了前二者的結構、降低開發難度的同時發揮良好的控制效果,一定程度上解決了PID與模糊PID參數整定與控制規則制定比較依賴工程經驗的難題。通過對水泵電機轉速設定值與實際值的偏差e進行絕對值化處理,即通過圖6中的|u|模塊生成偏差的絕對值|e|。當|e|高于設定的閾值時,使用PID算法控制;當|e|低于該閾值時,使用模糊PID算法控制,如此在偏差顯著情況下系統響應速度快,相較于模糊PID再次縮短了響應時間。同時,在系統響應偏差較小時,切換為模糊PID控制,控制了超調量,發揮了模糊PID控制的優勢。因此,將模糊PID控制與PID控制策略結合成一種新的復合控制策略,再次優化噴霧系統控制算法的總體性能。為此,通過大量調試確定復合模糊PID的算法切換閾值為電機轉速設定值的10%時系統響應效果最佳。其算法流程如圖7所示。

注:r為電機轉速設定,y為電機轉速實際值,e為設定值與實際值的偏差,ec為偏差變化率,|u|為絕對值化處理模塊 ,|e|為偏差絕對值。圖6 復合模糊PID算法框圖Fig.6 Block diagram of compound fuzzy PID algorithm

圖7 復合模糊PID算法流程Fig.7 Flow chart of compound fuzzy PID algorithm
通過搭建測試平臺,進行噴霧系統水泵電機轉速與對應流量關系公式的擬合試驗,以及變量噴霧系統控制算法響應速度、穩定性與精確性的對比試驗和飛行速度與噴霧流量響應曲線跟蹤試驗,以此驗證基于復合模糊PID控制的變量噴霧系統總體性能。噴霧系統測試平臺如圖8所示。

圖8 噴霧系統測試平臺Fig.8 Test platform for spray system
由于水泵電機轉速與噴霧流量密切相關,為適應不同功率輸出的電源,需得出精準噴霧流量對應的電機轉速,并根據這種關系調整電機轉速,從而實現對噴霧流量的精準控制。在此,進行了水泵電機轉速與對應流量關系公式的擬合試驗,即通過電機編碼器檢測水泵電機轉速(單位r/s)對應的噴霧流量,并根據所得數據擬合對應的電機轉速-流量公式。試驗發現,根據電機編碼器測量水泵電機轉速推算的噴霧流量比流量傳感器檢測的精度更高。因此,在試驗中以電機編碼器進行噴霧流量的檢測,以流量傳感器為輔助校驗工具。
在測試中發現電機轉速小于10r/s時水泵無法抽出連續的水流,故以電機每秒轉速區間[10,60]對應每1s量筒收集的流量體積來繪制水泵電機轉速對應的噴霧流量曲線,如圖9所示。

圖9 水泵電機轉速與實際噴霧流量關系Fig.9 Relationship between pump motor speed and actual spray flow rate
由圖9可知:水泵電機轉速與系統噴霧的流量體積不是線性關系,需要通過對數據進行擬合來求出二者的關系模型。由于水泵電機轉速在50r/s之后的噴霧流量變化已不明顯,且實際測試過程中水泵電機轉速在25r/s時噴霧噴頭才能達到穩定的霧化噴霧狀態,故以電機轉速在25~50r/s的響應數據為依據,對試驗數據進行擬合優化。
轉速區間在[25,50]的電機轉速對應實際噴霧流量的關系如圖10所示。通過線性回歸擬合方程,得出的電機轉速-流量公式為

圖10 電機轉速25-50r/s對應的實際噴霧流量Fig.10 Actual flow rate corresponding to motor speed of 25-50r/s
Qyout2=0.0282x+0.6059
(6)
其中,Qyout2為轉速區間在[25,50]單個水泵的實際噴霧流量(L/min);x為電機轉速(r/s)。曲線擬合效果良好,決定系數R2=0.9973,實際流量與理論值的精度誤差較低,最大誤差1.56%,可為系統噴霧流量的精度控制提供準確計算值支持。
測試搭載不同控制算法的噴霧系統響應的調節時間、超調量、進入穩定狀態后的動態誤差,將3種控制算法分別移植到基于STM32的系統中,算法移植后的程序最大占用STM32的ROM為34.25kB,占用率6.69%;RAM為10.87kB,占用率5.66%。因此,芯片選型滿足系統計算需求。
各控制算法下噴霧系統響應情況對比如圖11所示。由圖11中可知:PID響應速度最快,在0.175s內達到響應要求,超調量較大,達到17.19%;噴霧系統初期不穩定狀態較顯著,且響應達到穩定輸出后動態誤差較大,最大誤差達到4.688%;模糊PID無超調量,且響應達到穩定輸出后動態誤差相對PID顯著降低,最大動態誤差控制在3.125%內,但響應時間PID較長,達到了0.325s的響應時間范圍;復合優化模糊PID響應速度相對模糊PID得到顯著提高,調節時間縮短23.08%,控制在0.25s以內,符合植保無人機在高速作業條件下對施藥系統反應速度的要求,且超調量相對PID降低63.64%,僅為6.25%。其響應達到穩定輸出后的動態誤差與模糊PID相同,最大動態誤差均為3.125%,較大程度上兼具了PID及模糊PID的優勢特點,如表2所示。

表2 噴霧系統響應的主要性能指標Table 2 Main performance indicators of spray system response

圖11 各控制算法下噴霧系統響應情況對比Fig.11 Comparison of response of spray systems under different control algorithms
為驗證對比不同控制算法噴霧系統噴霧流量的精準性,基于3種控制算法下的噴霧系統,搜集并對比每種控制算法下系統的電機每秒轉速在區間[25,50]對應噴霧流量與理論值的偏差,如表3所示。

表3 水泵電機轉速對應的理論噴霧流量Table 3 Theoretical spray flow corresponding to pump motor speed
由表4可推算PID、模糊PID與復合模糊PID單位時間噴霧流量的平均偏差分別為2.67%、3.85%、1.90%。PID算法下,系統實際噴霧流量總體上大于理論值,最大偏差達到4.01%;模糊PID總體誤差與PID相比較大,且控制算法的響應速度較慢,水泵電機各轉速對應的實際噴霧流量均未能達到理論值水平,最大偏差為-4.75%;與前二者的控制方式相比較,復合模糊PID控制方式下的噴霧系統實際噴霧流量除了水泵電機轉速為25r/s時小于理論值、偏差為-3.70%外,其余轉速下的噴霧流量偏差在三者中均為最小,總體滿足植保無人機常規噴霧作業精準度的要求。

表4 單位時間內各控制算法響應情況Table 4 Response of each control algorithm in unit time
設定植保無人機作業速度在2.5~4m/s的區間變化,通過比例關系將無人機的飛行速度與變量噴霧系統的響應輸出對應起來,變量噴霧系統根據飛行速度變化,實時調整噴霧流量。同時,變量噴霧系統將作業數據實時傳回PC端,以此分析變量噴霧系統隨飛行速度實時調節噴霧的實際情況。
飛行速度對應的噴霧流量如圖12所示。由圖12可知:基于復合模糊PID的變量噴霧系統在實際測試中的飛行速度與噴霧流量呈現出正比的關系,最大執行偏差為6.23%,關聯程度較強。

圖12 飛行速度對應的噴霧流量Fig.12 Spray flow corresponding to flight speed
1)平臺測試表明:基于復合模糊PID的噴霧系統較模糊PID調節時間縮減23.08%,較PID超調量降低63.64%;穩態誤差與模糊PID相同,控制在3.125%內,小于PID的4.688%;設定水泵電機每秒轉速區間在[25,50]的情況下噴霧穩定性較好,實際噴霧流量與理論值偏差控制在3.33%以內,優于PID算法的4.27%及模糊PID算法的4.51%。
2)平臺測試中,測得基于復合模糊PID算法的變量噴霧系統隨飛行速度實時調整的實際噴霧流量與目標噴霧流量的最大執行偏差為6.23%,關聯程度較強。
3)研究結果表明:復合模糊PID算法較大程度具備PID響應速度快的優勢,同時改善了PID控制超調量顯著、模糊PID調節時間長等缺陷,在降低開發難度的同時發揮了良好的控制效果,一定程度上解決了PID與模糊PID參數整定與控制規則制定比較依賴工程經驗的難題。