張日紅,歐炬基,丁力行,李小敏,林桂潮,鐘建鳴
(仲愷農業(yè)工程學院機電工程學院,廣州市,510550)
百香果廣泛種植于熱帶和亞熱帶地區(qū),在中國主要分布在廣東、福建和廣西等南方省份,大部分用于自然消費和工業(yè)加工[1],目前百香果采摘主要以人工作業(yè)為主,這種方式耗時長和成本高昂,不能滿足現代農業(yè)的發(fā)展需求[2]。傳統(tǒng)百香果種植方式多為平頂棚架,這種種植方式枝條雜亂,相互纏繞,容易滋生病蟲害。雙層垂簾式高密度種植采用的是立體的搭架種植方式,便于管理、采光充足、病害少、產量高[3-4],適合智能機器人采摘作業(yè)。
隨著計算機圖像處理技術、人工智能和電子技術的發(fā)展和成熟,經過國內外眾多學者研究,各類不同的采摘機器人的樣機研制與方法研究都有了重大突破。在樣機研制方面,如蘋果采摘機器人、番茄采摘機器人、獼猴桃采摘機器人、甜椒采摘機器人等[5-8],這些研究都極大地促進了采摘機器人的迅速發(fā)展。在方法研究方面,Kuznetsova等[9]提出一種經過預處理和后處理技術使YOLOv3算法,能夠應用于蘋果和橙子收獲機器人機器視覺系統(tǒng)。Lü等[10]對分割出來的蘋果利用邊緣檢測和改進的RHT變換對蘋果進行識別,識別結果能基本滿足機器人的采摘要求。寧政通等[11]相續(xù)使用改進的Mask R-CNN網絡進行粗分割和區(qū)域生長法進行細分割的處理方法,提取果梗質心預測葡萄采摘點。張勤等[12]通過YOLOv4目標檢測算法獲取感興趣區(qū)域,再融合RGB-D圖像中的深度信息和顏色特征提取番茄串采摘點,耗時54 ms。
隨著技術的不斷發(fā)展,國內針對百香果采摘機器人的研究也具有較多研究基礎。在機械采摘方面,如黃才貴等[13-14]設計了百香果采摘末端執(zhí)行機構,和基于機器視覺的百香果采摘分級機器人平臺。在百香果的檢測方面,林營志等[15]利用YOLOv3深度卷積神經網絡建立了復雜背景下的百香果果實定位模型,唐熔釵等[16]通過增強特征提升了模型對百香果小目標的識別能力,張展榜等[17]通過優(yōu)化先驗框尺寸與非極大抑制算法提高了模型在不同密集場景下的適應性和檢測能力。Tu等[18]針對自然復雜生長場景下的百香果,在Faster R-CNN目標檢測算法的基礎上提出了一種多尺度的MS-FRCNN網絡優(yōu)化模型,提升了對百香果小目標的檢測能力,涂淑琴等[19]運用FPN+ResNet-101網絡模型對百香果目標進行了快速識別。綜上所述,國內外面向百香果智能采摘的研究主要集中在機構設計和識別定位層面,針對百香果智能采摘技術的技術集成和試驗應用研究甚少。因此,本文以垂簾式種植工藝的百香果為研究對象,綜合運用深度神經網絡設計一個融合深度信息的百香果采摘點識別定位系統(tǒng)。在此基礎上,研制一款具備四自由度的串并混聯(lián)型百香果采摘機器人,并進行運動學模型分析和手眼標定試驗。
本文基于垂簾棚架式百香果種植場景,研制了一種串并混聯(lián)型百香果采摘機器人,如圖1所示。該機器人由串并混聯(lián)型機械臂、末端剪切執(zhí)行器、移動車體、深度相機、控制電箱、智能控制終端和移動電源所組成。串并混聯(lián)型機械臂具備升降、伸縮、回轉和擺頭四個功能,整個機械臂安裝于能在水平面上平動的移動車體上,每個車輪上配套的交流伺服電機為750 W。末端剪切執(zhí)行器與RealSenseTMDepth Camera D435i深度相機(以下簡稱D435i深度相機)安裝在機械臂的末端擺頭電機上。智能控制終端選用配置NVIDIA GeForce GTX 2060Ti GPU和Intel Core i5-10400 CPU的計算機作為上位機。整機通過兩臺大功率移動電源供電。
圖1 百香果采摘機器人系統(tǒng)組成
串并混聯(lián)型機械臂可實現末端剪切執(zhí)行器的伸縮、升降、回轉和擺頭四個功能的伺服運動。如圖2所示,串并混聯(lián)式機械臂采用由連桿和拉桿組成的雙平行桿嵌套結構,可使末端剪切執(zhí)行器始終保持水平姿態(tài)。機械臂的伸縮、升降和回轉傳動裝置均布置于回轉支撐齒輪上方的框架安裝支架上,伺服電機的最大回轉轉速為3 000 r/min和最大扭矩為0.64 N·m,其動力均由伺服電機經蝸輪蝸桿減速器一次減速后分別通過水平、豎直螺桿和齒輪傳動驅動實現。蝸輪蝸桿減速比為1∶20,絲杠導程為10 mm,回轉齒輪減速比為20∶94。機械臂的擺頭裝置通過銜接連桿保持豎直狀態(tài),擺頭伺服電機的最大回轉轉速為15 r/min,最大扭矩為50 N·m。
圖2 串并混聯(lián)式機械臂結構組成
末端執(zhí)行器保持水平的狀態(tài),可以對百香果的果梗進行剪切。如圖3所示,安裝在擺頭伺服電機上的末端剪切執(zhí)行器由電機支架、伺服夾爪電機、刀片托架和剪切刀片所組成,并與D435i深度相機構成“Eye in Hand”系統(tǒng),具備較高的近距離目標捕獲能力。伺服夾爪電機行程為40 mm,最大夾持力為65 N,最大速度為80 mm/s。
圖3 末端剪切執(zhí)行器結構圖
串并混聯(lián)型機械臂和末端剪切執(zhí)行器的伺服驅動數據指令由三菱FX5U-80MT/ES可編程控制器(以下簡稱FX5U)發(fā)出,移動車體采用ARDUINO模塊實現雙輪差速伺服驅動控制。如圖4所示,百香果采摘機器人通過D435i深度相機實時獲取周圍環(huán)境數據,主要包含RGB圖像和深度距離信息,以USB串口通信的方式發(fā)送到百香果視覺識別與定位單元獲取采摘點信息,經降維迭代求解和分析后得到目標點期望位姿Texp和采摘作業(yè)指令信號。
圖4 百香果機器人通信原理
車體控制單元通過分析作業(yè)指令信號來輸出移動車體運動信息,并采用USB串口通信方式與ARDUINO控制模塊實時通信。機械臂定位單元以目標點期望位姿Texp作為已知輸入條件求解機械臂的運動控制參數Pmc,采用MDBUS/TCP通信的方式將與FX5U實時通信。FX5U和ARDUINO控制模塊通過輸出數字信號給伺服驅動器,分別控制移動車體運動和機械臂與末端剪切執(zhí)行器運行到目標采摘位置。
正運動學是根據已知機械臂運動參數求解機械臂末端位姿,逆運動學是在已知機械臂末端位姿的條件下求解運動學控制參數。圖5為機械臂等效結構示意圖,根據表1的參數,研發(fā)設計的機械臂不滿足解耦條件[20]中的“a×d=b×c”,求取非線性逆解難度大。為簡化機械臂運動學模型和計算,本文結合張晴暉等[21]逆運動學降維求解的思想,先把回轉和擺頭兩個關節(jié)去掉,將三維空間的數學模型降到二維空間,最后使用牛頓迭代的方法求得逆解。
表1 機械臂等效結構參數
圖5 機械臂等效結構示意圖
根據機械臂的雙平行桿嵌套結構的特性對圖2中的機械臂模型進行適當簡化:將雙平行桿簡化為單平行桿。以回轉機構中心原點O0,建立O0-X0Y0Z0基坐標系,以垂直移動模塊和水平移動模塊垂直交點O1,建立O1-X1Z1平面坐標系,以擺頭伺服電機中心原點M,建立O2-X2Y2Z2坐標系。B、C、D和E為平行桿結構的四個端點。F點為DE延伸端的位置點,M點為末端剪切執(zhí)行器的回轉原點,N點為末端剪切執(zhí)行器回轉中心與末端剪切執(zhí)行器水平段的交點,H點為末端剪切執(zhí)行器中剪切刀片的中心點。表1列出了機械臂的等效結構參數。
如圖5所示,θ為回轉結構繞O0-X0Y0Z0坐標系Z0軸的旋轉角度,φ為末端剪切執(zhí)行器繞O2-X2Y2Z2坐標系Z2軸的旋轉角度,α和β分別為CE和FE在O1-X1Z1平面坐標系下與X1軸正方向和負方向的夾角。在O1-X1Z1平面坐標系下,A(0,Az1)為機械臂的垂直移動滑塊原點,C(Cx1,0)為機械臂的水平移動滑塊原點。表2為機械臂關節(jié)運動參數范圍。
表2 機械臂關節(jié)運動參數范圍
參照圖5所示的機械臂等效結構示意圖,根據式(1)將A點在Z1軸的坐標與C點在X1軸的坐標引入參數α和β加以表示。在O1-X1Z1平面坐標系下,不考慮θ和φ變化帶來的作用,公式(2)通過幾何降維處理獲得F點坐標(Fx1,Fz1)??紤]θ和φ變化帶來的作用,結合式(3),將H點的坐標映射到O0-X0Y0Z0基坐標系下,最后根據式(4)得到機械臂關于(α,β,θ,φ)的正運動學模型T。
(1)
(2)
(3)
(4)
串并混聯(lián)型機械臂的運動學模型使用集合關系構建的,沒有考慮移動車體帶來的影響。試驗種植基地中百香果棚架間距為2 m,結果高度集中在600~1 300 mm,試驗移動車體高度為250 mm。圖6中每個空間點是考慮移動車體帶來的影響下,在世界坐標系o-xyz下,通過隨機賦值機械臂的運動控制參數Pmc(Az1,Cx1,θ,φ)并求解正向運動學模型T得到的。仿真得到x軸和y軸上的工作區(qū)間比需要的大,z軸工作高度范圍為578~1 317 mm,滿足百香果采摘空間要求。
(a) x-y平面的工作空間
如圖7所示,本文采用牛頓迭代法求出目標點期望位姿Texp的逆解數值解(α,β,θ,φ)。根據式(1)將φ和α轉換為Az1和Cx1,最后得到機械臂的運動控制參數Pmc(Az1,Cx1,θ,φ)。試驗結果表明,對于工作空間內的任意目標位姿,使用牛頓迭代法一般迭代160次就可以求得逆解數值解。按照采摘實際情況,在機器人右側隨機選取10個不同的位置進行逆運動學求解試驗,設置的閾值為e=10-7,每次求解的平均迭代次數為163,平均耗時0.084 s。試驗結果表明,基于降維迭代的逆運動學求解算法的精度和求解時間都滿足機械臂求逆解的要求。
圖7 牛頓迭代法求取逆解數值解
引導機械臂實施采摘,需要得到采摘點相對機械臂基坐標系的坐標?;诎傧愎烧c定位方法獲取百香果采摘點的像素坐標(up,vp)后,從D435i深度相機的深度信息中可以直接獲取采摘點在相機坐標系下的坐標(xc,yc,zc)?!癊ye in Hand”標定是求解相機坐標系到機械臂末端的變換矩陣TCE。將基坐標系固定不動,通過移動機械臂末端從不同角度拍攝n張標定板圖片,可以獲得n-1個“TATCE=TCETB”方程,采用Tsai等[22]所提出的方法求解得到TCM。由確定的正運動學模型T,結合式(5)可以得到采摘點在O0-X0Y0Z0基坐標系下的坐標(Px,Py,Pz)。
(5)
為解決在復雜背景下精準定位百香果采摘點的問題,根據百香果與果梗的連通關系,采用YOLO v5s目標檢測算法快速識別與提取百香果ROI,以百香果ROI中心位置向上偏移構建果梗采摘點區(qū)域,融合深度信息搜索采摘點位置。
百香果圖像數據采集自廣東省湛江科學研究院的紫色百香果種植基地,品種為紫香一號,垂簾式種植工藝,為避免葉面過于茂密,影響光照條件,在百香果生長期和結果期都進行剪枝操作。
為保證所制作數據集的多樣性,在白天上午、中午與下午時段采集百香果RGB圖像共2 560張,采集RGB-D深度圖像412張。從所采集的RGB圖像中篩選出質量穩(wěn)定的圖像1 852張,圖像樣本中主要包含無遮擋和遮擋的背景環(huán)境。其中1 552張用于數據集訓練,300張用于數據集測試。為了提高百香果識別模型的泛化能力,對訓練集的圖像進行亮度、鏡像翻轉和添加噪聲的數據增強操作,訓練數據集擴增處理后所得到的共2 800張。
由于要進行百香果果實目標識別和采摘點定位研究,圖像標注時,除了需要基于每個百香果的最小外接矩形進行標注,還要在最小外接矩形頂部包含百香果的一部分果梗,以保證矩形框內盡可能少地包含背景且盡可能多地包含采摘點區(qū)域。
YOLO系列目標檢測算法[23-25]是一階段目標檢測算法的經典代表,在保持較好性能的前提下將檢測問題轉換成回歸問題。YOLO v5是在YOLO v4[26]的基礎上改進,使其網絡模型的權重文件大幅度減小,檢測精度更高和運行速度更快,根據特征提取模塊數量和卷積核數量不同,分為YOLO v5s、YOLO v5m、YOLO v5l與YOLO v5x四種架構。
如圖8所示,本文采用YOLO v5s目標檢測算法,在復雜背景下通過對輸入圖像全局檢測,融合多尺度特征快速識別百香果目標。
(a) 原圖
根據YOLO v5s目標檢測模型檢測結果,構建一個一維向量提取百香果ROI位置信息(xl,yl,w,h),其中xl,yl為百香果ROI在圖像中左上角坐標,w,h為百香果ROI的寬度和高度。
百香果的果梗顏色與背景顏色相近,很難通過識別算法直接獲取果梗位置。根據百香果與果梗具備連通關系并且基本沒有支撐物干擾百香果垂簾生長,使用YOLO v5s快速識別并提取百香果ROI,以ROI中心點向上偏移構建果梗采摘點區(qū)域,再融合深度信息搜索采摘點。如圖9所示,根據串并混聯(lián)機械臂工作空間的范圍,將ROI中心深度值dc在[0,800]mm內的ROI視為可采摘百香果目標,否則為不可采摘百香果目標。
圖9 百香果采摘目標判別圖
D435i深度相機基于結構光的方法采集深度信息,容易受到光線條件的影響[27],系統(tǒng)噪聲的存在也會在捕獲的深度圖像中產生孔洞[28],在獲取小目標的深度信息時會存在誤差甚至缺失的問題。百香果的果梗細小,不能直接D435i深度相機獲取采摘點的深度值。為減小D435i獲取深度信息時帶來的誤差,以百香果ROI中心(uc,vc)向上偏移構建采摘點區(qū)域來預測果梗位置。據數據集統(tǒng)計,可采摘百香果的果徑為4~6 cm。根據果梗與百香果ROI中心點的深度差關系,結合式(6)在采摘點區(qū)域建立有效采摘點集合P(X,Y)。
(6)
式中:d(u,v)——采摘點區(qū)域處點(u,v)的深度值。
從采摘點區(qū)域提取出有效采摘點集合P(X,Y)后,根據式(7)在P(X,Y)中搜索出深度值為dmin的點作為采摘點(up,vp)。
dmin=min[‖P(ux,vy)-Pdavg‖]
(7)
式中:dmin——P(X,Y)中與Pdavg最接近的深度值;
P(ux,vy)——P(X,Y)中(x,y)處的深度值;
Pdavg——P(X,Y)中的平均深度值。
如圖10(b)所示,在百香果ROI頂部構建一個以(uc,0.07h)為中心、0.2w寬和0.1h高的矩形區(qū)域作為百香果采摘點區(qū)域。圖10(c)為采摘點區(qū)域融合深度信息后的采摘點搜索結果。
圖10 百香果采摘點區(qū)域定位過程圖
進行YOLO v5s網絡訓練時,電腦配置情況為Intel i7-9750H Intel Xeon(R) Gold 5218 CPU,顯卡為NVIDIA TITAN RTX GPU和24 GB運行內存。進行YOLO v5s網絡測試電腦硬件情況為Intel Core i5-10400 CPU,顯卡為NVIDIA GeForce GTX 2060Ti GPU和16 GB運行內存。batchsize設置為16,動量因子為0.937,參數訓練采用SGD優(yōu)化算法,權重衰減系數為0.000 5。
本研究訓練使用2 800張訓練集圖像,如圖11所示,模型一共訓練300次,通過損失值評價模型訓練效果,可以看出在迭代250次后,損失值降至0.27附近震蕩并趨于穩(wěn)定。
圖11 YOLO v5s損失函數值和迭代次數曲線圖
使用精確率(Precision)作為YOLO v5s模型檢測精度的評價指標。對300張百香果測試集圖像進行檢測,總共檢測出1 580個目標,包含1 509個百香果,百香果目標檢測模型對百香果的識別精確率達到95.5%,滿足百香果自動采摘的要求。
4.2.1 定位算法模型試驗
從412張深度圖中隨機選取100張質量過關的深度圖,其中百香果主要包含無遮擋和遮擋兩種生長情況,以采摘點位于果梗上判斷為定位成功,否則定位失敗。
如表3所示,在檢測到的343個百香果目標中,可采摘目標總共有303個,其中無遮擋和遮擋分別有232個和71個,無遮擋和遮擋的定位成功率分別為91.4%和83.1%,總體定位成功率為89.4%。在定位試驗過程中,對1 280×720的單幀圖像平均識別時間約為27 ms,對單幀圖像中單個百香果采摘點定位時間在6 ms左右。試驗結果表明,所提出的采摘點識別定位算法的準確率和識別速度滿足自動采摘要求。
表3 定位試驗
4.2.2 采摘點定位算法測試試驗與結果分析
試驗種植基地中百香果結果位置最高1.3 m,最低位置0.5 m,兩行百香果的寬度為2 m。對單側百香果進行試驗,末端執(zhí)行器初始位置離地面0.7 m高,剪切刀片的開口設置為35 mm,D435i深度相機同時采集RGB數據和深度數據。
在進行單側采摘試驗的過程主要包括了搜索目標、參數求解、車體運動、機械臂運動、剪切百香果和機器人復位這幾個步驟。百香果采摘機器人沿路徑直線行駛,機械臂末端擺頭90°;機器人系統(tǒng)通過百香果視覺識別與定位單元實時進行圖像采集,驅動機械臂和車體的運動調整“Eye in Hand”系統(tǒng)的位置來搜索百香果目標;當檢測到可采摘百香果,發(fā)送作業(yè)指令信號停止機械臂和車體的運動,同時對符合采摘要求的目標進行定位,通過PLC電氣控制與驅動單元引導機械臂完成采摘任務,最后將機器人復位到執(zhí)行采摘任務之前的位置,反復循環(huán),直至采摘完成指定區(qū)內的所有目標。
試驗過程中總共檢測到30個可采摘百香果,如表4所示,主要分為無遮擋和有遮擋兩種生長情況,總共完成采摘28個,總體成功采摘率為93.3%。雖然經過對百香果生長期和結果期進行剪枝操作,采摘過程中很少存在嚴重遮擋百香果的情況,仍然會存在藤蔓或葉子遮擋百香果法情況。試驗中兩個采摘百香果失敗的原因都是末端剪切執(zhí)行器提前接觸到藤蔓或葉子推開百香果,使剪切刀片中心無法接近百香果采摘點位置。
表4 采摘試驗
在30次的采摘試驗中,單個百香果連貫采摘平均時間為30 s,最快采摘時間為25 s,最慢采摘時間為36 s。如圖12所示,采摘過程中大部分時間都消耗在機器人搜索目標、機械臂運動定位和機械臂復位這三個步驟。
圖12 采摘階段不同步驟的所需平均時間
在采摘測試階段,機械臂、末端剪切執(zhí)行器和D435i深度相機可能發(fā)生干涉作用的情況。為保證機器人的穩(wěn)定運行,保證智能采摘作業(yè)過程的安全性,在采摘測試時機器人并沒有采用最大功率運行,而是選擇盡可能滿足技術需求的速度運行,機械臂運動定位和復位需要消耗更長的工作時間。
末端剪切執(zhí)行器與D435i深度相機構成的“Eye in Hand”系統(tǒng),具備較高的近距離目標捕獲能力,但在遠距離和大范圍方面時的仍存在一定局限。如圖12所示,由于百香果分布范圍較廣且不均勻,機器人在捕獲目標的階段需要消耗更多是時間。采摘機器人在視野范圍內如果沒有捕獲到百香果,需要通過控制機械臂和移動車體的運動來調整末端執(zhí)行器的位置來尋找百香果目標,在循環(huán)采摘的過程中需要花費較長時間。
1) 針對垂簾式百香果種植環(huán)境,設計了一款百香果采摘機器人,包括串并混聯(lián)型機械臂、末端剪切執(zhí)行器、移動車體、深度相機、控制電箱、智能控制系統(tǒng)和移動電源。試驗結果表明設計的百香果機器人滿足自動采摘要求。
2) 針對復雜環(huán)境下百香果采摘點難以識別定位的問題,提出一種融合深度信息的目標檢測與區(qū)域搜索的采摘點識別定位算法,通過YOLO v5s快速識別并提取百香果ROI,根據百香果垂簾生長以及與果梗具備連通關系,以ROI中心點向上偏移構建果梗采摘點區(qū)域并融合深度信息搜索采摘點,試驗結果表明百香果識別模型對百香果識別精確率為95.5%,定位算法總體定位成功率為89.4%,對單幀圖像平均識別時間約為27 ms,單個百香果采摘點定位時間在6 ms左右,滿足百香果實時識別與定位的要求。
3) 為解決非線性求逆解難度大的問題,根據機械臂平面四連桿幾何關系,提出降維迭代的逆運動學求解模型,使用牛頓迭代法獲得了逆解數值解。試驗結果表明,每次求解的平均迭代次數為163次,平均耗時0.084 s,滿足機械臂求逆解的要求。
4) 在30次的采摘試驗中,采摘成功率達到93.3%,采摘單個百香果平均時間為30 s(范圍在25~36 s)。在采摘過程中,在針對存在有遮擋情況下的百香果,末端剪切執(zhí)行器容易推開百香果導致采摘失敗,機器人在捕獲目標的階段效率較低,為提高機器人采摘性能,后期工作可以研究高效的機械臂軌跡規(guī)劃算法和增加一個范圍較廣的相機來捕獲百香果目標的大概位置。