袁 越 , 趙大旭
(浙江農(nóng)林大學(xué)光機電工程學(xué)院,浙江 杭州 311300)
機器人融合了機械、電子、信息等多學(xué)科技術(shù),參加機器人相關(guān)學(xué)科競賽,需要深入學(xué)習(xí)和理解機構(gòu)學(xué)、機器人學(xué)、傳感器技術(shù)、測試技術(shù)、機器視覺、圖形圖像處理、控制理論等相關(guān)領(lǐng)域的知識,分析機器人工作環(huán)境,設(shè)計具體作業(yè)參數(shù),編程實現(xiàn)不同環(huán)境下的作業(yè)功能。智能采摘機器人是中國機器人及人工智能大賽的子賽項,比賽場地如圖1所示。機器人從起點區(qū)出發(fā),經(jīng)過 A 區(qū)、B 區(qū)、C 區(qū)、D 區(qū),采收果蔬,并在分類后放置到 D 區(qū)規(guī)定區(qū)域。
圖1 比賽場地導(dǎo)圖
機器人包括機械本體、檢測傳感系統(tǒng)、執(zhí)行機構(gòu)和控制系統(tǒng)幾大部分,整體設(shè)計方案和布局如圖2所示?;谀K化設(shè)計思想,機器人的行走、環(huán)境感知、機器視覺、采摘執(zhí)行機構(gòu)、機器視覺和主控制單元等子系統(tǒng)均以模塊形式進(jìn)行設(shè)計開發(fā),可方便根據(jù)任務(wù)進(jìn)行組合以及移植到其他機器人上。機械本體包括移動底盤和采摘機械臂,移動底盤承載所有設(shè)備和系統(tǒng)。底盤的移動功能由行走模塊實現(xiàn),該模塊包括四個左右對稱布置的無刷直流電機,可通過四輪驅(qū)動差動方式實現(xiàn)轉(zhuǎn)向,具有較高的方向精度和轉(zhuǎn)向靈活性。采摘機械臂是作業(yè)執(zhí)行機構(gòu),采用了具有較大工作空間和較高的靈活性的五自由度關(guān)節(jié)型機械臂,末端執(zhí)行器與各關(guān)節(jié)均由總線舵機驅(qū)動[1-3]。
圖2 機器人整體設(shè)計
環(huán)境感知模塊包括IMU單元(慣性測量單元)、光電顏色傳感器、灰度傳感器等,用于檢測路徑、作業(yè)環(huán)境和對象的特征信息。雖然視覺系統(tǒng)也承擔(dān)了部分環(huán)境感知功能,但本設(shè)計的機器視覺模塊是相對獨立的,核心部分由攝像頭和微處理器組成,主要功能是作業(yè)對象的定位、識別和導(dǎo)航信息的采集處理[4]。
本設(shè)計機器人選擇了一個Arduino Mega2560控制器作為主控單元,其核心部件是一個ATmega2560單片機。機器視覺模塊以Raspberry Pi微處理器為核心,視覺信息主要包括導(dǎo)航定位信息和果實的識別定位信息,由OpenMV模塊采集并傳輸至Arduino Mega2560與Raspberry Pi進(jìn)行處理[5]。
環(huán)境感知系統(tǒng)中,灰度傳感器陣列用于檢測軌跡線,以反饋關(guān)卡信息。IMU慣性傳感器模塊則用于檢測機器人方向角,以確定移動方向,作為輔助導(dǎo)航信息,用于方向校正控制。定位導(dǎo)航功能主要依賴機器視覺模塊完成,攝像頭采集到位置標(biāo)記信息,經(jīng)Raspberry Pi處理,輸出定位信息至主控制器[6]。
機器人的行走系統(tǒng)和采摘機械臂系統(tǒng)分別由直流電機和舵機驅(qū)動,其中直流電機由內(nèi)置驅(qū)動器驅(qū)動,舵機由總線舵機驅(qū)動器驅(qū)動[7]??刂葡到y(tǒng)硬件框架及選型如圖3所示。
圖3 控制系統(tǒng)硬件框架及選型
按照比賽規(guī)則,A區(qū)等間距擺放成熟的蘋果、南瓜;B區(qū)等間距混合擺放成熟與不成熟的蘋果、南瓜;C區(qū)混合擺放成熟與不成熟的西紅柿;D區(qū)等間距布置三個不同作物的收集區(qū)。比賽過程中,機器人需要盡可能多采摘成熟果蔬,并在比賽結(jié)束前盡可能準(zhǔn)確地將收獲果蔬分類后分別傾倒在不同收集區(qū),通過語音播報采摘成果,完成整個比賽。根據(jù)各關(guān)卡特點,設(shè)計了控制策略,編寫了對應(yīng)的控制程序。
依據(jù)賽方規(guī)則,結(jié)合機器自身結(jié)構(gòu),設(shè)計了相應(yīng)的控制策略。A區(qū)與B區(qū)的作業(yè)對象等距分布在路徑兩側(cè),C區(qū)分布更密集,其中A區(qū)為模擬果樹,B區(qū)、C區(qū)為模擬蔬菜。除A區(qū)外,都存在不成熟果蔬,因此針對每個關(guān)卡,設(shè)計了有針對性的控制策略。A區(qū)之外增加了視覺識別環(huán)節(jié),定位并判斷作業(yè)對象后通過機械臂實施采摘作業(yè)。
由于比賽場地在第一、四關(guān)卡布置了循跡線,第二、三關(guān)卡沒有布置循跡線,因此設(shè)計了兩套導(dǎo)航方案。一是依賴循跡線的基于循跡傳感器的導(dǎo)航策略,二是不依賴循跡線的基于視覺特征并結(jié)合IMU的定位導(dǎo)航策略。
基于循跡傳感器的導(dǎo)航系統(tǒng)是利用傳感器中光敏電阻對不同顏色反射光的對應(yīng)阻值不同,輸出不同強弱的電信號,主控板結(jié)合當(dāng)前車身姿態(tài)判斷出車身與循跡線的相對位置,并進(jìn)行調(diào)整;基于視覺特征的導(dǎo)航系統(tǒng)是在Raspberry Pi上實現(xiàn)的,通過攝像頭獲取幀緩存圖像之后,利用OpenCV的庫函數(shù)進(jìn)行圖像處理,通過模板匹配獲得完整清晰的十字標(biāo)圖像,并擬合導(dǎo)航線求解出其中心坐標(biāo);最后返回導(dǎo)航參數(shù),主控板調(diào)整電機速度和方向,完成糾偏。視覺導(dǎo)航流程如圖4所示,十字標(biāo)提取效果如圖5所示。
圖4 視覺導(dǎo)航流程
圖5 十字標(biāo)提取效果
作業(yè)過程中,機器人需要判斷作業(yè)對象的類型與成熟程度,以確定是否實施采摘。本設(shè)計用LAB顏色模型進(jìn)行顏色識別,對圖像進(jìn)行預(yù)處理后進(jìn)行HSV轉(zhuǎn)換,再對其用灰度變換和閾值分割后進(jìn)行形態(tài)學(xué)處理,最后提取出輪廓,進(jìn)行果實種類對比,識別果實的種類及成熟與否。蘋果、西紅柿圖像處理及輪廓提取的效果分別如圖6、圖7所示,對象識別的流程如圖8所示[8-9]。
圖6 蘋果圖像處理及輪廓提取效果
圖7 西紅柿圖像處理及輪廓提取效果
圖8 對象識別流程
確定作業(yè)對象可以采摘后,機器人需要控制機械臂實施作業(yè),課題組設(shè)計了基于位置的手眼協(xié)調(diào)控制方案:根據(jù)圖像提取目標(biāo)特征信息,估算出目標(biāo)物體相對于機器人末端的位姿,然后利用與期望位姿的偏差進(jìn)行反饋控制,直接在笛卡爾坐標(biāo)空間應(yīng)用較成熟的控制方法對機器人進(jìn)行控制,把視覺處理過程問題從機器人控制中分離出來,分別對二者進(jìn)行研究。手眼協(xié)調(diào)分析如圖9所示。
圖9 手眼協(xié)調(diào)分析
在正常情況下,首先需要通過一系列圖像處理及計算得到果實的空間坐標(biāo),再結(jié)合機械臂自身參數(shù),計算出各關(guān)節(jié)需轉(zhuǎn)動的角度,完成采摘作業(yè)。但這種方法的控制精度在很大程度上要依賴于從圖像到位姿的估計精度,并且需要進(jìn)行逆運動學(xué)運算,依賴于攝像機的系統(tǒng)模型、標(biāo)定精度、圖像處理等,需要較大的算力支持[10]。
受軟硬件成本限制,課題組選擇了逼近法代替計算法:通過單目攝像頭(具體什么形式型號,在前文中已經(jīng)敘述,所以此處可以不強調(diào)單目)提取出果實圖像后,經(jīng)過圖像處理和初步計算得到果實相對于機械爪掌心攝像頭畫面中心的二維平面坐標(biāo),并通過調(diào)整云臺處舵機進(jìn)行末端執(zhí)行器的二維校準(zhǔn)。再根據(jù)反饋回來的果實距離設(shè)置分層次的比例系數(shù),使得機械臂各關(guān)節(jié)角度均勻緩慢變化,直至果實距離趨近合理,完成三維校準(zhǔn),并實施采摘,視覺伺服程序流程圖如圖10所示。
圖10 視覺伺服程序流程圖
以賽方規(guī)則為基本要求,課題組設(shè)計了一款以Arduino單片機為控制核心的采摘競賽機器人,完成了行走模塊、傳感模塊、機械臂執(zhí)行模塊、機器視覺模塊和總控制模塊這五個模塊的結(jié)構(gòu)和程序設(shè)計,同時特殊的語音播報系統(tǒng)可以進(jìn)行果實收獲情況的播報。自主導(dǎo)航的行走方式和手眼協(xié)調(diào)的采摘作業(yè)方式對該類競賽具有一定參考價值,課題組設(shè)計的機器人在2021年中國機器人及人工智能大賽中獲得了該賽項冠軍,在一定程度上驗證了其可靠性。