許少秋,陳根良,唐楚禹
(上海交通大學(xué)機械與動力工程學(xué)院,上海 200240)
機器人技術(shù)是當(dāng)今快速發(fā)展的新興產(chǎn)業(yè),其應(yīng)用領(lǐng)域逐步從工業(yè)、農(nóng)業(yè)走向服務(wù)業(yè)、醫(yī)療和物流等[1]。人們對機器人的要求朝著智能化發(fā)展,近幾年內(nèi),機械手爪的結(jié)構(gòu)設(shè)計、控制策略以及抓取規(guī)劃成為國內(nèi)外研究的重點[2]。
機械手爪的抓取規(guī)劃指的是,以機械手爪的結(jié)構(gòu)為基礎(chǔ),根據(jù)待抓取的目標(biāo)物相關(guān)信息,計算機械手抓取目標(biāo)物時最優(yōu)的抓取姿態(tài),從而實現(xiàn)穩(wěn)定的抓取[3]。目前,采用基于物理模型的方法通常需要針對不同場景進行不同的簡化假設(shè),但隨著機械手和目標(biāo)物的形狀的復(fù)雜化,其計算方法越來越復(fù)雜[4-6]。近年來,基于深度學(xué)習(xí)的抓取規(guī)劃方法不斷發(fā)展,但這類方法需要大量的訓(xùn)練數(shù)據(jù),且其抓取模型通常較為簡單,訓(xùn)練集的標(biāo)注也需要大量人工時間[7-8]。
考慮到上述方法的缺點,本文基于傅里葉描述子對平面物體的統(tǒng)一表征,提出了一種計算抓取位姿性能評價指標(biāo)的方法,在此基礎(chǔ)上,采用優(yōu)化粒子群算法實現(xiàn)了最優(yōu)抓取點的規(guī)劃。
采集待抓取物品的圖像,并對其做如下預(yù)處理:
a.彩色圖像的灰度化和灰度調(diào)節(jié)。將3維的彩色圖像降為1維的灰度圖像。
b.圖像濾波。采用高斯濾波模板對前述圖像進行濾波,可以消除圖像中的部分噪點。
c.圖像二值化。設(shè)定圖像灰度閾值,將灰度大于該閾值的像素點設(shè)置為黑色,其余設(shè)置為白色,本文采用自動設(shè)置灰度閾值的方法。
d.圖像開運算。考慮到處理過程中背景為黑色,物體為白色,對圖像進行開運算,使得白色圖像的邊界更加連續(xù)。
在完成圖像預(yù)處理后,本文采用邊界提取效果較好的Canny算子[9]。Canny算子根據(jù)一階偏導(dǎo)的有限差分計算圖像的梯度,對梯度幅值進行非極大值抑制。完成輪廓提取后,即得到了描述圖像輪廓的散點坐標(biāo)。
計算出的輪廓散點僅能夠體現(xiàn)哪些點在圖像輪廓上,缺乏對物體輪廓連續(xù)的參數(shù)化表達,由于后續(xù)需要計算輪廓上任意抓取點的位置,因此需要將散點輪廓信息轉(zhuǎn)化為參數(shù)方程來表示輪廓信息。本文采用傅里葉描述子來實現(xiàn)物體輪廓的表征,這一描述子常用于物體分類和圖像分割。
傅里葉描述子的原理在于把平面任意閉合曲線上的1點看作無窮數(shù)目的定長向量首尾相連得到的末端,即每一后續(xù)向量均繞其前序向量末端為原點做圓周運動[10],因此可以用式(1)表示出該曲線上1點的坐標(biāo)。
(1)
Ck為圓的半徑;ek·2πit為向量繞其起始點旋轉(zhuǎn)k·2πt的角度,由于考慮圓的順時針和逆時針旋轉(zhuǎn),因此k取值范圍為[-∞,∞],其數(shù)值越大表示該向量旋轉(zhuǎn)速度越快,規(guī)定當(dāng)向量C1旋轉(zhuǎn)1圈后邊界的點回到起始點,因此t取值范圍為[0,1]。實際計算過程中無需無窮多向量,通常取正負(fù)K項作為邊界輪廓的表征,即
(2)
如圖1所示,輪廓由共5階的傅里葉描述子組成,其中,C0為該輪廓的幾何中心,其余Ck首位相連使得末端成為輪廓點。當(dāng)式(1)中t取不同值時,可表達輪廓上不同的點,圖1中標(biāo)出t取2個不同數(shù)值時末端點的位置。
圖1 傅里葉描述子
因為存在如下的積分關(guān)系有
(3)
所以式(2)中Ck的求解方法為
(4)
將式(4)由積分形式轉(zhuǎn)化為多個點的求和,即
(5)
因此采用傅里葉描述子表述輪廓方程,其參數(shù)計算方式和離散傅里葉變換有一致性,即
(6)
由此可知,當(dāng)共有N個離散的輪廓點時,最多可提取N-1階的傅里葉描述子。通過傅里葉描述子計算曲線上任意點的坐標(biāo),與離散傅里葉反變換也存在對應(yīng)性,即
(7)
需要將離散傅里葉變換中頻率在[0,N-1]的幅值X(k)轉(zhuǎn)換到傅里葉描述子中頻率在[-K,K]的幅值Ck,因為存在如下關(guān)系:
f(n)ent·2πi=f(n)e(nt-n)·2πit=
(8)
所以傅里葉描述子和離散傅里葉變換中存在的轉(zhuǎn)換關(guān)系為
(9)
為驗證傅里葉描述子對平面物體輪廓表征的可行性,本文利用抓取數(shù)據(jù)集Cornell與實拍的圖像進行驗證。實物圖像驗證流程包括:圖像采集、圖像處理、輪廓提取、傅里葉描述子計算、輪廓還原及實物對比,結(jié)果如圖2所示。
圖2 傅里葉描述子在實物圖像的驗證
由實驗結(jié)果可知,本文采用的方法可以有效提取得到物體的輪廓邊緣散點。提取參數(shù)幅值較高的正負(fù)各5階傅里葉描述子來表征物體輪廓,反變換還原的輪廓和物體真實輪廓接近程度高,證明采用傅里葉描述子可以有效反映物體輪廓形狀。
手爪抓取過程中,需要首先確定手爪接觸模型,即手指與物體具體的接觸情況。通常將接觸模型分為3種:無摩擦點接觸、有摩擦點接觸和軟手指接觸。無摩擦點接觸即僅沿著法向施加壓力;有摩擦點接觸不僅有法向壓力,還具有切向摩擦力;軟手指接觸則進一步考慮繞法向的轉(zhuǎn)矩。通常,為統(tǒng)一表達接觸模型,通常采用力螺旋基Bci∈Rp×mi和摩擦錐Ωci,其中針對空間抓取時p=6,針對平面抓取時p=3,mi為接觸點處施加的獨立力的維數(shù)[11]。如此,在接觸點坐標(biāo)系中的接觸力Fci即可用力螺旋基Bci與力的大小fci相乘來表示,即
Fci=Bcifcifci∈Ωci
(10)
在進行抓取分析時,為確定各接觸力對物體的影響,需要將接觸力轉(zhuǎn)換到物體坐標(biāo)系。假設(shè)第i個接觸坐標(biāo)系{Ci}相對于物體坐標(biāo)系{O}的位姿為goci=(poci,Roci),則該物體坐標(biāo)系中的接觸力Foi為
(11)
對于二維平面抓取,力螺旋變換矩陣為
(12)
由于同一坐標(biāo)系中的力螺旋可以疊加,因此當(dāng)有多個手指與物體接觸時,物體上的總力螺旋可以表達為各手指施加的力螺旋之和。當(dāng)共有k個手指接觸時,則{O}中的合力螺旋Fo為
Fo=G1Fc1+…+Gkfck=
(13)
定義物體的抓取映射為G:Rm→Rp,所有力的大小為fc,即存在
(14)
由此,可以用抓取映射矩陣來表示多點接觸抓取時的抓取位姿。相較于基于深度學(xué)習(xí)抓取規(guī)劃中采用手爪中心點、抓取角度和手爪開口寬度等信息來描述抓取位置,采用抓取映射的表述方式具有明確的物理含義,針對不同形狀的物體均可實現(xiàn)表征。
抓取規(guī)劃的前提是對不同的抓取位姿區(qū)分其抓取性能,第1種是“0-1”的評價方法,第2種是定量的評價方法。前者計算簡單,因為輸出僅為0(失敗)或1(成功),被基于深度學(xué)習(xí)的方法廣泛使用。深度學(xué)習(xí)方法通常通過添加噪音,將形成力封閉的概率作為抓取性能。這種采用力封閉作為基礎(chǔ)物理模型的評價,對于同樣成功的抓取位姿,缺乏更進一步的評價。本文從完備的抓取模型出發(fā),以抓取映射矩陣為基礎(chǔ),計算了一種在力-力矩空間中有物理含義的抓取性能指標(biāo)。
首先,假設(shè)每個手指施加的接觸力上限均為1即為0 (15) i為第i個接觸點;j為第i個接觸點產(chǎn)生的第j個獨立力螺旋;H()為由向量組成凸包。在無摩擦點接觸模型中,式(15)可寫為 P=H(G1…Gn) (16) Gi為抓取映射矩陣的第i列。得到凸包后,該抓取性能指標(biāo)等價于原點到該凸包各表面最小距離,直觀地可看作該凸包最大內(nèi)切球半徑[12]。如圖3所示,當(dāng)僅考慮物體抵抗平面受力Gi時,抓取性能指標(biāo)Q表示為力平面上最大內(nèi)切圓半徑。 圖3 平面受力抓取性能指標(biāo) 當(dāng)考慮空間受力時,由于3個單方向三維力能夠抵抗的任意方向最大三維力螺旋為0。圖4為3個大小范圍在[-1,1]的力螺旋Gi產(chǎn)生的立體凸包及其對應(yīng)的最大內(nèi)切球。 圖4 空間受力抓取性能指標(biāo) 基于傅里葉描述子表述的物體輪廓,計算輪廓點切向方向u和法向方向v為 (17) 分量為 (18) r(Ck)為取其實部;i(Ck)為取其虛部,T=2πit。由此,式(12)中旋轉(zhuǎn)矩陣為 (19) 本文考慮物體抵抗繞垂直于平面的軸的力矩的性能,因此凸包存在于力-力矩空間,故需要對其量綱進行統(tǒng)一。目前對力矩的處理方法仍無統(tǒng)一定論,根據(jù)文獻[13],本文選用了在能量層面有物理意義的物體的回轉(zhuǎn)半徑作為歸一化系數(shù)。基于上述公式,可以完成力-力矩空間中抓取凸包的計算,考慮平面抓取,式(16)轉(zhuǎn)換為 (20) ρ為回轉(zhuǎn)半徑;Gij為矩陣G中的元素。 本文給定某一采用三階級傅里葉描述子表述的曲線,其參數(shù)方程為 f(t)=(0.5+0.5i)e-1·2πit+ (1+1i)e0·2πit+(2+1.5i)e1·2πit (21) 本文采用4點無摩擦接觸的方式,取參數(shù)t為不同值,得到的不同抓取點位置,生成3種不同的抓取點分布,并計算其對應(yīng)的抓取映射矩陣,計算結(jié)果如圖5所示。 圖5 3種抓取點分布及其對應(yīng)抓取映射矩陣 由于每個基礎(chǔ)力螺旋均為三維向量,且凸包由多個力螺旋形成,采用逐個點搜索的方法構(gòu)建凸包計算量大且效率低,并且判斷其包絡(luò)邊界也需要較大的計算量。本文從幾何角度出發(fā),采用包絡(luò)理論的邊界推進算法,計算抓取力螺旋空間[14]。 邊界推進算法將多個基礎(chǔ)力螺旋看作依次作用、逐層包絡(luò)。假設(shè)前k個力螺旋凸包計算后,其凸多面體用Pk表示,第k+1個力螺旋作記為Λk+1,則凸多面體Pk+1可以看作是Λk+1在Pk內(nèi)部和邊界上掃略而得到的空間區(qū)域,這種產(chǎn)生凸包的方式如圖6所示。 圖6 凸包邊界推進理論 圖7 2種凸包計算方法對比 圖8 凸包頂點及面片結(jié)構(gòu) 圖9 情況或在包含的 圖10 情況或在包含的 對Pk所有頂點逐一分析,即可得到Pk+1的所有頂點以及其之間的連接關(guān)系,實現(xiàn)的凸包的邊界推進。最終,計算原點到凸包各面片的距離,取最短距離為最大內(nèi)切球半徑,即抓取性能指標(biāo),結(jié)果如圖11所示。 圖11 3種抓取點分布及其對應(yīng)凸包和抓取性能 基于3種抓取位姿,分別計算其抓取性能指標(biāo),從圖11可知,第3種的性能最佳,可以更好地抵抗外力。 粒子群算法是一種經(jīng)典的優(yōu)化算法,常用于非線性優(yōu)化問題的求解。本文采用改進粒子群算法,以抓取性能指標(biāo)為優(yōu)化目標(biāo),設(shè)計了抓取規(guī)劃方法,此方法流程如圖12所示。 圖12 抓取規(guī)劃方法流程 在更新粒子速度和位置時,傳統(tǒng)的計算方式為: (22) (23) 本文為避免該算法陷入局部最優(yōu),采用了一種動態(tài)改變慣性權(quán)重的改進粒子群方法[15]。其慣性因子計算方法為 (24) ωmax為慣性因子上限;ωmin為慣性因子下限;M為總迭代次數(shù);k為目前迭代次數(shù)。 整體算法參數(shù)設(shè)定如表1所示[16]。 表1 算法參數(shù)值 本文總體的抓取規(guī)劃流程如圖13所示。 圖13 抓取規(guī)劃流程 針對式(21)描述的曲線,采用本文提出的規(guī)劃方法,計算出其最優(yōu)位姿、抓取映射矩陣及對應(yīng)抓取性能指標(biāo)如圖14所示。 圖14 最優(yōu)抓取位姿 圖15 3種位姿與最優(yōu)位姿對比 二指平行夾持器是大多數(shù)深度學(xué)習(xí)抓取規(guī)劃算法采用的執(zhí)行機構(gòu),也是工業(yè)中常用的一種構(gòu)型,本文將提出的抓取規(guī)劃方法應(yīng)用于兩點接觸模型中進行驗證。 考慮到平面物體二指抓取需采用有摩擦點接觸模型,因此在構(gòu)造抓取映射矩陣時,本文將1個接觸力等效為平面摩擦錐2條邊界上的合力,從而可完成抓取凸包的構(gòu)建和性能指標(biāo)的計算。用2個摩擦合力代替1個摩擦點接觸時,其合力的范圍僅為真實合力范圍的1/2,然而并不影響不同抓取位姿之間的抓取性能對比。有摩擦點接觸模型等效如圖16所示,其中,左側(cè)Fz為正壓力,μFz為摩擦力最大值,陰影區(qū)域為合力的范圍;右側(cè)Fz為正壓力,f1和f2為用于構(gòu)造抓取映射矩陣的等效力,陰影區(qū)域為合力的范圍。 圖16 二指摩擦點接觸等效模型 本文在Cornell抓取數(shù)據(jù)集上進行實驗,選取該抓取數(shù)據(jù)集中近似于平面物體的圖像共154例,其典型結(jié)果如圖17所示。 圖17 二指抓取規(guī)劃結(jié)果 實驗共涉及的物品種類包括家用物品、文具、食品、洗浴用品等,在154個算例中計算成功率為87.01%,各類型規(guī)劃成功和失敗個數(shù)如表2所示。 表2 二指抓取規(guī)劃成功率(不同種類) 針對平面物體抓取,對于非異常曲面,采用四點接觸一定可實現(xiàn)力封閉抓取[11]。因此本文抓取規(guī)劃方法同樣應(yīng)用于四指夾持器的抓取規(guī)劃中,同樣在Cornell抓取數(shù)據(jù)集上進行實驗,其典型結(jié)果如圖18所示。 圖18 四指抓取規(guī)劃結(jié)果 154個算例中計算成功率為88.96%,各類型規(guī)劃成功和失敗個數(shù)如表3所示。 表3 四指抓取規(guī)劃成功率(不同種類) 分析規(guī)劃結(jié)果發(fā)現(xiàn),相較于二指手爪抓取,四指手爪的計算成功率較高,且對于如圓形、橢圓形等弧形物體,四指手爪的接觸點分布均勻,可更好地抵抗外力。 針對復(fù)雜輪廓平面物體傳統(tǒng)抓取規(guī)劃方法計算時間長,以及深度學(xué)習(xí)方法需大量數(shù)據(jù)集的問題,本文提出了一種基于傅里葉描述子的平面物體表征與抓取規(guī)劃方法。使用傅里葉描述子實現(xiàn)平面輪廓的統(tǒng)一表征,在此基礎(chǔ)上采用凸包推進算法計算力-力矩空間中抓取凸包的最大內(nèi)切球半徑作為抓取性能指標(biāo)。使用改進的粒子群算法實現(xiàn)了抓取規(guī)劃,并在二指和四指手爪模型上進行了驗證,計算成功率高。2.3 基于邊界推進算法的抓取性能指標(biāo)計算
3 抓取規(guī)劃方法與驗證
3.1 基于改進粒子群的抓取規(guī)劃方法
3.2 二指夾持器抓取規(guī)劃
3.3 四指夾持器抓取規(guī)劃
4 結(jié)束語