機(jī)器人抓取方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及機(jī)器人領(lǐng)域,特別地涉及一種機(jī)器人穩(wěn)定抓取工件的方法及系統(tǒng)。
【背景技術(shù)】
[0002] 機(jī)器人飛速發(fā)展的今天,工業(yè)機(jī)器人在制造業(yè)中的應(yīng)用也越來越廣泛。如汽車及 汽車零部件制造、機(jī)械加工、電子電氣生產(chǎn)、橡膠及塑料制造、食品加工、木材與家具制造等 領(lǐng)域的自動化生產(chǎn)過程中,機(jī)器人作業(yè)發(fā)揮著重要作用。機(jī)器人對工件的抓取是制造業(yè)的 自動化生產(chǎn)中一項(xiàng)常見的任務(wù)。目前,視覺引導(dǎo)與定位技術(shù)已經(jīng)成為工業(yè)機(jī)器人獲得作業(yè) 周圍環(huán)境信息的主要手段,但目前的技術(shù)尚未提供實(shí)現(xiàn)快速穩(wěn)定抓取的方法。在工業(yè)中,機(jī) 器人抓取的過程存在抓取緩慢或不穩(wěn)定的情況,存在抓取一類工件的困難,且實(shí)時性和可 靠性不能保證。
【發(fā)明內(nèi)容】
[0003] 環(huán)境吸引域,又簡稱吸引域,定義為一個狀態(tài)集,它滿足存在一個與狀態(tài)無關(guān)的輸 入,使得系統(tǒng)從狀態(tài)集中任意狀態(tài)收斂到一個更小的狀態(tài)集。本發(fā)明提供了一種機(jī)器人抓 取方法,該方法通過視覺信息確定工件的當(dāng)前位姿,用構(gòu)建環(huán)境吸引域的方法確定穩(wěn)定抓 取目標(biāo)狀態(tài),將視覺與吸引域融合從而完成穩(wěn)定抓取操作。該方法滿足快速穩(wěn)定抓取工件 的要求,且實(shí)時性好、可靠性高,能抓取凹凸多面體工件,也可以推廣應(yīng)用于其他類型的手 爪。
[0004] 本發(fā)明的另一目的是提供一種實(shí)現(xiàn)機(jī)器人抓取的系統(tǒng),該系統(tǒng)適用制造業(yè)中工業(yè) 機(jī)器人工件抓取作業(yè),提高了機(jī)器人工作的效率,適合推廣。
[0005] 本發(fā)明的首要目的通過下述技術(shù)方案實(shí)現(xiàn):一種機(jī)器人抓取方法,包括離線階段 和在線階段。具體地,
[0006] 離線階段包括:
[0007] 步驟Sl :基于已知形狀的三維工件和四指手爪,對平面上工件的每一種可能的穩(wěn) 定狀態(tài),在手爪位于工件正上方的情況下,建立手爪與工件靜態(tài)接觸的環(huán)境約束域。
[0008] 步驟S2 :將步驟Sl建立的環(huán)境約束域分解成兩個相互獨(dú)立的子空間(^和C2,這兩 個子空間應(yīng)該滿足:子空間C1中工件的狀態(tài)變化(例如,工件沿著X軸、y軸的平移變化量 和繞z軸的旋轉(zhuǎn)變化量θ z)應(yīng)能夠通過單幅圖像的信息獲??;子空間C2應(yīng)保持原高維環(huán)境 約束域的重要特性(如約束域的數(shù)量不變和約束域最小點(diǎn)一一對應(yīng))。
[0009] 步驟S3 :對步驟S2中的子空間C2,利用極值搜索方法計(jì)算每一個約束域的最低 點(diǎn)。已經(jīng)證明的是,吸引域的最低點(diǎn)對應(yīng)著抓取穩(wěn)定的狀態(tài)。因此,子空間C2每一個吸引 域的最低點(diǎn)即對應(yīng)著一個穩(wěn)定抓取狀態(tài)。該最低點(diǎn)的領(lǐng)域即環(huán)境吸引域。這樣,就可以獲 得工件狀態(tài)與吸引域曲面之間的對應(yīng)關(guān)系,該最低點(diǎn)也是該吸引域的最低點(diǎn)。
[0010] 步驟S4 :以步驟S3中吸引域最低點(diǎn)出發(fā),通過區(qū)域增長的方法計(jì)算出每個吸引域 對應(yīng)的抓取初始方位范圍。區(qū)域增長的方法是選擇上述最低點(diǎn)作為約束域,若相鄰點(diǎn)的導(dǎo) 數(shù)小于等于零,則認(rèn)為該相鄰點(diǎn)在約束域內(nèi),然后判斷下一個相鄰點(diǎn),最后約束域會越來越 大,直到所有相鄰點(diǎn)判斷結(jié)束,約束域劃分結(jié)束。初始抓取方位是上述區(qū)域增長方法得到的 約束域內(nèi)的任意點(diǎn),在下面S8中將會用到,作用是給出機(jī)器人初始抓取位姿,指導(dǎo)機(jī)器人 抓取操作。
[0011] 在線階段包括:
[0012] 步驟S5 :通過攝像頭采集的放置在平面上的三維工件的單幅圖像,從圖像中分割 并識別出被抓取的工件。
[0013] 步驟S6 :提取工件在圖像中形成的狀態(tài)信息,確定工件的當(dāng)前狀態(tài)(包括工件在 機(jī)器人坐標(biāo)系中的位置和姿態(tài))。根據(jù)離線階段獲得的工件狀態(tài)和吸引域曲面(吸引域曲 面是吸引域的數(shù)學(xué)圖像表達(dá))之間的對應(yīng)關(guān)系,找到工件當(dāng)前狀態(tài)下對應(yīng)的吸引域曲面和 相應(yīng)的最低點(diǎn)。
[0014] 步驟S7 :以步驟S6中找到的吸引域最低點(diǎn),計(jì)算各點(diǎn)到原點(diǎn)的歐氏距離,選擇最 小的吸引域最低點(diǎn)為穩(wěn)定抓取目標(biāo)點(diǎn)。
[0015] 步驟S8 :以步驟S7選取的吸引域最低點(diǎn)為中心的約束域中選擇任意一個方位作 為抓取的初始方位,利用步驟S2中得到的子空間C1和子空間C 2的對應(yīng)關(guān)系(或稱映射關(guān) 系),給出手抓初始抓取方位。其中,"初始方位"只包含位姿的兩個參數(shù)Θ JP Θ y,利用映 射關(guān)系,可以得到位姿的第三個參數(shù)θζ,即初始抓取方位,或稱抓取初始點(diǎn)。將手爪移動到 此處,開始執(zhí)行抓取操作。
[0016] 步驟S9:選擇合適的路徑,使機(jī)器人手爪逐步由抓取初始點(diǎn)移動到達(dá)目標(biāo)點(diǎn),并 將坐標(biāo)反饋給機(jī)器人手爪,以判斷機(jī)器人是否到達(dá)吸引域的最低點(diǎn),即是否到達(dá)穩(wěn)定抓取 狀態(tài),從而完成抓取操作。
[0017] 所述步驟Sl包括以下步驟:
[0018] 步驟Sll :初始情況下,三維工件穩(wěn)定放置于水平面上,四指手爪5和工件61如附 圖3所示。建立手爪坐標(biāo)系,如附圖4所示,以兩對正交的導(dǎo)軌分別為Xg軸和y ,軸,根據(jù)右 手定則,ZjiJ垂直于X g〇gyg面向上。對四指手爪與工件靜態(tài)接觸關(guān)系進(jìn)行建模,手爪的每對 手指的距離之和與工件的位姿(即工件的空間位置和朝向)之間建立函數(shù)關(guān)系,即建立手 爪抓取工件構(gòu)形空間(在機(jī)器人操作中,采用數(shù)學(xué)的方式描述機(jī)器人及被操作對象的位置 和姿態(tài)等變量,形成的多維度空間,被稱為"構(gòu)形空間")中形成的環(huán)境約束域:
[0019] g(X) = f(0x, θγ, θζ)
[0020] 其中g(shù)(X)表示每對手指的距離之和,θχ,0y,θ ζ分別是工件繞手爪坐標(biāo)系的χ 軸、y軸、ζ軸的旋轉(zhuǎn)角度。
[0021] 所述步驟S2包括以下步驟:
[0022] 步驟S21 :由步驟Sll得到高維構(gòu)形空間為(θχ,0y,θζ,f)。當(dāng)固定一組參數(shù) θ χ,θ y,求出f ( θ χ,θ y,θ z)關(guān)于θ z取極小值時對應(yīng)θ z,從而建立θ χ,θ #|」θ z的映射 關(guān)系:
[0023] h : ( θ χ,Θ y) - θ z
[0024] 因此高維構(gòu)形空間(θ χ,Θ y,Θ z,f)可以分解成兩個相互獨(dú)立低維子空間(^和 C2。子空間(> 機(jī),./11祕*為'<,子空間(?為,州^ 的θ χ,Θ y。子空間C1的極小點(diǎn)Α( θ /,fO是當(dāng)固定θ χ= θ /,Θ y= θ /時求出f的極 小值點(diǎn),且子空間C1A Α( Θ二f〇與子空間(:2點(diǎn)Y ( θ /,θ /,f,對應(yīng)。
[0025] 步驟S22 :對三維工件放置平面上不同狀態(tài)S1, i = 1,2,…,η下,分別建立其子 空間C1的約束域表面函數(shù):Θ Zi=IllPx, 0y),i = l,2, "·,η和子空間(:2的約束域表面 函數(shù)C2Mi= ?\(θχ,Qyhi (θχ,0y)),i = l,2,···,]!,其中η是工件在平面上不同穩(wěn)定 狀態(tài)的數(shù)量。
[0026] 所述步驟S3包括以下步驟:
[0027] 步驟S31 :由步驟S22得到的約束域表面函數(shù)dpi = 1,2, ···,!!,通過極值搜索方 法計(jì)算每個約束域的最低點(diǎn)P1,, j = 1,2,…,Hl1,其中Hi1是第i個約束域曲面包含的約束 域數(shù)量。點(diǎn)Pu為該約束域的最低點(diǎn),對應(yīng)著一個穩(wěn)定抓取狀態(tài)點(diǎn)。
[0028] 所述步驟S4包括以下步驟:
[0029] 步驟S41 :由步驟S31得到的吸引域最低點(diǎn)P1,為中心,通過區(qū)域增長的方法,計(jì)算 出每個吸引域?qū)?yīng)的抓取初始方位范圍Rl jc3
[0030] 所述步驟S6包括以下步驟:
[0031] 步驟S61 :由步驟S5識別出的目標(biāo)工件,將其與數(shù)據(jù)庫中該工件的CAD模板進(jìn)行 匹配,從而確定當(dāng)前目標(biāo)工件所處的狀態(tài)SlQ。
[0032] 步驟S62 :由離線階段步驟S2得到的當(dāng)三維工件在狀態(tài)S1。時的約束域表面函數(shù) 為:山。=€1。(0^0,1。(0^0¥)),以及0 2與0^0』勺函數(shù)關(guān)系%,人(見為)》
[0033] 步驟S63:由步驟S31得到的約束域表面函數(shù)山。的吸引域最低點(diǎn)為P, / 二 L 2,...· m, ? zy
[0034] 所述步驟S7包括以下步驟:
[0035] 步驟S71 :由步驟S6得到的吸引域最低點(diǎn)%,/ …/U十算各點(diǎn) d K )到原點(diǎn)的歐氏距離:
[0037] 選取最小的Λ Dj。對應(yīng)的點(diǎn)€。.;。。
[0038] 所述步驟S8包括以下步驟:
[0039] 步驟S81 :以步驟S4找到以點(diǎn)|,。.為中心的區(qū)域A ,,選擇任意一個方位作為抓取 的初始方位(θ χ。,Θ yD)。
[0040] 步驟S82:根據(jù)步驟S6中02與θ χ,間的函數(shù)關(guān)系~= \ 計(jì)算 得心。將機(jī)器人手爪移到初始抓取方位(θχ。,0y。,Θ J,開始執(zhí)行抓取操作。
[0041] 本發(fā)明還提供了一種用于實(shí)現(xiàn)上述方法的機(jī)器人抓取系統(tǒng),包括:機(jī)器人、攝像 機(jī)、遠(yuǎn)程控制計(jì)算機(jī)、四指手爪,其中:四指手爪和攝像機(jī)固定在機(jī)器人的第六軸末端;攝 像機(jī)的像平面設(shè)為與四指手爪的手指方向垂直;以及攝像機(jī)、遠(yuǎn)程控制計(jì)算機(jī)和機(jī)器人依 次電氣連接,遠(yuǎn)程控制計(jì)算機(jī)運(yùn)行計(jì)算機(jī)程序,以控制機(jī)器人、攝像機(jī)、遠(yuǎn)程控制計(jì)算機(jī)、四 指手爪實(shí)現(xiàn)在線階段的操作??蛇x地,該系統(tǒng)還可以包括傳送帶。
[0042] 本發(fā)明的原理:本發(fā)明的