劉力維
(北京信息職業(yè)技術(shù)學(xué)院,北京 100018)
近幾年來,隨著“中國(guó)制造2025”的啟動(dòng)和人工智能的發(fā)展,國(guó)內(nèi)的各行各業(yè)出現(xiàn)了越來越多機(jī)器人的身影,如機(jī)器人醫(yī)生、機(jī)器人快遞員、機(jī)器人服務(wù)生、農(nóng)業(yè)機(jī)器人等。相較于過去人們印象中“身軀笨拙、只能做簡(jiǎn)單工作”的機(jī)器人,現(xiàn)在機(jī)器人的身手越來越靈活,落地應(yīng)用場(chǎng)景也日益豐富。目前,我國(guó)是全球水果第一生產(chǎn)大國(guó),果園種植面積也在不斷擴(kuò)大,水果的采摘需要大量勞動(dòng)力,采摘機(jī)器人的需求也在日益提高。為此,設(shè)計(jì)了基于嵌入式和機(jī)器視覺的采摘機(jī)器人機(jī)械臂運(yùn)動(dòng)控制與目標(biāo)抓取系統(tǒng),旨在實(shí)現(xiàn)對(duì)目標(biāo)水果的定位識(shí)別和采摘。
采用嵌入式平臺(tái)設(shè)計(jì)采摘機(jī)器人機(jī)械臂研究平臺(tái),實(shí)現(xiàn)包括目標(biāo)識(shí)別、運(yùn)動(dòng)控制、避障運(yùn)動(dòng)和目標(biāo)抓取的控制。采摘機(jī)器人機(jī)械臂研究平臺(tái)的結(jié)構(gòu)如圖1所示。
為了實(shí)現(xiàn)對(duì)采摘機(jī)器人機(jī)械臂的運(yùn)動(dòng)控制與目標(biāo)抓取,設(shè)計(jì)了如圖2所示的控制處理流程圖。采摘機(jī)器人機(jī)械臂主要是利用圖像處理、目標(biāo)定位重構(gòu)和機(jī)械臂運(yùn)動(dòng)控制3個(gè)模塊,實(shí)現(xiàn)對(duì)目標(biāo)物體的抓取。其中,圖像處理模塊是通過機(jī)器相機(jī)獲取目標(biāo)物體的圖像,利用圖像處理技術(shù)對(duì)圖像進(jìn)行噪聲消除、目標(biāo)檢測(cè)等處理;目標(biāo)三維重構(gòu)是將圖像處理模塊求解的目標(biāo)物位姿等信息進(jìn)行三維重組,結(jié)合相機(jī)標(biāo)定、物體和采摘機(jī)器臂的空間幾何關(guān)系,得到其空間坐標(biāo)信息;機(jī)械臂運(yùn)動(dòng)控制模塊獲取到目標(biāo)物體的空間坐標(biāo),對(duì)機(jī)器臂進(jìn)行運(yùn)動(dòng)規(guī)劃,實(shí)現(xiàn)對(duì)目標(biāo)物體的抓取。
圖1 采摘機(jī)器人機(jī)械臂研究平臺(tái)的結(jié)構(gòu)圖Fig.1 The structure diagram of the research platform for the mechanical armof the picking robot
圖2 系統(tǒng)控制處理流程圖Fig.2 The flow chart of system control processing
為了實(shí)現(xiàn)對(duì)目標(biāo)物體的識(shí)別和定位,采用位置式的視覺定位系統(tǒng),結(jié)構(gòu)如圖3所示。
圖3 視覺定位系統(tǒng)結(jié)構(gòu)圖Fig.3 The structure diagram of visual positioning system
為了從第一視覺獲取目標(biāo)物體相對(duì)于采摘機(jī)械臂的空間位置,將相機(jī)安裝固定在采摘機(jī)械臂上,嵌入式平臺(tái)通過對(duì)采集到的目標(biāo)圖像進(jìn)行計(jì)算和分析,結(jié)合坐標(biāo)轉(zhuǎn)換計(jì)算出相對(duì)于采摘機(jī)械臂的坐標(biāo)位置,再根據(jù)機(jī)械臂的實(shí)際位置設(shè)計(jì)出機(jī)械臂采摘該目標(biāo)物體的運(yùn)動(dòng)軌跡,傳遞給運(yùn)動(dòng)控制系統(tǒng),實(shí)現(xiàn)對(duì)目標(biāo)物體的采摘。
采摘機(jī)器人機(jī)械臂的驅(qū)動(dòng)控制實(shí)際上是對(duì)多個(gè)自由度關(guān)節(jié)上的伺服電機(jī)進(jìn)行控制,包括速度、轉(zhuǎn)矩、位置控制3種方式。結(jié)合應(yīng)用需要,筆者采用位置控制模式,其控制結(jié)構(gòu)如圖4所示。采摘機(jī)器人機(jī)械臂運(yùn)動(dòng)控制系統(tǒng)是一個(gè)半閉環(huán)的控制系統(tǒng),系統(tǒng)通過實(shí)時(shí)采集伺服電機(jī)內(nèi)部位置傳感器的轉(zhuǎn)角、轉(zhuǎn)速信息到嵌入式微處理器,實(shí)現(xiàn)對(duì)電機(jī)轉(zhuǎn)角位置進(jìn)行精確的計(jì)算。
圖4 采摘機(jī)器人機(jī)械臂運(yùn)動(dòng)控制系統(tǒng)結(jié)構(gòu)圖Fig.4 The structure diagram of manipulator motion control system of picking robot
為了對(duì)采摘機(jī)器人目標(biāo)物體的識(shí)別和定位進(jìn)行分析,以蘋果作為采摘目標(biāo),根據(jù)實(shí)際需求將蘋果作為待定位的物體,對(duì)蘋果的中心進(jìn)行定位,如圖5所示。目標(biāo)物體識(shí)別與定位流程為:①目標(biāo)物體圖像預(yù)處理;②目標(biāo)物體輪廓提取與識(shí)別;③求解目標(biāo)圖像坐標(biāo)。
圖5 蘋果目標(biāo)圖像Fig.5 Apple target image
1)目標(biāo)物體圖像預(yù)處理。目標(biāo)物體圖像預(yù)處理主要是為了消除相機(jī)在拍攝過程中引入的環(huán)境噪聲,對(duì)有用的信息進(jìn)行增強(qiáng)操作,簡(jiǎn)化圖像數(shù)據(jù),提高圖像算法處理效率。目標(biāo)物體圖像預(yù)處理流程包括灰度化、高斯濾波、二值化、閉運(yùn)算和開運(yùn)算等。二值化后的蘋果圖如圖6(a)所示。
2)目標(biāo)物體輪廓提取與識(shí)別。目標(biāo)物體的圖像經(jīng)過預(yù)處理后,會(huì)開始顯現(xiàn)出清晰的輪廓。采用界跟蹤算法Suzuki 85對(duì)二值圖像邊界進(jìn)行提取,在OpenCV的計(jì)算函數(shù)為FindContours( ),獲取到的目標(biāo)輪廓如圖6(b)所示。
圖6 蘋果目標(biāo)圖像處理Fig.6 The image processing of apple target
提取到目標(biāo)物體的邊緣輪廓后,會(huì)有很多無用的甚至是影響識(shí)別的輪廓信息,為了得到目標(biāo)物體的輪廓和實(shí)現(xiàn)定位,還需要從眾多目標(biāo)輪廓中進(jìn)行辨識(shí)。在此,采用輪廓特征(包括輪廓面積、最小外接矩形長(zhǎng)寬比、輪廓面積與最小外接矩形面積比等)為辨識(shí)條件實(shí)現(xiàn)對(duì)蘋果輪廓的識(shí)別。
3)求解目標(biāo)圖像坐標(biāo)。假設(shè)蘋果的中心點(diǎn)和質(zhì)心坐標(biāo)一致,可以通過求出蘋果輪廓的中心點(diǎn)獲得其中心像素坐標(biāo),從而實(shí)現(xiàn)對(duì)蘋果目標(biāo)的定位。首先,計(jì)算出蘋果圖像的輪廓矩,尺寸M×N的圖像f(i,j),其p+q階的幾何矩陣mpq的計(jì)算表達(dá)式為
(1)
其中,當(dāng)p=q=0時(shí),m00為零階矩,表示輪廓內(nèi)白色區(qū)域像素之和,也就是整個(gè)輪廓的總像素面積;當(dāng)p=1、q=0時(shí),m10為一階矩,表示白色區(qū)域像素的x坐標(biāo)值之和;當(dāng)p=0、q=1時(shí),m01為一階矩,表示白色像素的y坐標(biāo)值和。那么,可以求出圖像質(zhì)心(i,j)的坐標(biāo)為
(2)
通過以上方法計(jì)算出目標(biāo)物體輪廓的質(zhì)心,得到其中心點(diǎn)坐標(biāo),便可以根據(jù)相機(jī)標(biāo)定的關(guān)系求出其在世界坐標(biāo)系中的空間坐標(biāo)。
采摘機(jī)器臂包括跟蹤式和攔截式兩種目標(biāo)物體抓取的方法。前者是針對(duì)靜止中的目標(biāo),通過機(jī)械臂對(duì)目標(biāo)進(jìn)行實(shí)時(shí)跟蹤,在此過程中不斷測(cè)量目標(biāo)物體的位置和姿態(tài),直到機(jī)械臂末端和物體之間的誤差為0;后者則是針對(duì)移動(dòng)中的目標(biāo),根據(jù)目標(biāo)物體的移動(dòng)速度對(duì)機(jī)械臂末端的抓取位置進(jìn)行預(yù)測(cè),從而控制機(jī)械臂進(jìn)行理想的抓取。
由于采摘機(jī)械臂在抓取過程中,需要主動(dòng)避開樹枝等障礙物,因此結(jié)合系統(tǒng)需求選擇跟蹤式和攔截式相結(jié)合的抓取方式。在對(duì)采摘目標(biāo)跟蹤過程中,當(dāng)出現(xiàn)障礙物時(shí)會(huì)先采用攔截式的方法逐漸逼近目標(biāo)物;而當(dāng)采摘機(jī)械臂和目標(biāo)物體之間的距離和誤差較小時(shí),便開始采用跟蹤式的方式進(jìn)行抓取。目標(biāo)物體抓取流程如圖7所示。
圖7 目標(biāo)物體抓取流程圖Fig.7 The flow chart of target object grabbing
采摘機(jī)器臂的運(yùn)動(dòng)控制是抓取目標(biāo)物體的核心,主要任務(wù)是在采摘機(jī)器人的工作空間中控制采摘機(jī)器臂,完成姿態(tài)、運(yùn)動(dòng)軌跡和目標(biāo)物體的抓取。常用的機(jī)器人運(yùn)動(dòng)軌跡方法包括蜂群、人工勢(shì)場(chǎng)、模擬退火等算法,這些算法在進(jìn)行軌跡求優(yōu)過程中需要對(duì)采摘機(jī)器人機(jī)器臂進(jìn)行建模,隨著自由度的增加會(huì)大大增加計(jì)算量。由于嵌入式平臺(tái)計(jì)算能力有限,這樣會(huì)導(dǎo)致路徑搜索效率比較低。
因此,采用快速隨機(jī)搜索樹(Rapid-Xploration Random Tree,RRT)對(duì)算法采摘機(jī)器臂運(yùn)動(dòng)軌跡進(jìn)行規(guī)劃,基本思路是:將采摘機(jī)器臂末端執(zhí)行器作為搜索樹的根節(jié)點(diǎn),按照特定的標(biāo)準(zhǔn)確定搜索樹上的1個(gè)已知的節(jié)點(diǎn),搜索標(biāo)準(zhǔn)是設(shè)定采摘機(jī)器臂路徑規(guī)劃的約束條件,再對(duì)已知的節(jié)點(diǎn)進(jìn)行大量擴(kuò)展,直到找到采摘的目標(biāo)點(diǎn)。RRT算法通過選擇隨機(jī)的采樣點(diǎn)使得機(jī)械臂向先前沒有搜索到的區(qū)域進(jìn)行搜索,可以不斷完善搜索樹。該算法具有搜索能力強(qiáng)、速度快的特點(diǎn),能夠滿足多自由度采摘機(jī)械臂對(duì)實(shí)時(shí)性的要求。RRT算法的常用步驟如下:
1)初始化采摘機(jī)械臂作業(yè)環(huán)境,設(shè)定起點(diǎn)Xinit、終點(diǎn)Xgoal和機(jī)械臂規(guī)劃區(qū)域。
2)在機(jī)械臂規(guī)劃的區(qū)域內(nèi),隨機(jī)生成一個(gè)采樣點(diǎn)Xrand。
3)在所建立的樹中,尋找隨機(jī)采樣點(diǎn)Xrand最近的節(jié)點(diǎn)Xnear。
4)根據(jù)樹的生長(zhǎng)特點(diǎn),連接Xrand最近的節(jié)點(diǎn)Xnear,設(shè)定這個(gè)方向?yàn)闃涞纳L(zhǎng)方向,并設(shè)定樹的生長(zhǎng)步長(zhǎng)StepSize,讓樹StepSize以朝著生長(zhǎng)方向生長(zhǎng),每個(gè)步長(zhǎng)產(chǎn)生一個(gè)新的節(jié)點(diǎn)Xnew。
5)判斷生長(zhǎng)過程中的連接線是否存在障礙物:若有,放棄這一節(jié)點(diǎn);否則,將新的節(jié)點(diǎn)添加進(jìn)來,一直重復(fù)以上步驟,直到新產(chǎn)生的節(jié)點(diǎn)距離Xgoal小于步長(zhǎng)StepSize,停止樹的增長(zhǎng),連接該節(jié)點(diǎn)和終點(diǎn)Xgoal。
RRT算法規(guī)劃的路徑花費(fèi)較大、彎折會(huì)比較多,如果直接采用RRT算法規(guī)劃的路徑來控制采摘機(jī)械臂,會(huì)讓采摘機(jī)械臂在作業(yè)過程中出現(xiàn)速度和加速度突變的情況,造成機(jī)械臂振動(dòng)過大,故采用稀疏節(jié)點(diǎn)產(chǎn)生機(jī)制對(duì)RRT算法進(jìn)行優(yōu)化,如圖8所示。
圖8 基于稀疏節(jié)點(diǎn)方式的RRT算法流程Fig.8 The RRT algorithm flow based on sparse node mode
圖9 基于稀疏節(jié)點(diǎn)方式優(yōu)化后的路徑示意圖Fig.9 The schematic diagram of optimized path based on sparse node mode
為了驗(yàn)證采摘機(jī)器人機(jī)械臂的運(yùn)動(dòng)控制與目標(biāo)抓取的準(zhǔn)確度,進(jìn)行了實(shí)際的抓取試驗(yàn)。為了避免環(huán)境因素的干擾,采用抓取靜止蘋果目標(biāo)的方案。定位和采摘結(jié)果如表1所示。
表1 定位和采摘結(jié)果
由表1可以看出,采摘機(jī)器人對(duì)目標(biāo)蘋果的識(shí)別和定位準(zhǔn)確度比較高。雖然定位存在誤差,但成功采摘率達(dá)到了100%,具有一定的準(zhǔn)確性和穩(wěn)定性。
為了實(shí)現(xiàn)對(duì)水果目標(biāo)的定位和采摘,基于嵌入式和圖像處理技術(shù),引入RRT算法,設(shè)計(jì)和實(shí)現(xiàn)了基于嵌入式和機(jī)器視覺的采摘機(jī)器人機(jī)械臂運(yùn)動(dòng)控制與目標(biāo)抓取系統(tǒng)。采摘試驗(yàn)結(jié)果表明:系統(tǒng)對(duì)蘋果的識(shí)別和定位準(zhǔn)確度比較高,成功采摘率達(dá)到了100%,具有一定的準(zhǔn)確性和穩(wěn)定性。