姬麗雯,劉永華,高菊玲,吳丹
(1. 江蘇農林職業技術學院機電工程學院,江蘇鎮江,212400;2. 江蘇省現代農業裝備工程中心,江蘇鎮江,212400)
設施農業是典型的勞動密集型產業,其中果實的采摘是占用勞動力最多、自動化實現難度最大的環節,即使在設施農業領域具有高度自動化的發達國家仍然依賴大量的人工采摘[1-2]。因此,采摘自動化是設施農業發展過程中亟需解決的技術難題。早在20世紀80年代初,日本、美國、荷蘭等設施農業自動化程度較高的國家就已經開始了采摘機器人的研究。隨著導航技術、視覺識別技術的發展,采摘對象從單一番茄拓展到目前的番茄、草莓、黃瓜、菌菇等多種設施作物。
中國開展采摘機器人的研究時間較晚,但投入了大量精力并取得了一定成果。魏博等設計了一種欠驅動式柑橘采摘末端執行器,通過三個雙連桿并聯式手指充分抓握和偏轉融合控制,實現柑橘的穩定采摘。通過指根旋轉電機驅動旋轉齒輪使手指旋轉至合適角度,并能完美貼合抓取果實。該末端執行器具有適應性強、抓取穩定等優點,但只在手指內部貼有軟硅橡膠的設計無法避免果實采摘時的破損,將影響果實的品質[3]。馬廷輝設計了4自由度采摘機械手,采用逆運動分析將目標位置轉換為機器人各關節轉角,實現了草莓的穩定采摘,但是自由度的數量限制了機器人的靈活度。于豐華等[4]將機器人的機械臂擴展到6自由度,機械臂搭載了附有薄膜壓力傳感器的柔性手爪,基于R-FCN卷積神經網絡視覺識別技術,設計了以番茄為采摘對象的移動機器人,但是機器人必須通過巡線相機識別溫室內定位膠帶來完成巡檢和采摘,移動的靈活性受到限制。
本文設計了一款農業采摘機器人,以溫室草莓為研究對象,采用同時定位和地圖構建SLAM(Simultaneous Localization and Mapping)技術實現機器人的自主路徑規劃,雙目深度相機實現對成熟草莓的識別和定位,搭載柔性仿生夾爪的6自由度機械臂實現目標草莓的抓取和放置。
設施作物培育模式主要有地面土培和基質高架培育,其中基質高架培育技術因為可以有效避免土傳病害和連作障礙,已經被廣泛地應用在溫室草莓種植中[5]。草莓栽培環境如圖1所示。本文的農業采摘機器人是以溫室基質高架草莓為采摘對象進行研究和試驗。

圖1 草莓栽培環境
農業采摘機器人的硬件部分包括小車底盤、3D相機、協作機器人、激光雷達、超聲波探頭、計算機、顯示器、無線路由器和仿生機械爪等,其系統結構如圖2所示。

圖2 采摘機器人硬件系統結構
車底盤用于承載整個采摘機器人,6個輪式電機動力前進驅動,6個舵機轉向驅動??刂破鬟x擇STM32F103ZET6型號的單片機,通過脈沖寬度調制信號(PWM)控制電機轉動速度和舵機轉向角度,小車可以實現原地0°~360°轉彎,靈活性很高。小車搭配激光雷達,可以實現采摘環境建圖和機器人自主定位。小車使用12個分布式超聲波探頭可以在行駛過程中自動規避障礙物。
協作機器人本體為6自由度的機械臂,最大可以負重3 kg,臂展為832 mm。機械臂的末端執行器為三指仿生柔性夾爪,并配置有壓力檢測裝置,可以根據實際草莓成熟情況調節夾爪壓力,盡量在保證采摘效率的前提下選擇合適的壓力值,降低草莓的采摘損害。夾爪的上面配置有雙目深度相機,可以實時檢測出目標果實與機械臂的相對位置。
農業采摘機器人總共使用了三臺計算機用于軟件開發。1#計算機與3D雙目深度相機關聯,用于開發圖像識別系統,2#計算機將激光雷達和小車底盤關聯起來開發小車導航系統,3#計算機作為用戶端遠程操控使用。三臺計算機和機械臂計算機共同組成分布式機器人操作系統ROS(Robot Operating System)。ROS是一個分布式的節點框架,使用“發布—訂閱式”的通信框架構建分布式計算系[6-7]。根據系統的配置方式,任何節點需要隨時與其他節點進行通信,這就要保證ROS系統中的計算機處于同一網絡中,分布式計算系如圖3所示。

圖3 ROS分布式計算系
機器人的軟件包括采摘信息系統設計和導航信息系統設計。兩個系統都由三層架構組成,分別為物理感知層、處理層和信息執行層。物理感知層的作用是采集并傳輸環境數據至處理層。處理層接收到數據后經計算機的智能算法分析得到控制指令,作用于信息執行層的執行機構,控制小車運動到目標位置,機械臂完成采摘動作。機器人的軟件系統框圖如圖4所示。

圖4 機器人軟件系統框圖
在采摘信息系統中,雙目深度相機拍攝草莓圖片,通過圖像采集卡將圖片上傳至1#計算機,經過計算機處理產生采集控制指令。1#計算機與2#計算機通信,將生成的采摘目標位置告知2#計算機,2#計算機應用導航控制程序生成規劃路徑,控制單片機產生脈沖寬度調制信號(PWM),驅動小車運行。1#計算機同時與機器人通信,機器人控制器經過逆運動分析,根據目標位置反推得到機械臂各關節的運動數據,機械臂根據關節數據配合機械手完成草莓的采摘。
激光雷達相較于北斗或GPS導航,具有精度高、靈活性高、位置測量速度快等優點,將它作為移動機器人的導航方式,測距誤差小于1%。機器人從起點位置開始運動,在運動過程中依據位置估量和傳感器數據進行自身定位,同時完成增量式地圖的構建。本機器人采用了思嵐RPLIDAR-A3紅外激光雷達,通過串口與Raspberry Pi 4B相連。激光雷達的主要技術參數如表1所示。

表1 RPLIDAR-A3激光雷達主要技術參數Tab. 1 Main technical parameters of RPLIDAR-A3 laser radar
采摘機器的自動路徑規劃,采用改進的A*算法。A*算法的基本原理是利用起點、當前節點和目標節點的位置關系建立路徑決策優先級函數,公式如式(1)所示。
f(n)=g(n)+h(n)
(1)
式中:f(n)——節點N的路徑決策優先級;
g(n)——當前節點N距離起點S的實際代價;
h(n)——節點N距離終點E的預計代價,這也就是A*算法的啟發函數,表示對未走過節點的預測。
A*算法在運算過程中,每次從優先隊列中選取f(n)值最小(優先級最高)的節點作為下一個待遍歷的節點。
圖5為模擬的柵格地圖中優先級函數的代價圖,在地圖中路線g(n)表示從起點S到當前節點N的實際代價。h(n)啟發函數為終點E到當前節點N的歐式距離,即
(2)
式中: (XE,YE)——終點E的坐標值;
(XN,YN)——當前節點N的坐標值。
傳統A*算法的啟發函數h(n)是當前節點N到終點E的最短距離,但在實際情況中,節點與終點之間可能會存在障礙。此時選擇的啟發函數h(n)越小,算法遍歷的節點越多,也就導致算法越慢,這也會嚴重影響機器人的采摘效率。所以對啟發函數進行改進,設計沿地圖中線45°遍歷節點,這也是機器人行走的較大概率方向。改進后啟發函數為
(3)
在實際機器人采摘場景中,未必需要機器人一定沿最短路徑行走,而是希望能夠盡快找到一個可行路徑即可。而調節啟發函數和實際代價值可以控制算法速度和精確度,因此增加一個系數p,以使路徑和速度之間達到一個平衡。改進后的A*算法評價函數為
f(n)=(1-p)g(n)+ph*(n)(0≤p≤1)
(4)
(5)

圖5 柵格地圖中優先級函數代價圖
在試驗過程中反復調試,找個合適的系數p,使機器人的行走機構可以在較短時間內完成較優路徑的規劃。
使用激光雷達進行地圖構建與定位,并采用改進的A*算法進行自主導航,試驗結果如圖6所示。地圖中標定機器人當前位置和朝向,箭頭的方向為機器人的朝向。當系統發布一個目標位置A1時,機器人即可自主路徑規劃和導航避障到達目標位置。

圖6 機器人自動導航圖界面
手眼協調是體現采摘機器人自主作業的關鍵[8-9]。根據相機和末端執行器的位置關系,常見的手眼系統分別為Eye to Hand型和Eye in Hand型,其中Eye to Hand型是將相機安裝在機械臂以外的地方,并保證在采摘的過程中固定不動,Eye in Hand型是將相機安裝在機械臂末端,在采摘的過程中相機跟隨機械臂運動[10]。本文選擇的手眼系統為Eye in Hand型,在末端夾爪上連接小覓MYNTEYE雙目深度相機。
首先,將預先拍攝好的圖像標注成熟草莓標簽,圖像標注后,對成熟草莓圖像進行數據擴充,擴充圖片張數進行數據集構建。將數據集按照4∶1的比例劃分訓練集和測試集,用于全卷積神經網絡R-FCN模型訓練,實現成熟草莓的識別。
R-FCN是在Faster R-CNN的基礎上,由Dai等人提出的,它將ROI Pooling后面的全連接層都用卷積層所代替,加快了運行速度。R-FCN通過兩個階段實現目標識別檢測。首先使用RPN區域網絡提取候選框,生成感興趣區域ROI;然后,使用位置敏感得分圖來生成感興趣區域不同位置的特征,用于解決物體分類,生成的ROI經過回歸器進一步調整位置,使ROI的位置精度更高[11]。R-FCN具體由Resnet-101殘差網絡、RPN候選區域生成網絡、ROI池化層、投票層和損失函數(softmax和smoothL1函數)組成,其網絡結構示意圖見圖7所示。

圖7 R-FCN 網絡結構示意圖
Resnet-101殘差網絡主要用于圖像分類,解決層數過深時神經網絡訓練效果變差的情況。RPN候選區域生成網絡經過卷積核為3×3、邊界填充為1、滑動步長為1的卷積后,由一個特征圖像滑動窗口,為每個位置生成9種不同類型的錨框,用于評估該區域為目標區域的可能性,最后經過softmax分類器獲得候選區域ROI。分別對每一個ROI進行分類和回歸,這樣就可以得到每個ROI的真實類別和較為精確的回歸偏移量。R-FCN檢測算法采用了Resnet-101作為特征提取的骨干網絡,它的網絡結構如表4所示。Resnet-101有5層卷積層和最后的全連接層構成,其中全連接層引進了1×1的卷積核,進行降維,減少參數數量[12-13]。

表4 Resnet-101網絡結構Tab. 4 Resnet-101 network structure
RGB深度相機通過攝像采集獲得RGB圖像與深度圖像,其中RGB圖像經過R-FCN目標檢測算法,計算出草莓所在的二維平面位置,然后通過相機的內置參數,得到RGB圖像與深度圖像的坐標映射關系,實現兩種圖像的融合,生成目標草莓的三維點云圖。
由于相機視野中捕獲目標物體的坐標系與機器人坐標系不一致,它們各自的坐標沒有聯系,所以為了使兩者坐標系形成關聯,以便引導機器人進行采摘,故需要將相機的坐標系變換到機器人坐標系中,即進行標定。
對于眼在手上(eye In hand)即相機固定在機械臂末端,主要標定相機和機械臂末端的轉換矩陣。實現方法是將標定板放在機械臂工作空間中的一個固定位置,移動機械臂,從不同角度拍攝n張標定板圖片,為了標定的準確性,一般會選擇n>6。已知對每張圖片有
(6)




變換矩陣由旋轉矩陣和平移矩陣組成,我們以機械臂末端坐標系到機械臂基底坐標系變換矩陣為例進行說明,轉換矩陣表示如式(7)所示。
(7)


…
(8)

在軟件系統中使用OpenCV手眼標定calibrateHandeye()完成,屬性中輸入矩陣為
輸出矩陣為
手眼標定方式為Tsai。輸入矩陣中的
本文采用課題組開發的農業采摘機器人進行試驗研究。試驗于2022年4月在江蘇省農博園草莓溫室中進行。溫室長50 m,寬30 m,溫室中的甜寶草莓按照基質高架培育技術進行栽培,基質架之間的距離為1.5 m,高度為0.8 m,溫室內共12排基質。
將機器人放置于溫室中,放置好果蔬籃,讓機器人開始采摘??蛻羯衔粰C運行農業采摘機器人軟件平臺,該平臺可以進行機器人的手眼標定、成熟果實的標識和成熟果實的相機世界坐標和機器人世界坐標的顯示,并且可以實時顯示機器人六個關節軸的位姿信息,如圖8所示。

圖8 草莓識別結果圖
機器人在室內無光照環境下進行采摘,觀察其采摘機器人整體試驗數據如表5所示。從表5可以看出,將成功識別的成熟草莓數量除以該區域樣本總數(成功識別的成熟草莓數量與未能成功識別的成熟草莓的數量之和)可以得到草莓的識別率為95%。采摘成功的果實數量除了成功識別的果實數量得到一次采摘成功率為88.5%,二次采摘的成功率為94.6%。

表5 機器人采摘效果數據Tab. 5 Robot picking effect data
導出軟件平臺記錄的數據,隨機整理出8個草莓的檢測坐標以及抓取這些草莓時的機器人手爪坐標和誤差參數如表6所示。

表6 草莓采摘數據Tab. 6 Strawberry picking data
綜上所述,采摘機器人成熟草莓識別率大概在95%,未識別原因主要由于葉片遮擋或者草莓之間堆疊。系統可以對草莓進行三維定位,且檢測到的草莓坐標與機器人手爪坐標的誤差在4 mm以下,雖然誤差較小,但草莓體積也較小,這就導致了一次采摘的成功率較低,需要進行二次采摘才能達到90%以上的采摘成功率。
本文設計一款農業采摘機器人,可以在溫室中自由行走并采摘成熟草莓,通過采摘試驗得出結論如下。
1) 該機器人采用同時定位和地圖構建SLAM技術實現機器人的自主路徑規劃。
2) 使用基于卷積神經網絡R-FCN的目標檢測算法可完成對成熟草莓的自動識別和坐標定位,成熟草莓識別率大概在95%。針對葉片遮擋或者草莓堆疊問題,考慮后期為機器人設計吹風裝置,提高識別效率。
3) 因為草莓的體積較小,要求目標物體位置定位精度高,以及機器人的運動誤差小。后期會從這兩個方面進行改進。