吳群彪 ,許侃雯 ,張洪源 ,蔡李花 ,徐 超
(1.江蘇科技大學 機電與動力工程學院,江蘇張家港 215600;2.江蘇科技大學 蘇州理工學院,江蘇張家港 215600;3.北京郵電大學 自動化學院,北京 100876)
當前關于草莓采摘機器人的控制方面已有不少研究[1],其中以草莓位置的圖像處理和識別居多。但目前關于草莓采摘機器人的機體控制研究成果較少,考慮到草莓生長地形的特殊性,草莓采摘機器人能夠自行實現在不同地形下直線的平穩行進是很有必要的,所以研發草莓采摘機器人機體控制系統成為亟待解決的問題。
現階段已有不少學者對草莓采摘機器人開展了系統避障、視覺系統和果實定位等研究。如馬瑛等[2]對草莓采摘機器人成熟果實識別及避障制系統研究,其系統運行穩定,可以準確識別成熟草莓果實且避開采摘途徑中的障礙物;李長勇[3]等對高架草莓采摘機器人進行系統研究,可以完成成熟草莓的識別、成熟草莓的空間坐標定位以及實現草莓收獲的機械化和自動化;王糧局[4]基于視覺伺服的草莓采摘機器人果實定位方法,定位時間與相對誤差均有所減小。
本文針對草莓采摘機器人的缺點和不足,對其進行外部電路的選擇和實物電路的測試,對行走機構與圖像識別算法進行了編寫以及測試,最后搭建草莓采摘機器人實物進行試驗,設計并研發了一種新型面向壟作草莓的高效采摘控制系統[5]。
本文設計的草莓采摘機器人是針對我國目前較為常見的田壟式草莓種植而研發。主要實現該機器人能夠在田壟間行駛而又不損傷到植株,檢測到成熟草莓并進行采摘,采摘后收集到收集箱中。該機器人需要控制的部分主要有行走系統、采摘系統和運輸系統。
基于該草莓采摘機器人所要實現的功能,在主控模塊用了K60單片機作為控制核心[6];傳感器主要包括OpenMV攝像頭、編碼器、陀螺儀、光線感應器等;電機驅動模塊選用L298雙路直流電機驅動模塊,該電機驅動模塊是工業級的驅動模塊,穩定可靠而且能滿足草莓采摘機器人的功率要求。系統結構框如圖1所示。

圖1 控制系統結構框圖Fig.1 Structural block diagram of the control system
草莓采摘機器人采摘部分涉及4個機械手臂,12個舵機的控制。十二個舵機分別控制至少需要12路PWM波端口,則該草莓采摘機器人控制系統將通過兩個K60單片機控制,分別控制草莓采摘機器人的行走機構和采摘機構。
行走機構電路部分包括驅動電機、傳動電機、轉向舵機以及編碼器等傳感器的控制電路。采摘部分電路包括機械手臂控制電路,圖像采集電路以及溫濕度傳感器等。其主要功能是在行走機構穩步運行的基礎上利用圖像識別和機械手準確高效的采摘草莓并傳回草莓采摘過程中采集到的相關信息。
2.2.1 單片機與電機驅動模塊
所選用的單片機是恩智浦公司的K60單片機,該單片機內部集成了大部分常用的模塊而且留有較多的I/O接口,滿足該草莓采摘機器人需要大量數據輸入和控制信號輸出的情況。所選用的電機驅動模塊是L298雙路直流電機驅動模塊,該模塊驅動包括行走機構驅動電機、傳送機構電機及氣動裝置等動力元件。
2.2.2 穩壓電路
采摘部分主要采用了兩種穩壓電路[7]:LM2596穩壓和MIC5209穩壓。其中LM2596芯片可穩定輸出較大的恒壓電流,主要用于舵機等元件的供電;MIC5209芯片外設簡單而且在不同工作條件下工作都較為穩定,但是其額定電流只有500mA,無法用于舵機等高電流器件的供電,因此MIC5209在當前電路中主要用于單片機和傳感器等元件的供電。
2.2.3 OpenMV攝像頭
OpenMV攝像頭是當前較為成熟的基于單片機開發的圖像處理模塊[8],該模塊外形小巧,能耗低,具有較高的處理速度。本設計采用的OpenMV選用了STM32F765VI ARM Cortex M7作為其核心處理芯片,具有一個全速USB接口,可與電腦直接相連進行編程開發。除了自帶的2 MB flash存儲空間之外該模塊還配備了SD卡槽,最高可以擴充32 G的存儲空間,而且該SD卡槽的讀寫速度高達100 Mbs,允許OpenMV攝像頭進行視頻錄制并把文件即時轉存至SD卡內。
該模塊與本次控制核心K60單片機的數據傳輸主要是通過I2C總線,OpenMV將所得到的圖像進行處理分析后,將成熟度標志和位置參數一同傳回單片機內。單片機將通過這些參數判斷當前采摘界面內是否有達到成熟標準的草莓,如果有的話所處位置和采摘順序如何,之后控制機械手臂對草莓進行定點采摘。
手工焊接測試完成后的電路板經測試,該電路板無論是穩壓還是各傳感器部分均可正常工作,可以用作草莓采摘機器人的控制電路。
行走機構電機的控制主要采用了串級的PID控制[9],控制系統結構框圖如圖2所示。

圖2 行走機構電機控制結構框Fig.2 Block diagram of motor control structure of the walking mechanism
其中將目標方向Dire0作為最初始的輸入量,通過與加速度計的返回值Dire1作差得出比例項,再由陀螺儀的返回值得出微分項Dire_change,再結合設置的目標速Speed代入PD公式的運算,得出當前左右電機的目標速度Speed1和Speed2,使左右電機產生一個差速對當前的方向偏移量進行糾正。PID的控制原理如圖3所示。

圖3 PID控制原理Fig.3 Schematic diagram of PID control
電機轉速控制使用增量式PID,將所得的目標速度與編碼器返回的實際速度Speed1_R及Speed2_R作差,得出差速Speed1_Error及Speed2_Error作為比例項。將差速作一個累加作為積分項,再將差速與上次差速Speed1_Error_Last及Speed2_Error_Last作差得出微分項,最后代入參數調整合適的PID算術式中,計算輸出PWM波的具體占空比Speed1_Vol及Speed2_Vol進而控制直流電機的速度。
在采摘過程中由于更多的需要在于穩定的速度和穩定的方向,不需要很高的速度和啟動速度,因此,在參數調試的過程中比例項參數取值較小,主要對積分項參數和微分項參數進行嚴格調整,以此保證機器人能勻速平穩行走且保證穩定的運行方向。
在對采集到的草莓圖像進行觀察后可以發現,在成熟期的草莓的顏色與其背景顏色差異還是較大的。而且草莓在成熟之后表面的顏色分布都是比較接近的,根據這一特征,本次圖像處理采用了一種在色彩空間的基礎之上,對草莓圖像進行分割提取的算法[10]。成熟的草莓在圖像上表現為紅色,而背景圖片多是綠色或偏黃的枝葉以及黑色的土地,利用成熟草莓與其背景之間的顏色差異即可將其從背景中提取出來。整個處理流程如圖4所示。

圖4 圖像處理流程Fig.4 Image processing flow chart
為響應當前智慧農業的號召,進一步提高草莓采摘的智能化,本次設計還進行了草莓采摘監測上位機的編寫。
本次上位機主要是利用MATLAB軟件開發,基于C++與Java語言進行程序編寫。利用上位機可以直接查看草莓圖像的處理結果,返回搜集到的溫濕度信息以圖表的形式直觀展示出來,并根據當前草莓生長階段所需的溫濕度給出合理建議,最后還能實時返回成熟草莓及半成熟草莓的采摘個數。草莓采摘機器人與上位機之間通過藍牙進行數據傳輸,數據傳輸方式為串口通訊,在MATLAB中有針對串口數據的接受和發送函數,藍牙數據讀取的代碼編寫如下:

接收到數據后將通過MATLAB自帶的畫圖功能將溫濕度信息以折線圖的形式展現出來。而通過對草莓種植相關資料的查詢,我們了解到在草莓生長的不同階段對環境溫濕度的要求差距很大,因此在上位機中設置了草莓生長階段選項,并將不同生長階段草莓生長所需的溫濕度儲存在上位機內,將采集到的數據與理想數據進行對比,進而給出環境控制的相關建議。
該上位機修改和維護都相對簡單,在實際應用中還可以繼續完善部分功能,并根據需求拓展新功能。
運輸機構的運行阻力主要來自機構之間的摩擦與機構自重,而運輸機構當前運輸的草莓個數也會對運行阻力有所影響,但相較于機構自重等因素來說影響較小。因此參數調整較簡單,在參數調整之前運輸機構到達目標速度的時間較長,且在到達目標速度之后也極不穩定。調整參數前后的效果分別如圖5和圖6所示。

圖5 運輸機構速度返回圖(調整前)Fig.5 Speed return diagram of transport mechanism(before adjustment)

圖6 運輸機構速度返回圖(調整后)Fig.6 Speed return diagram of transport mechanism(after adjustment)
在將RGB圖像轉換為HSV格式后,通過自適應閾值構建掩模圖像如圖7所示;可以看到草莓本身的草莓籽和環境光照的原因造成圖像上存在大量噪點,對草莓的定位和識別都會有較大干擾,故要對圖像進行進一步濾波。故經去噪后的圖像如圖8所示,該圖像更容易被識別。

圖7 草莓掩模圖像Fig.7 Strawberry mask image

圖8 去噪后的草莓圖像Fig.8 Strawberry image after denoising
在實際應用中對草莓實現識別和定位需要注意的是,當前草莓識別算法對圖像質量有一定要求,即不能識別在強光或者在光線不佳的情況下采集到的草莓圖像。而為了解決這一問題,在攝像頭旁裝備了照明燈,能夠為攝像頭圖像采集提供一個良好的圖像采集環境,為之后的草莓識別提供了便利。經測試,當前使用的草莓識別算法對成熟草莓的識別準確率達到95%以上。
上位機共涉及兩個功能,一個是圖像處理,一個是采摘信息的檢測與分析。圖像處理界面可以對圖像進行讀取和圖像的初步處理,也可以對圖像濾波及草莓識別算法進行驗證;設計溫濕度監測模塊系統可對采摘信息做出實時監測。經測試,該監測系統能夠較準確地返回實時信息,并提供可靠建議。
針對我國目前較為常見的田壟式草莓種植本方案設計并開發了一套草莓采摘機器人控制系統。該控制系統包括了行走、采摘和運輸三大模塊,能夠實現草莓采摘機器人在田壟間穩定行走,精準識別草莓成熟度采摘到成熟的草莓,并能夠檢測草莓生長環境,從而為果農進行草莓種植提供相關地建議。通過樣機調試驗證了本次控制系統的設計可達到預期目標,為后期草莓采摘機器人的控制系統優化提供了一定的參考意見。