李雄,曾世亨,諶文,何志鵬,李小敏
(仲愷農業工程學院機電工程學院,廣州 510550)
隨著水果消費的大幅增加,果園種植面積逐年擴大。盡管果樹栽培技術不斷提高、水果產量大幅,然而仍然存在大量水果因生長機理或不能及時采摘造成大量落果現象。大量落果以球形和圓形位置。一方面,病變落果如果不及時處理,植株容易染上蟲害和病害,導致果實質量的良莠不齊。另一方面,落果拾取不及時,會嚴重影響果園產出和落果回收的經濟價值[1]。目前落果的拾取主要依靠人力,存在勞動強度大、工作環境差、自動化和智能化水平低等現狀,亟需開展果園落果相關研究[2]。因此,開發設計一款自動落果拾取機器人對于果園的智能化管理具有重要意義。
目前,落果拾取研究層面取得一定的進展。姜焰鳴等人[3]發明一種提供了人力推動裝配齒牙的滾筒將荔枝和雜物扎進齒牙后再脫離存放的荔枝落果拾果機。史高昆等人[4],針對大規模種植園依托氣囊式吸果機和滾筒式掃果機,利用風機產生氣壓差將地面雜物和落棗吸起設計了一種氣吸式紅棗收獲機。馮冰等人[5]利用圓盤毛刷將落地水果和雜物掃到傳送帶,研發了一種具有果實撿拾機構的林果收獲機。現有落果主要以圓形球形為主,鮮有針對圓形落果設計方法。當前的落果拾取方案,一方面依托大型農機將落果和雜物混雜在一起,容易破損落果果皮,使其發生變質;另一方面,當前方法大多還要依靠人工現場操作,自動化和智能化水平較低。
針對現有落果拾取的研究現狀,基于對球形落果利于在機器裝置內滾動不易堆積使機器卡住的特點,本團隊設計一種利用霍夫圓檢測圖像處理技術判別出球形落果的位置和使用自動控制技術去靠近落果、利用自制的滾筒式收集裝置使落果脫離雜物后拾起、并分級存放落果的智能拾果機器人。該研究為智能化果園管理提供技術支持。
圖1為硬件系統的總體設計框圖,樹莓派主板通過對USB攝像頭云臺的舵機控制來獲取視頻信號,然后視頻信號經WIFI模塊用USB數據線傳輸給樹莓派。樹莓派的linux操作系統分析和處理視頻信號,判斷出落果的位置和形狀,進而將要拾起的落果的位置指令傳遞給PWR.A53.A電源板。電源板控制四輪電機[6]驅動使機器人靠近落果,控制拾取裝置的直流力矩電機驅動來拾起落果。落果通過分級存放裝置按大小分類存放。視頻信號可通過WIFI模塊上傳到手持終端或PC端,實現實時視頻傳輸。也可通過手持終端或PC端的配套軟件APP的視屏界面來控制攝像頭云臺舵機的轉動、四輪電機驅動和直流力矩電機驅動,使機器人靠近并拾起落果。

圖1 硬件系統的總體設計框圖
霍夫變換檢測圓利用Canny算法找尋一幅圖像中灰度強度變化最強的梯度方向[7]。該設計基于OpenCV中的霍夫梯度算法的實現圓形落果檢測。霍夫梯度算法具體實現原理如下,基于圖像中每個像素點的梯度可以由Sobel算子來獲得,分別求得沿水平(x)和垂直(y)方向的梯度G x和G y,再利用公式來求得每一個像素點的梯度幅值。Canny算法邊緣檢測后,得到邊界二值圖,效果如圖2、圖3所示。

圖2 待檢測的灰度圖

圖3 邊緣檢測后的邊界二值圖
為確定圓心,遍歷邊界二值圖中的非0點,沿著梯度方向和反方向畫線段。線段的起點和長度由參數允許的半徑區間決定。
在邊界二值圖中任意沿著梯度方向和反方向畫的線段可以用公式(1)表達。

公式(1)中,a1,a x,…,a n是線段特征參數。如果將公式(1)中的特征參數與變量x、y調換,則公式(1)等價于

公式(2)說明,邊界二值圖中同一線段上的點通過公式變換,在平面坐標系中映射為一點(x,y),該點由特征參數a1,a x,…,a n確定。因此,通過判斷平面坐標系中各參數點的積累值,可以實現對邊界二值圖中沿著梯度方向和反方向畫的線段的描述。
已知圓的方程為(x-a)2+(y-b)2=r2,令(x i,y i)(i=1,2,3,…,n)為邊界二值圖中滿足圓周特性的點的集合,那么邊界二值圖中的點(x i,y i)在空間坐標系中的方程為:

公式(3)在空間坐標系中表示一個三維錐面。對于邊界二值圖中圓周上任意一點(x i,y i)可對應于空間坐標系中的一個三維錐面;對于邊界二值圖中滿足圓周特性的全部點對應于空間坐標系的一組圓錐面簇[8],如圖4所示。

圖4 霍夫變換原理
為求出邊界二值圖中圓的圓心坐標(a,b)及半徑r,可以建立一個三維累加器數組A(a,b,r),根據公式(3),分別計算邊界二值圖中圓周上每一個非0點的(a,b,r),并對其累加。通過比較各累加點A n(a,b,r)的累加值,選出最大值Amax(a,b,r),則該數組中的(a,b)就是邊界二值圖中所求圓周的圓心坐標,r為半徑。
USB攝像頭使用CMOS圖像傳感器對每一幀圖像進行采集操作,同時將視頻信號借助WIFI模塊傳輸給手持終端或PC端。WiFi模塊收集到的視頻信號通過USB串口傳輸給樹莓派。在樹莓派硬件平臺上引入Linux操作系統和采用第三方庫OpenCV。預處理線程首先只提取YUV數據幀中的Y分量,生成圖像的灰度圖像[9]。采用OpenCV中的的霍夫梯度算法實現函數來檢測圓,讀取向量節點的數量來判斷圖像中是否存在圓形物體,假如數量是0,則調整攝像頭云臺的舵機角度再重新執行程序,若數量不是0,表示圖像中存在圓形物體。若二值圖中某圓的圓周長在預設的某種落果的圓周范圍內,則保留該向量節點,否則刪除該向量節點,得到篩選后保留下落果的二值圖。若向量節點最終為0,則調整攝像頭云臺的舵機角度再重新執行程序。落果識別程序流程圖如圖5所示。

圖5 落果識別程序流程圖
讀取篩選完圓向量節點數值,假如數值為1,則表明攝像頭圖像范圍內只存在一個落果,接著樹莓派利用落果位置信息控制車輪轉向、靠近落果并將其拾起。假如數值大于1,則表明攝像頭圖像范圍內存在多個落果。然后通過OpenCV提供了moments()函數來計算圖像中圓的中心矩,將moments()函數返回數值作為該落果在二值圖中的質心,根據質心算出二值圖中各個落果的質心到達最近的背景點的歐氏距離[10],以歐氏距離最短的落果作為拾取對象。樹莓派再利用落果位置信息控制車輪轉向、靠近落果并將其拾起。
如圖6所示,拾取裝置通過直流力矩電機的運轉來帶動滾筒拾起落果,直流力矩電機[11]具有在低速和堵轉下能產生大力矩而不損壞電機的優點,能夠采挖半埋在地面的有一定高度的石頭,保證行進路線的通暢。分級存放裝置采用對輥式尺寸分級結構[12],分級間隙的改變靠對輥之間的空間位置變化來改變,達到先小后大掉落落果并存放的目的。

圖6 智能拾果機器人模型與拾果裝置的簡化模型
拾果裝置的簡化模型如圖6所示,在理想條件下,R3、R4是同心圓,8等分的葉片L1、L2延長線過圓心O,滾輪能夠推起的最大水果球圓半徑為rmax=,最小水果球圓半徑為rmin=R4-R2。可事先確定所要拾球形落果的最大球圓半徑和最小球圓半徑來安裝拾取裝置的葉片位置,能極大的使落葉和樹枝等雜物不會連同落果一起被收集到。
針對當前落果拾取主要依靠人力、勞動強度大、智能化化水平較低等現狀,研發了一種基于圖像處理的果園圓形落果拾取機器人。首先,依托樹莓派處理系統構建了控制硬件和圖像獲取平臺。其次,基于霍夫梯度圖像檢測構建了球形落果圓形信息獲取方法。最后,基于葉輪結構設計了拾果機械裝置。該設計實現了落果的自動化拾取,具有很強的實用性,為果園的智能化管理提供了必要技術支撐。