姬麗雯,劉永華,高菊玲,吳丹
(1. 江蘇農(nóng)林職業(yè)技術(shù)學(xué)院機(jī)電工程學(xué)院,江蘇鎮(zhèn)江,212400;2. 江蘇省現(xiàn)代農(nóng)業(yè)裝備工程中心,江蘇鎮(zhèn)江,212400)
設(shè)施農(nóng)業(yè)是典型的勞動(dòng)密集型產(chǎn)業(yè),其中果實(shí)的采摘是占用勞動(dòng)力最多、自動(dòng)化實(shí)現(xiàn)難度最大的環(huán)節(jié),即使在設(shè)施農(nóng)業(yè)領(lǐng)域具有高度自動(dòng)化的發(fā)達(dá)國(guó)家仍然依賴大量的人工采摘[1-2]。因此,采摘自動(dòng)化是設(shè)施農(nóng)業(yè)發(fā)展過(guò)程中亟需解決的技術(shù)難題。早在20世紀(jì)80年代初,日本、美國(guó)、荷蘭等設(shè)施農(nóng)業(yè)自動(dòng)化程度較高的國(guó)家就已經(jīng)開(kāi)始了采摘機(jī)器人的研究。隨著導(dǎo)航技術(shù)、視覺(jué)識(shí)別技術(shù)的發(fā)展,采摘對(duì)象從單一番茄拓展到目前的番茄、草莓、黃瓜、菌菇等多種設(shè)施作物。
中國(guó)開(kāi)展采摘機(jī)器人的研究時(shí)間較晚,但投入了大量精力并取得了一定成果。魏博等設(shè)計(jì)了一種欠驅(qū)動(dòng)式柑橘采摘末端執(zhí)行器,通過(guò)三個(gè)雙連桿并聯(lián)式手指充分抓握和偏轉(zhuǎn)融合控制,實(shí)現(xiàn)柑橘的穩(wěn)定采摘。通過(guò)指根旋轉(zhuǎn)電機(jī)驅(qū)動(dòng)旋轉(zhuǎn)齒輪使手指旋轉(zhuǎn)至合適角度,并能完美貼合抓取果實(shí)。該末端執(zhí)行器具有適應(yīng)性強(qiáng)、抓取穩(wěn)定等優(yōu)點(diǎn),但只在手指內(nèi)部貼有軟硅橡膠的設(shè)計(jì)無(wú)法避免果實(shí)采摘時(shí)的破損,將影響果實(shí)的品質(zhì)[3]。馬廷輝設(shè)計(jì)了4自由度采摘機(jī)械手,采用逆運(yùn)動(dòng)分析將目標(biāo)位置轉(zhuǎn)換為機(jī)器人各關(guān)節(jié)轉(zhuǎn)角,實(shí)現(xiàn)了草莓的穩(wěn)定采摘,但是自由度的數(shù)量限制了機(jī)器人的靈活度。于豐華等[4]將機(jī)器人的機(jī)械臂擴(kuò)展到6自由度,機(jī)械臂搭載了附有薄膜壓力傳感器的柔性手爪,基于R-FCN卷積神經(jīng)網(wǎng)絡(luò)視覺(jué)識(shí)別技術(shù),設(shè)計(jì)了以番茄為采摘對(duì)象的移動(dòng)機(jī)器人,但是機(jī)器人必須通過(guò)巡線相機(jī)識(shí)別溫室內(nèi)定位膠帶來(lái)完成巡檢和采摘,移動(dòng)的靈活性受到限制。
本文設(shè)計(jì)了一款農(nóng)業(yè)采摘機(jī)器人,以溫室草莓為研究對(duì)象,采用同時(shí)定位和地圖構(gòu)建SLAM(Simultaneous Localization and Mapping)技術(shù)實(shí)現(xiàn)機(jī)器人的自主路徑規(guī)劃,雙目深度相機(jī)實(shí)現(xiàn)對(duì)成熟草莓的識(shí)別和定位,搭載柔性仿生夾爪的6自由度機(jī)械臂實(shí)現(xiàn)目標(biāo)草莓的抓取和放置。
設(shè)施作物培育模式主要有地面土培和基質(zhì)高架培育,其中基質(zhì)高架培育技術(shù)因?yàn)榭梢杂行П苊馔羵鞑『瓦B作障礙,已經(jīng)被廣泛地應(yīng)用在溫室草莓種植中[5]。草莓栽培環(huán)境如圖1所示。本文的農(nóng)業(yè)采摘機(jī)器人是以溫室基質(zhì)高架草莓為采摘對(duì)象進(jìn)行研究和試驗(yàn)。
圖1 草莓栽培環(huán)境
農(nóng)業(yè)采摘機(jī)器人的硬件部分包括小車底盤(pán)、3D相機(jī)、協(xié)作機(jī)器人、激光雷達(dá)、超聲波探頭、計(jì)算機(jī)、顯示器、無(wú)線路由器和仿生機(jī)械爪等,其系統(tǒng)結(jié)構(gòu)如圖2所示。
圖2 采摘機(jī)器人硬件系統(tǒng)結(jié)構(gòu)
車底盤(pán)用于承載整個(gè)采摘機(jī)器人,6個(gè)輪式電機(jī)動(dòng)力前進(jìn)驅(qū)動(dòng),6個(gè)舵機(jī)轉(zhuǎn)向驅(qū)動(dòng)??刂破鬟x擇STM32F103ZET6型號(hào)的單片機(jī),通過(guò)脈沖寬度調(diào)制信號(hào)(PWM)控制電機(jī)轉(zhuǎn)動(dòng)速度和舵機(jī)轉(zhuǎn)向角度,小車可以實(shí)現(xiàn)原地0°~360°轉(zhuǎn)彎,靈活性很高。小車搭配激光雷達(dá),可以實(shí)現(xiàn)采摘環(huán)境建圖和機(jī)器人自主定位。小車使用12個(gè)分布式超聲波探頭可以在行駛過(guò)程中自動(dòng)規(guī)避障礙物。
協(xié)作機(jī)器人本體為6自由度的機(jī)械臂,最大可以負(fù)重3 kg,臂展為832 mm。機(jī)械臂的末端執(zhí)行器為三指仿生柔性?shī)A爪,并配置有壓力檢測(cè)裝置,可以根據(jù)實(shí)際草莓成熟情況調(diào)節(jié)夾爪壓力,盡量在保證采摘效率的前提下選擇合適的壓力值,降低草莓的采摘損害。夾爪的上面配置有雙目深度相機(jī),可以實(shí)時(shí)檢測(cè)出目標(biāo)果實(shí)與機(jī)械臂的相對(duì)位置。
農(nóng)業(yè)采摘機(jī)器人總共使用了三臺(tái)計(jì)算機(jī)用于軟件開(kāi)發(fā)。1#計(jì)算機(jī)與3D雙目深度相機(jī)關(guān)聯(lián),用于開(kāi)發(fā)圖像識(shí)別系統(tǒng),2#計(jì)算機(jī)將激光雷達(dá)和小車底盤(pán)關(guān)聯(lián)起來(lái)開(kāi)發(fā)小車導(dǎo)航系統(tǒng),3#計(jì)算機(jī)作為用戶端遠(yuǎn)程操控使用。三臺(tái)計(jì)算機(jī)和機(jī)械臂計(jì)算機(jī)共同組成分布式機(jī)器人操作系統(tǒng)ROS(Robot Operating System)。ROS是一個(gè)分布式的節(jié)點(diǎn)框架,使用“發(fā)布—訂閱式”的通信框架構(gòu)建分布式計(jì)算系[6-7]。根據(jù)系統(tǒng)的配置方式,任何節(jié)點(diǎn)需要隨時(shí)與其他節(jié)點(diǎn)進(jìn)行通信,這就要保證ROS系統(tǒng)中的計(jì)算機(jī)處于同一網(wǎng)絡(luò)中,分布式計(jì)算系如圖3所示。
圖3 ROS分布式計(jì)算系
機(jī)器人的軟件包括采摘信息系統(tǒng)設(shè)計(jì)和導(dǎo)航信息系統(tǒng)設(shè)計(jì)。兩個(gè)系統(tǒng)都由三層架構(gòu)組成,分別為物理感知層、處理層和信息執(zhí)行層。物理感知層的作用是采集并傳輸環(huán)境數(shù)據(jù)至處理層。處理層接收到數(shù)據(jù)后經(jīng)計(jì)算機(jī)的智能算法分析得到控制指令,作用于信息執(zhí)行層的執(zhí)行機(jī)構(gòu),控制小車運(yùn)動(dòng)到目標(biāo)位置,機(jī)械臂完成采摘?jiǎng)幼?。機(jī)器人的軟件系統(tǒng)框圖如圖4所示。
圖4 機(jī)器人軟件系統(tǒng)框圖
在采摘信息系統(tǒng)中,雙目深度相機(jī)拍攝草莓圖片,通過(guò)圖像采集卡將圖片上傳至1#計(jì)算機(jī),經(jīng)過(guò)計(jì)算機(jī)處理產(chǎn)生采集控制指令。1#計(jì)算機(jī)與2#計(jì)算機(jī)通信,將生成的采摘目標(biāo)位置告知2#計(jì)算機(jī),2#計(jì)算機(jī)應(yīng)用導(dǎo)航控制程序生成規(guī)劃路徑,控制單片機(jī)產(chǎn)生脈沖寬度調(diào)制信號(hào)(PWM),驅(qū)動(dòng)小車運(yùn)行。1#計(jì)算機(jī)同時(shí)與機(jī)器人通信,機(jī)器人控制器經(jīng)過(guò)逆運(yùn)動(dòng)分析,根據(jù)目標(biāo)位置反推得到機(jī)械臂各關(guān)節(jié)的運(yùn)動(dòng)數(shù)據(jù),機(jī)械臂根據(jù)關(guān)節(jié)數(shù)據(jù)配合機(jī)械手完成草莓的采摘。
激光雷達(dá)相較于北斗或GPS導(dǎo)航,具有精度高、靈活性高、位置測(cè)量速度快等優(yōu)點(diǎn),將它作為移動(dòng)機(jī)器人的導(dǎo)航方式,測(cè)距誤差小于1%。機(jī)器人從起點(diǎn)位置開(kāi)始運(yùn)動(dòng),在運(yùn)動(dòng)過(guò)程中依據(jù)位置估量和傳感器數(shù)據(jù)進(jìn)行自身定位,同時(shí)完成增量式地圖的構(gòu)建。本機(jī)器人采用了思嵐RPLIDAR-A3紅外激光雷達(dá),通過(guò)串口與Raspberry Pi 4B相連。激光雷達(dá)的主要技術(shù)參數(shù)如表1所示。
表1 RPLIDAR-A3激光雷達(dá)主要技術(shù)參數(shù)Tab. 1 Main technical parameters of RPLIDAR-A3 laser radar
采摘機(jī)器的自動(dòng)路徑規(guī)劃,采用改進(jìn)的A*算法。A*算法的基本原理是利用起點(diǎn)、當(dāng)前節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)的位置關(guān)系建立路徑?jīng)Q策優(yōu)先級(jí)函數(shù),公式如式(1)所示。
f(n)=g(n)+h(n)
(1)
式中:f(n)——節(jié)點(diǎn)N的路徑?jīng)Q策優(yōu)先級(jí);
g(n)——當(dāng)前節(jié)點(diǎn)N距離起點(diǎn)S的實(shí)際代價(jià);
h(n)——節(jié)點(diǎn)N距離終點(diǎn)E的預(yù)計(jì)代價(jià),這也就是A*算法的啟發(fā)函數(shù),表示對(duì)未走過(guò)節(jié)點(diǎn)的預(yù)測(cè)。
A*算法在運(yùn)算過(guò)程中,每次從優(yōu)先隊(duì)列中選取f(n)值最小(優(yōu)先級(jí)最高)的節(jié)點(diǎn)作為下一個(gè)待遍歷的節(jié)點(diǎn)。
圖5為模擬的柵格地圖中優(yōu)先級(jí)函數(shù)的代價(jià)圖,在地圖中路線g(n)表示從起點(diǎn)S到當(dāng)前節(jié)點(diǎn)N的實(shí)際代價(jià)。h(n)啟發(fā)函數(shù)為終點(diǎn)E到當(dāng)前節(jié)點(diǎn)N的歐式距離,即
(2)
式中: (XE,YE)——終點(diǎn)E的坐標(biāo)值;
(XN,YN)——當(dāng)前節(jié)點(diǎn)N的坐標(biāo)值。
傳統(tǒng)A*算法的啟發(fā)函數(shù)h(n)是當(dāng)前節(jié)點(diǎn)N到終點(diǎn)E的最短距離,但在實(shí)際情況中,節(jié)點(diǎn)與終點(diǎn)之間可能會(huì)存在障礙。此時(shí)選擇的啟發(fā)函數(shù)h(n)越小,算法遍歷的節(jié)點(diǎn)越多,也就導(dǎo)致算法越慢,這也會(huì)嚴(yán)重影響機(jī)器人的采摘效率。所以對(duì)啟發(fā)函數(shù)進(jìn)行改進(jìn),設(shè)計(jì)沿地圖中線45°遍歷節(jié)點(diǎn),這也是機(jī)器人行走的較大概率方向。改進(jìn)后啟發(fā)函數(shù)為
(3)
在實(shí)際機(jī)器人采摘場(chǎng)景中,未必需要機(jī)器人一定沿最短路徑行走,而是希望能夠盡快找到一個(gè)可行路徑即可。而調(diào)節(jié)啟發(fā)函數(shù)和實(shí)際代價(jià)值可以控制算法速度和精確度,因此增加一個(gè)系數(shù)p,以使路徑和速度之間達(dá)到一個(gè)平衡。改進(jìn)后的A*算法評(píng)價(jià)函數(shù)為
f(n)=(1-p)g(n)+ph*(n)(0≤p≤1)
(4)
(5)
圖5 柵格地圖中優(yōu)先級(jí)函數(shù)代價(jià)圖
在試驗(yàn)過(guò)程中反復(fù)調(diào)試,找個(gè)合適的系數(shù)p,使機(jī)器人的行走機(jī)構(gòu)可以在較短時(shí)間內(nèi)完成較優(yōu)路徑的規(guī)劃。
使用激光雷達(dá)進(jìn)行地圖構(gòu)建與定位,并采用改進(jìn)的A*算法進(jìn)行自主導(dǎo)航,試驗(yàn)結(jié)果如圖6所示。地圖中標(biāo)定機(jī)器人當(dāng)前位置和朝向,箭頭的方向?yàn)闄C(jī)器人的朝向。當(dāng)系統(tǒng)發(fā)布一個(gè)目標(biāo)位置A1時(shí),機(jī)器人即可自主路徑規(guī)劃和導(dǎo)航避障到達(dá)目標(biāo)位置。
圖6 機(jī)器人自動(dòng)導(dǎo)航圖界面
手眼協(xié)調(diào)是體現(xiàn)采摘機(jī)器人自主作業(yè)的關(guān)鍵[8-9]。根據(jù)相機(jī)和末端執(zhí)行器的位置關(guān)系,常見(jiàn)的手眼系統(tǒng)分別為Eye to Hand型和Eye in Hand型,其中Eye to Hand型是將相機(jī)安裝在機(jī)械臂以外的地方,并保證在采摘的過(guò)程中固定不動(dòng),Eye in Hand型是將相機(jī)安裝在機(jī)械臂末端,在采摘的過(guò)程中相機(jī)跟隨機(jī)械臂運(yùn)動(dòng)[10]。本文選擇的手眼系統(tǒng)為Eye in Hand型,在末端夾爪上連接小覓MYNTEYE雙目深度相機(jī)。
首先,將預(yù)先拍攝好的圖像標(biāo)注成熟草莓標(biāo)簽,圖像標(biāo)注后,對(duì)成熟草莓圖像進(jìn)行數(shù)據(jù)擴(kuò)充,擴(kuò)充圖片張數(shù)進(jìn)行數(shù)據(jù)集構(gòu)建。將數(shù)據(jù)集按照4∶1的比例劃分訓(xùn)練集和測(cè)試集,用于全卷積神經(jīng)網(wǎng)絡(luò)R-FCN模型訓(xùn)練,實(shí)現(xiàn)成熟草莓的識(shí)別。
R-FCN是在Faster R-CNN的基礎(chǔ)上,由Dai等人提出的,它將ROI Pooling后面的全連接層都用卷積層所代替,加快了運(yùn)行速度。R-FCN通過(guò)兩個(gè)階段實(shí)現(xiàn)目標(biāo)識(shí)別檢測(cè)。首先使用RPN區(qū)域網(wǎng)絡(luò)提取候選框,生成感興趣區(qū)域ROI;然后,使用位置敏感得分圖來(lái)生成感興趣區(qū)域不同位置的特征,用于解決物體分類,生成的ROI經(jīng)過(guò)回歸器進(jìn)一步調(diào)整位置,使ROI的位置精度更高[11]。R-FCN具體由Resnet-101殘差網(wǎng)絡(luò)、RPN候選區(qū)域生成網(wǎng)絡(luò)、ROI池化層、投票層和損失函數(shù)(softmax和smoothL1函數(shù))組成,其網(wǎng)絡(luò)結(jié)構(gòu)示意圖見(jiàn)圖7所示。
圖7 R-FCN 網(wǎng)絡(luò)結(jié)構(gòu)示意圖
Resnet-101殘差網(wǎng)絡(luò)主要用于圖像分類,解決層數(shù)過(guò)深時(shí)神經(jīng)網(wǎng)絡(luò)訓(xùn)練效果變差的情況。RPN候選區(qū)域生成網(wǎng)絡(luò)經(jīng)過(guò)卷積核為3×3、邊界填充為1、滑動(dòng)步長(zhǎng)為1的卷積后,由一個(gè)特征圖像滑動(dòng)窗口,為每個(gè)位置生成9種不同類型的錨框,用于評(píng)估該區(qū)域?yàn)槟繕?biāo)區(qū)域的可能性,最后經(jīng)過(guò)softmax分類器獲得候選區(qū)域ROI。分別對(duì)每一個(gè)ROI進(jìn)行分類和回歸,這樣就可以得到每個(gè)ROI的真實(shí)類別和較為精確的回歸偏移量。R-FCN檢測(cè)算法采用了Resnet-101作為特征提取的骨干網(wǎng)絡(luò),它的網(wǎng)絡(luò)結(jié)構(gòu)如表4所示。Resnet-101有5層卷積層和最后的全連接層構(gòu)成,其中全連接層引進(jìn)了1×1的卷積核,進(jìn)行降維,減少參數(shù)數(shù)量[12-13]。
表4 Resnet-101網(wǎng)絡(luò)結(jié)構(gòu)Tab. 4 Resnet-101 network structure
RGB深度相機(jī)通過(guò)攝像采集獲得RGB圖像與深度圖像,其中RGB圖像經(jīng)過(guò)R-FCN目標(biāo)檢測(cè)算法,計(jì)算出草莓所在的二維平面位置,然后通過(guò)相機(jī)的內(nèi)置參數(shù),得到RGB圖像與深度圖像的坐標(biāo)映射關(guān)系,實(shí)現(xiàn)兩種圖像的融合,生成目標(biāo)草莓的三維點(diǎn)云圖。
由于相機(jī)視野中捕獲目標(biāo)物體的坐標(biāo)系與機(jī)器人坐標(biāo)系不一致,它們各自的坐標(biāo)沒(méi)有聯(lián)系,所以為了使兩者坐標(biāo)系形成關(guān)聯(lián),以便引導(dǎo)機(jī)器人進(jìn)行采摘,故需要將相機(jī)的坐標(biāo)系變換到機(jī)器人坐標(biāo)系中,即進(jìn)行標(biāo)定。
對(duì)于眼在手上(eye In hand)即相機(jī)固定在機(jī)械臂末端,主要標(biāo)定相機(jī)和機(jī)械臂末端的轉(zhuǎn)換矩陣。實(shí)現(xiàn)方法是將標(biāo)定板放在機(jī)械臂工作空間中的一個(gè)固定位置,移動(dòng)機(jī)械臂,從不同角度拍攝n張標(biāo)定板圖片,為了標(biāo)定的準(zhǔn)確性,一般會(huì)選擇n>6。已知對(duì)每張圖片有
(6)
變換矩陣由旋轉(zhuǎn)矩陣和平移矩陣組成,我們以機(jī)械臂末端坐標(biāo)系到機(jī)械臂基底坐標(biāo)系變換矩陣為例進(jìn)行說(shuō)明,轉(zhuǎn)換矩陣表示如式(7)所示。
(7)
…
(8)
在軟件系統(tǒng)中使用OpenCV手眼標(biāo)定calibrateHandeye()完成,屬性中輸入矩陣為
輸出矩陣為
手眼標(biāo)定方式為T(mén)sai。輸入矩陣中的
本文采用課題組開(kāi)發(fā)的農(nóng)業(yè)采摘機(jī)器人進(jìn)行試驗(yàn)研究。試驗(yàn)于2022年4月在江蘇省農(nóng)博園草莓溫室中進(jìn)行。溫室長(zhǎng)50 m,寬30 m,溫室中的甜寶草莓按照基質(zhì)高架培育技術(shù)進(jìn)行栽培,基質(zhì)架之間的距離為1.5 m,高度為0.8 m,溫室內(nèi)共12排基質(zhì)。
將機(jī)器人放置于溫室中,放置好果蔬籃,讓機(jī)器人開(kāi)始采摘??蛻羯衔粰C(jī)運(yùn)行農(nóng)業(yè)采摘機(jī)器人軟件平臺(tái),該平臺(tái)可以進(jìn)行機(jī)器人的手眼標(biāo)定、成熟果實(shí)的標(biāo)識(shí)和成熟果實(shí)的相機(jī)世界坐標(biāo)和機(jī)器人世界坐標(biāo)的顯示,并且可以實(shí)時(shí)顯示機(jī)器人六個(gè)關(guān)節(jié)軸的位姿信息,如圖8所示。
圖8 草莓識(shí)別結(jié)果圖
機(jī)器人在室內(nèi)無(wú)光照環(huán)境下進(jìn)行采摘,觀察其采摘機(jī)器人整體試驗(yàn)數(shù)據(jù)如表5所示。從表5可以看出,將成功識(shí)別的成熟草莓?dāng)?shù)量除以該區(qū)域樣本總數(shù)(成功識(shí)別的成熟草莓?dāng)?shù)量與未能成功識(shí)別的成熟草莓的數(shù)量之和)可以得到草莓的識(shí)別率為95%。采摘成功的果實(shí)數(shù)量除了成功識(shí)別的果實(shí)數(shù)量得到一次采摘成功率為88.5%,二次采摘的成功率為94.6%。
表5 機(jī)器人采摘效果數(shù)據(jù)Tab. 5 Robot picking effect data
導(dǎo)出軟件平臺(tái)記錄的數(shù)據(jù),隨機(jī)整理出8個(gè)草莓的檢測(cè)坐標(biāo)以及抓取這些草莓時(shí)的機(jī)器人手爪坐標(biāo)和誤差參數(shù)如表6所示。
表6 草莓采摘數(shù)據(jù)Tab. 6 Strawberry picking data
綜上所述,采摘機(jī)器人成熟草莓識(shí)別率大概在95%,未識(shí)別原因主要由于葉片遮擋或者草莓之間堆疊。系統(tǒng)可以對(duì)草莓進(jìn)行三維定位,且檢測(cè)到的草莓坐標(biāo)與機(jī)器人手爪坐標(biāo)的誤差在4 mm以下,雖然誤差較小,但草莓體積也較小,這就導(dǎo)致了一次采摘的成功率較低,需要進(jìn)行二次采摘才能達(dá)到90%以上的采摘成功率。
本文設(shè)計(jì)一款農(nóng)業(yè)采摘機(jī)器人,可以在溫室中自由行走并采摘成熟草莓,通過(guò)采摘試驗(yàn)得出結(jié)論如下。
1) 該機(jī)器人采用同時(shí)定位和地圖構(gòu)建SLAM技術(shù)實(shí)現(xiàn)機(jī)器人的自主路徑規(guī)劃。
2) 使用基于卷積神經(jīng)網(wǎng)絡(luò)R-FCN的目標(biāo)檢測(cè)算法可完成對(duì)成熟草莓的自動(dòng)識(shí)別和坐標(biāo)定位,成熟草莓識(shí)別率大概在95%。針對(duì)葉片遮擋或者草莓堆疊問(wèn)題,考慮后期為機(jī)器人設(shè)計(jì)吹風(fēng)裝置,提高識(shí)別效率。
3) 因?yàn)椴葺捏w積較小,要求目標(biāo)物體位置定位精度高,以及機(jī)器人的運(yùn)動(dòng)誤差小。后期會(huì)從這兩個(gè)方面進(jìn)行改進(jìn)。
中國(guó)農(nóng)機(jī)化學(xué)報(bào)2023年1期