朱子涵,李士軍,宮 鶴,劉 斌
(吉林農業大學 信息技術學院,長春 130118)
農作物生長發育過程中會受到一系列外部因素影響,包括病蟲及雜草危害。雜草會與農作物競爭養分、光照、水分及生長空間,且是農作物病害、蟲害的中間寄主,嚴重影響了農作物的產量和質量[1-3]。因此,及時有效地清理雜草對提高農作物的產量和質量具有重要意義。
傳統的噴藥除草方法通常會忽略雜草的空間分布差異性,采用相同的噴藥方式進行施藥除草,不僅浪費農藥,且造成了較為嚴重的環境生態污染[4-5]。鑒于模糊控制具有能適應被控對象非線性和動態性的優點,國內外不少學者開展了基于模糊控制的農作物噴藥研究工作[6-9]。例如,尹東富等[10]采用模糊控制算法構建棉田變量對靶噴藥除草系統,實現雜草的自動識別和對靶噴藥功能;邵陸壽等[11]利用單片機設計的模糊控制器,實現了變量施藥功能。然而,模糊控制卻存在穩態控制精度差、控制細膩度低等問題,尤其是在平衡點附近還存在控制盲區。
針對上述問題,設計了一套基于模糊-PID復合控制的變量噴藥除草系統。該系統利用機器視覺技術實現雜草密度信息采集,在綜合運用模糊控制和PID控制的基礎上,采用STM32微處理器控制電磁閥的開度以實現對雜草的變量噴藥功能。
本系統主要由雜草信息采集模塊和變量噴藥控制器兩大部分組成,如圖1所示。其中,雜草信息采集模塊包括攝像頭、A/D轉換器和DSP處理器,主要用于采集田間的雜草密度及位置信息;變量噴藥控制器包括STM32微處理器、電磁閥、噴頭、速度傳感器、流量傳感器和顯示屏,用于實現對雜草的變量噴藥功能。

圖1 系統結構框圖Fig.1 System structural diagram
系統工作時,首先由攝像頭采集田間圖像信息,再經DSP處理器進行相應的處理后,可獲得雜草密度、位置信息,再由DSP處理器通過RS232串口通信協議將采集的雜草信息傳輸至微處理器;微處理器根據雜草密度信息,通過模糊-PID復合控制器的推理、運算,控制電磁閥開閉完成變量噴藥除草。
田間雜草信息的采集通過機器視覺與圖像處理技術予以實現。首先,由OV5640攝像頭模塊獲取玉米田間圖像,經A/D轉換后被傳輸至DSP處理器,DSP處理器對采集的數據進行算法處理,并采用RS232串口通信方式將處理后得到的雜草密度和位置等信息發送到微處理器。
算法處理包括采用超綠模型特征對原始圖像進行灰度化處理,采用最大類間方差法對圖像背景進行分割,并根據雜草與玉米作物的不同外形特征進行識別,本文采用葉片長寬比和圓度作為雜草特征的判別。通過對比標定雜草在圖像中和實際田間中的坐標位置關系,確定雜草的確切位置。此外,算法還需根據噴頭的噴藥面積,對二值化后的圖像進行網格化處理,具體的網格劃分采用的是5行×5列的網格圖;之后,通過計算二值化圖像中雜草的面積和網格面積的比值來確定雜草密度。處理后的雜草信息采用4維數組表示,即網格標號(N)、雜草位置(X,Y)和雜草密度(D)。
在噴藥過程中,噴藥量需實時跟隨雜草密度不斷改變。本文以雜草密度及其變化率作為輸入量,以噴藥量為輸出量,設計了一個Mamdani型的雙輸入-單輸出模糊控制器。
為提高系統的動態響應,減少模糊推理的運算量,將雜草密度D覆蓋到5個模糊子集上,即密度很小(DVS)、密度小(DS)、密度適中(DM)、密度大(DB)和密度很大(DVB);將雜草密度變化率DC覆蓋到3個模糊子集上,即偏慢(PS)、正好(PZ)和偏快(PF);將噴藥量Q覆蓋到4個模糊子集上,即零噴量(QZ)、小噴量(QS)、中噴量(QM)和大噴量(QB)。選取D、DC和Q的論域分別為[0,1]、[-0.1,0.1]和[0,1]。兩個輸入量采用高斯型函數作為隸屬度函數,輸出量采用三角形作為隸屬度函數,如圖2所示。

(a) 雜草密度
根據除草噴藥專家經驗,確定如表1所示的15條模糊控制規則。

表1 模糊規則表Table 1 Rules of fuzzy control
設計中采用“取小-取大”合成運算法則計算總模糊蘊涵關系R,即
(1)
其中,Rj表示表1中15條規則中的一條。
根據模糊近似推理法則[12]得
Qij=(Di·DCj)°R
(2)
由此可計算出模糊控制器輸入與輸出之間的關系,如圖3所示。
電磁閥的開度與其控制電壓信號成比例。電磁閥工作原理:其開度由其內部的線性位置傳感器進行感應,然后反饋到差動放大器,形成反饋電壓;當控制電壓發生變化時,反饋電壓與控制電壓將形成電壓差,進而驅動直流電動機推動齒輪組和絲杠以轉動閥芯,從而改變管路的流通面積。忽略電動機的機械慣性和電磁慣性,則電磁閥閥門的動態響應過程可以近似地用比例環節和延時環節表示,其傳遞函數可簡化為
(3)

采用PID控制器對噴藥量進行控制時,其傳遞函數的一般表達式為[13]
(4)
其中,Kp、Ki和Kd分別PID控制器的比例系數、積分系數和微分系數。

圖3 模糊控制輸入輸出關系曲線Fig.3 Relationship curve of fuzzy control
結合式(3)和式(4),可得到PID控制器在MatLab/Simulink軟件中所對應的PID仿真模型,如圖4所示。當Kp、Ki和Kd的取值分別為1、25和0時,PID控制器具有良好的階躍響應,如圖5所示。

圖4 PID控制器仿真模型Fig.4 PID controller simulation model

圖5 PID控制器階躍響應曲線Fig.5 Step response curve of PID controller
鑒于模糊控制無法消除輸入偏差,而PID控制器卻具有使系統穩態誤差為零的優勢,采用復合設計思想,將模糊控制和PID控制相結合設計了模糊-PID復合控制器,其結構原理如圖6所示。圖6中,在模糊控制器和PID控制器之間設置了一個自動切換開關Switch。開關是通過比較偏差e與閾值ε(ε≥0)的大小來選擇控制方式的。當|e|大于閾值ε時,則認為系統動態過程明顯,此時采用模糊控制器,以發揮其超調量低、瞬態性能好的優勢;反之,當|e|小于閾值ε時,則視為系統趨于穩態,此時采用PID控制器,以獲取良好的穩態性能。如此,則可有效地彌補模糊控制器在平衡點附近出現盲區的缺陷,同時使系統既能獲得較高的穩態精度,又具有較好的動態性能。

圖6 模糊-PID復合控制器原理示意圖Fig.6 Fuzzy-PID composite controller diagram
圖7為模糊-PID復合控制器的Simulink仿真模型。圖7中ke、kec分別表示雜草密度及其變化率的量化因子,ku為噴藥輸出量的比例因子。
本系統主要包括雜草信息采集模塊和變量噴藥控制器兩部分。雜草信息采集模塊以DSP處理器為核心,其型號為TMS320DM642,工作主頻600MHz,運行速度可達4.8億/s條指令,滿足本文圖像采集及處理需求。變量噴藥控制器以STM32F103ZET6單片機作為核心微處理器,工作頻率可達72MHz,內部集成了512K字節可編程Flash及112個通用I/O口[14],滿足變量噴藥設計要求。圖8為變量噴藥控制器硬件原理圖。

圖7 模糊-PID復合控制器仿真模型Fig.7 Simulation model of fuzzy -PID controller

圖8 變量噴藥控制器硬件設計電路Fig.8 Hardware design circuit of variable spraying controller
圖8中,采用STM32單片機的USART1串行口作為與DSP處理器的通信口,以MAX232芯片作為TTL電平與RS-232電平的轉換芯片,并以J1(DB9針串口)作為與DSP處理器的通信物理連接口,從而實現田間雜草密度和位置信息的傳輸。設計中,使用的顯示屏為2.8寸的TFT LCD液晶屏,并以STM32單片機內置的FSMC模塊作為其驅動接口;為實時監測機具前進速度,采用型號為NJK-5002C的霍爾傳感器進行測速,傳感器的信號輸出口與STM32單片機的PE6通用I/O口相連。圖8中,P1~P3為電磁閥,均采用NPN型三極管作為開關驅動電路,分別由STM32單片機的通用I/O口PG6、PG7和PG8控制。
系統軟件設計流程如圖9所示。系統首先進行初始化設置,完成攝像頭、DSP時鐘、STM32系統時鐘和定時器等的初始化;接著,系統在STM32微處理器內存中利用多維數組完成模糊查詢表的存儲,從而使系統可根據雜草密度信息及時查詢到模糊控制器的輸出值,進而避免了模糊推理因計算量大而影響實時性的問題;之后,由DSP處理器啟動攝像頭采集田間雜草圖像并進行圖像處理,計算出不同位置的雜草密度信息,發送至STM32單片機;STM32單片機根據相關雜草信息與輸出反饋信息之間的偏差e決定運行相應的控制程序。當|e|大于閾值時,系統運行模糊控制器程序;反之,則運行PID控制程序。最后,STM32單片機根據模糊控制器或PID控制器的輸出結果生成相應的PWM信號用以控制電磁閥的開度,從而實現對靶變量噴藥功能。
其中,PID控制器程序的編寫依據為
(5)
其中,uk和△u分別表示噴藥輸出量、噴藥調整量,e(t)表示實際噴藥量與理論噴藥量之間的偏差。

圖9 系統軟件設計流程Fig.9 Software flow of system
在MatLab軟件環境中,根據上述仿真模型開展仿真試驗,并設置閾值ε=0.5,且設置ke=1,kec=0.1和ku=1。圖10為各仿真模型的階躍響應曲線。由圖10中可以看出:模糊控制明顯存在控制盲區,而模糊-PID復合控制具有良好階躍響應性能,能有效消除控制盲區,且不存在超調現象。
為分析模糊-PID復合控制器對雜草密度變化的響應情況,使雜草密度D按正弦曲線變化,分別對模糊控制器和復合控制器進行仿真試驗,結果如圖11所示。

(1) 模糊控制器階躍響應
由圖11可知:模糊控制器和模糊-PID復合控制器均可實現噴藥量隨雜草密度變化而實時變化的控制要求,但模糊控制由于存在控制盲區,其響應曲線具有一定的誤差,而模糊-PID復合控制卻能,有效地消除響應誤差。
2018年6月8日,在吉林農業大學試驗田開展田間試驗。試驗前,將攝像頭、控制盒、電磁閥和噴頭等分別安裝固定在型號為3PZW-600的自走式噴桿噴霧機機架上。試驗時,保持機具前進速度為2km/h, 試驗結果如表2所示。表2中理論噴藥量由雜草密度換算得到,實際噴藥量采用型號為LWGY 的渦輪流量傳感器測量所得。

表2 田間試驗結果Table 2 Field test results
試驗結果表明:在作業速度為2km/h、噴藥量在62.3~525.0kg/km2范圍內變化時,理論噴藥量與實際噴藥量的相對誤差為1.12%~4.46%。誤差產生的主要原因可能是因為電磁閥的動作滯后性所導致。
1) 設計了一套基于模糊-PID復合控制的變量噴藥除草控制系統,該系統利用機器視覺技術實現雜草密度、位置信息的采集,并在模糊控制的基礎上結合PID控制的優勢消除了模糊控制存在控制盲區的缺陷,實現了對靶變量噴藥除草功能。
2) 仿真試驗結果表明:模糊-PID復合控制器的階躍響應效果良好,無超調量,系統可實現噴藥量隨雜草密度變化而實時變化的目的,且能夠有效地消除響應誤差。田間試驗結果表明,在作業速度為2km/h、噴藥量為62.3~402.5kg/km2時,系統的相對控制誤差小于4.5%,滿足變量噴藥除草設計要求。