周海燕, 劉 英, 盧文博, 金立國(guó), 王 旭
(南京林業(yè)大學(xué)機(jī)械電子工程學(xué)院,江蘇 南京 210037)
我國(guó)是果蔬生產(chǎn)大國(guó),果蔬采收是季節(jié)性、實(shí)時(shí)性很強(qiáng)的勞動(dòng)密集型工作,也是果蔬生產(chǎn)作業(yè)過(guò)程中,費(fèi)力最大、耗時(shí)最多的工作環(huán)節(jié)[1-2]。隨著我國(guó)人口老齡化的加劇,生產(chǎn)勞動(dòng)力缺乏及勞動(dòng)力成本的日益提高,傳統(tǒng)的人工果蔬采摘方式已經(jīng)不能滿足需求,因此研發(fā)制造適用于果蔬采摘的機(jī)器人,代替人工進(jìn)行農(nóng)業(yè)生產(chǎn),實(shí)現(xiàn)果蔬采摘自動(dòng)化和智能化,對(duì)推進(jìn)實(shí)現(xiàn)智能化和現(xiàn)代化農(nóng)業(yè)具有重要的意義[3-4]。
智能采摘機(jī)器人是根據(jù)中國(guó)機(jī)器人大賽中智能采摘項(xiàng)目要求設(shè)計(jì)的。場(chǎng)景圖如圖1所示,比賽場(chǎng)地為7 000 mm×4 000 mm的黃色方形,無(wú)軌跡線,設(shè)有十字標(biāo),設(shè)置了4個(gè)采摘區(qū)域,采摘果蔬包含辣椒、南瓜以及蘋果;智能采摘機(jī)器人主要由移動(dòng)底盤、機(jī)械臂、末端執(zhí)行器、視覺(jué)系統(tǒng)和智能算法組成,涉及到電機(jī)控制、傳感器技術(shù)、視覺(jué)識(shí)別、路徑規(guī)劃、深度學(xué)習(xí)等相關(guān)技術(shù)[5]。智能采摘機(jī)器人尺寸為700 mm×500 mm,載重為25 kg,機(jī)械臂末端最大負(fù)載750 g。智能采摘機(jī)器人的移動(dòng)底盤采用四輪差速無(wú)人車,基于里程計(jì)與IMU實(shí)現(xiàn)了采摘平臺(tái)的精確定位和自身姿態(tài)的準(zhǔn)確控制,再結(jié)合相機(jī),識(shí)別場(chǎng)地中的十字標(biāo)對(duì)無(wú)人車位置進(jìn)行了二次校準(zhǔn);機(jī)械臂采用了越疆公司的DOBOT Magician E6桌面六軸協(xié)作機(jī)械臂,擁有六個(gè)自由度來(lái)實(shí)現(xiàn)最大范圍的抓取。末端執(zhí)行器設(shè)計(jì)成爪型,執(zhí)行器前端采用橡膠材質(zhì)增加夾持摩擦力,爪子開(kāi)合程度大于果蔬直徑。視覺(jué)系統(tǒng)包含相機(jī)和處理器,相機(jī)采用英特爾Realsense D435深度相機(jī),安裝在機(jī)械臂末端,視覺(jué)識(shí)別算法是采用深度學(xué)習(xí)的YOLOv3算法[6-7],通過(guò)對(duì)果蔬和十字標(biāo)的圖像采集、做標(biāo)簽、訓(xùn)練,生成果蔬采摘識(shí)別模型。采摘識(shí)別模型是智能采摘機(jī)器人的核心,通過(guò)視覺(jué)識(shí)別部分,獲得所需采摘果蔬的三維坐標(biāo),將坐標(biāo)值反饋到機(jī)械臂,進(jìn)行果蔬抓取;十字標(biāo)識(shí)別模型可獲取十字標(biāo)所在的位置信息,將坐標(biāo)反饋到移動(dòng)小車,小車計(jì)算偏差值自主調(diào)整小車位置,提高小車定位精度。智能采收機(jī)器人設(shè)計(jì)方案流程圖如圖2所示。
圖1 智能采摘機(jī)器人及場(chǎng)景圖
圖2 智能采收機(jī)器人設(shè)計(jì)方案流程圖
采摘機(jī)器人最核心的部分是視覺(jué)識(shí)別模塊[8-10],采摘場(chǎng)地沒(méi)有軌道或者尋跡線,移動(dòng)小車的定位需要借助視覺(jué)系統(tǒng)進(jìn)行定位調(diào)整移動(dòng)方向,需采摘的果蔬也需要視覺(jué)識(shí)別模塊來(lái)分辨,本文主要設(shè)計(jì)視覺(jué)識(shí)別部分。視覺(jué)部分的相機(jī)采用英特爾Realsense D435深度攝像頭,安裝在機(jī)械臂上。視覺(jué)部分采用了基于深度學(xué)習(xí)的YOLOv3算法來(lái)實(shí)現(xiàn),用于識(shí)別地面十字標(biāo)定進(jìn)行車輛位置校準(zhǔn),以及果蔬類別和成熟度的識(shí)別,該算法在視覺(jué)識(shí)別時(shí)提供了較高的識(shí)別精確度。
YOLO算法是Joseph等[11]提出,該算法的核心思想就是把目標(biāo)檢測(cè)轉(zhuǎn)變成一個(gè)回歸問(wèn)題,利用整張圖作為網(wǎng)絡(luò)的輸入,僅僅經(jīng)過(guò)一個(gè)神經(jīng)網(wǎng)絡(luò),得到bounding box(邊界框)的位置及其所屬的類別。YOLOv3是目標(biāo)檢測(cè)YOLO系列中非常經(jīng)典的算法,它將圖片劃分成若干個(gè)網(wǎng)格,再基于anchor機(jī)制生成先驗(yàn)框,只用一步就生成檢測(cè)框,檢測(cè)速度較快,極大地滿足了實(shí)時(shí)檢測(cè)的要求,YOLOv3的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)
如圖3可知YOLOv3有三個(gè)基本組件,分別為CBL(Conv + Bn + Leaky_relu激活函數(shù))、 Res unit(殘差結(jié)構(gòu))以及ResX(一個(gè)CBL和X個(gè)殘差組件構(gòu)成)。從YOLOv3網(wǎng)絡(luò)架構(gòu)可知,它的骨干網(wǎng)絡(luò)采用的是Darknet-53,相比于ResNet等網(wǎng)絡(luò),Darknet-53是一種更輕量的網(wǎng)絡(luò)架構(gòu),一共由52層卷積層和1層全連接層組成,采用3×3的卷積核進(jìn)行特征提取。在網(wǎng)絡(luò)設(shè)計(jì)上,Darknet-53采用了殘差連接和FPN(Feature Pyramid Network)特征金字塔融合的思想,FPN通過(guò)卷積降維和提取特征,又通過(guò)上采樣與特征融合的方法融合多尺度特征圖的不同語(yǔ)義信息,將高層的語(yǔ)義信息和底層的輪廓信息全部包含,通過(guò)在不同層級(jí)上進(jìn)行檢測(cè),使得模型能夠更好地適應(yīng)不同大小的目標(biāo),以保證網(wǎng)絡(luò)的深度和信息傳遞能力。具體而言,YOLOv3在網(wǎng)絡(luò)中引入了不同尺度的檢測(cè)層,分別用于檢測(cè)不同范圍內(nèi)的目標(biāo)。這種多尺度預(yù)測(cè)的設(shè)計(jì)允許模型在同一網(wǎng)絡(luò)中處理從小到大的多種目標(biāo)尺寸,從而提高了算法的通用性和適應(yīng)性,這一架構(gòu)設(shè)計(jì)在保持模型性能的同時(shí),降低了網(wǎng)絡(luò)的復(fù)雜性和參數(shù)量。YOLOv3將分類器和回歸器合并在一起,可以在一次前向傳遞中完成檢測(cè)任務(wù),減少了計(jì)算量和延遲。Anchor框是根據(jù)k-means聚類算法生成的,能夠更好地適應(yīng)不同形狀的物體。為了緩解正負(fù)樣本不均勻問(wèn)題,YOLOv3在損失函數(shù)計(jì)算時(shí)采用正樣本和負(fù)樣本兩種情況來(lái)計(jì)算,采用的損失函數(shù)包含三部分,即置信度損失,定位損失和類別損失,正樣本部分損失函數(shù)包含三部分,負(fù)樣本損失函數(shù)只需計(jì)算置信度損失。
通過(guò)相機(jī)采集果蔬以及十字標(biāo)圖像,將圖片處理成416×416像素,并將圖片進(jìn)行Labelimg標(biāo)注,采集的果蔬及十字標(biāo)圖像如圖4所示。
圖4 采集的圖像
由于小車硬件因素,在直行過(guò)程可能會(huì)出現(xiàn)偏差[12-13],對(duì)于此問(wèn)題,我們將小車運(yùn)動(dòng)和視覺(jué)識(shí)別系統(tǒng)相結(jié)合。同樣采用基于深度學(xué)習(xí)的YOLOv3算法,通過(guò)攝像頭對(duì)地面十字標(biāo)定的拍取,將三維坐標(biāo)轉(zhuǎn)換為攝像頭三維坐標(biāo)稱為外參矩陣,將偏差角數(shù)據(jù)信號(hào)反饋給四輪差速小車,通過(guò)小車的控制使攝像頭正對(duì)十字標(biāo)定,從而實(shí)現(xiàn)位置的校準(zhǔn)。識(shí)別結(jié)果如圖5所示,中心紅點(diǎn)即為捕捉的坐標(biāo)值。
圖5 十字標(biāo)識(shí)別結(jié)果
考慮到場(chǎng)地和車輪之間的摩擦?xí)?duì)無(wú)人車的運(yùn)動(dòng)路徑造成影響,本設(shè)備通過(guò)識(shí)別出場(chǎng)地中的十字標(biāo)來(lái)對(duì)無(wú)人車位置進(jìn)行二次校準(zhǔn),進(jìn)而提高果蔬采摘機(jī)器人的位置定位精度。其流程圖如圖6所示。
圖6 運(yùn)動(dòng)校準(zhǔn)部分流程圖
具體而言,首先通過(guò)相機(jī)對(duì)場(chǎng)地進(jìn)行實(shí)時(shí)監(jiān)測(cè),檢測(cè)出場(chǎng)地中存在的十字標(biāo),視覺(jué)系統(tǒng)將十字標(biāo)位置信息反饋給無(wú)人車控制系統(tǒng),控制系統(tǒng)通過(guò)計(jì)算實(shí)際位置與預(yù)定位置之間的偏差,進(jìn)行實(shí)時(shí)校準(zhǔn)。校準(zhǔn)的過(guò)程包括對(duì)無(wú)人車的位置、方向進(jìn)行調(diào)整,以使其與十字標(biāo)的理論位置相符。這種校準(zhǔn)策略可以在無(wú)人車運(yùn)動(dòng)過(guò)程中多次執(zhí)行,以確保其位置保持在預(yù)期范圍內(nèi)。通過(guò)這種方式,無(wú)人車的運(yùn)動(dòng)路徑可以更精確地遵循設(shè)計(jì)的軌跡,從而提高導(dǎo)航的穩(wěn)定性和準(zhǔn)確性。利用場(chǎng)地中的十字標(biāo)作為參考點(diǎn),采用二次校準(zhǔn)策略來(lái)對(duì)無(wú)人車的位置進(jìn)行校準(zhǔn),從而彌補(bǔ)了摩擦和傳感器誤差等因素可能帶來(lái)的影響。這一方法有助于提高無(wú)人車的導(dǎo)航性能,使其在各種場(chǎng)景下都能保持穩(wěn)定的運(yùn)動(dòng)路徑。
在采摘過(guò)程中,需要對(duì)采摘果蔬的類別和成熟度進(jìn)行識(shí)別,且將識(shí)別到的成熟果蔬坐標(biāo)位置傳遞給機(jī)械手臂[14-16],果蔬識(shí)別模型是基于深度學(xué)習(xí)YOLOv3算法,YOLOv3網(wǎng)絡(luò)將物體檢測(cè)問(wèn)題處理成回歸問(wèn)題,用一個(gè)卷積神經(jīng)網(wǎng)絡(luò)采用端到端的處理方式,同時(shí)對(duì)圖像中果蔬的位置和所屬類別及成熟度進(jìn)行預(yù)測(cè)。通過(guò)使用基于錨框的目標(biāo)區(qū)域采集方式,大幅增加了目標(biāo)預(yù)測(cè)區(qū)域的數(shù)量,提升了目標(biāo)區(qū)域的召回率,降低目標(biāo)重疊時(shí)目標(biāo)漏檢數(shù)量。在測(cè)試中使用 D435 深度相機(jī)對(duì)果蔬模型進(jìn)行圖像采集,并采用3D定位算法進(jìn)行果蔬定位。深度相機(jī)固定在機(jī)械臂上,機(jī)械臂以固定的姿勢(shì)去采集圖像,來(lái)確定機(jī)械臂末端與相機(jī)坐標(biāo)系的轉(zhuǎn)換關(guān)系,并對(duì)圖像進(jìn)行隨機(jī)定位處理,獲取大量學(xué)習(xí)圖片。在3D視覺(jué)定位算法中,將圖片作為學(xué)習(xí)訓(xùn)練圖像開(kāi)展YOLO v3算法的學(xué)習(xí),采用邊學(xué)習(xí)邊應(yīng)用的方式,不斷完善模型,生成果蔬識(shí)別模型,可對(duì)果蔬進(jìn)行分類及分辨果蔬成熟度,并獲取分類果實(shí)重心點(diǎn)的平面坐標(biāo)值;根據(jù)成熟果實(shí)的平面坐標(biāo)獲取對(duì)應(yīng)位置的深度坐標(biāo)數(shù)據(jù);將坐標(biāo)數(shù)據(jù)整合成果蔬的完整3D定位坐標(biāo),將3D坐標(biāo)值發(fā)送給機(jī)械臂,完成成熟果蔬的采摘。圖7為智能采摘機(jī)器人在模擬采摘運(yùn)行中對(duì)果蔬的識(shí)別結(jié)果,模型識(shí)別出是南瓜的概率為89.96%,模型識(shí)別出為辣椒的概率為95.44%。
圖7 果蔬識(shí)別結(jié)果
通過(guò)深度相機(jī)加上基于YOLOv3深度學(xué)習(xí)算法訓(xùn)練的果蔬識(shí)別模型能夠滿足小車行走中的識(shí)別定位,從而使小車完成位置校準(zhǔn),實(shí)現(xiàn)準(zhǔn)確行走;果蔬識(shí)別模型對(duì)果蔬及成熟度識(shí)別率較高,能夠正確識(shí)別果蔬種類,并獲取成熟果蔬所在準(zhǔn)確位置,從而將果蔬三維坐標(biāo)值傳送到機(jī)械臂,使機(jī)械臂完成采摘。
為了驗(yàn)證智能采摘機(jī)器人的可行性,將機(jī)器人進(jìn)行模擬采摘測(cè)試,測(cè)試結(jié)果證明視覺(jué)模塊應(yīng)用很流暢,能實(shí)現(xiàn)智能采摘,但是在采摘過(guò)程中還是遇到一些問(wèn)題,比如采用機(jī)械臂模塊為協(xié)作機(jī)械臂,協(xié)作機(jī)械臂的碰撞檢測(cè)保護(hù)機(jī)制很容易使機(jī)械臂在采摘的過(guò)程中,碰到樹枝后觸發(fā),導(dǎo)致機(jī)械臂暫停。在后續(xù)的研究中,可以對(duì)機(jī)械臂運(yùn)動(dòng)軌跡規(guī)劃進(jìn)行深入研究。