梁毅峰
(淮北職業(yè)技術(shù)學(xué)院,安徽 淮北 235000)
近年來,機(jī)器人的研究領(lǐng)域越來越多地被人形機(jī)器人所吸引。擬人機(jī)器人的設(shè)計(jì),構(gòu)建和應(yīng)用解決了許多有趣的研究挑戰(zhàn):雙足步行,人機(jī)交互,與非結(jié)構(gòu)化和未知環(huán)境的交互[1]。其中,如何能夠?qū)C(jī)器人的性能設(shè)計(jì)與人相同,是比較復(fù)雜的一個(gè)問題。開發(fā)人員在考慮設(shè)計(jì)問題時(shí)必須面對(duì)的挑戰(zhàn)是機(jī)器人手和手臂的設(shè)計(jì)。在設(shè)計(jì)人形機(jī)器人的手時(shí),由功能引導(dǎo)設(shè)計(jì),大量機(jī)器人設(shè)計(jì)對(duì)手指的自由度、尺寸和類似人的外觀有極高的要求。設(shè)計(jì)人體大小的輕型手臂/手部系統(tǒng),要么專注于純機(jī)械方法,要么采取一些擬人和生物靈感設(shè)計(jì)。專注于設(shè)計(jì)符合要求且可靠的人形手臂,能夠保證安全運(yùn)行,并且超長(zhǎng)待機(jī)。機(jī)器人手的有限尺寸對(duì)關(guān)節(jié)制動(dòng)器的布置有一定的影響。一般的解決方案是利用新型驅(qū)動(dòng)系統(tǒng)或流體或電纜驅(qū)動(dòng)。為了處理以人為中心的環(huán)境中的操作任務(wù),在封閉的控制回路中密集使用視覺和觸覺傳感器信息。視覺信息主要用于識(shí)別和理解物體的姿態(tài)和形狀。操縱任務(wù)的控制架構(gòu)主要目標(biāo)是協(xié)調(diào)操作的一系列行為,在傳感器運(yùn)動(dòng)協(xié)調(diào)中引入學(xué)習(xí)的思路,并從生物學(xué)中獲取靈感[2]。本文的工作目標(biāo)是開發(fā)一種幫助人類完成日常生活任務(wù)的機(jī)器人,人形、多模態(tài)以及與人合作和學(xué)習(xí)的能力。在操作方面,它包括從示范中學(xué)習(xí)和使用對(duì)象和任務(wù)的高級(jí)認(rèn)知模型的能力。
本文提出了一種適合抓取的綜合方法。該系統(tǒng)的核心思想是建立一個(gè)數(shù)據(jù)庫(kù),其中包含機(jī)器人工作空間中所有對(duì)象模型的建立。以中心事實(shí)開發(fā)兩個(gè)必要的模塊:一個(gè)能夠定位和識(shí)別物體的視覺系統(tǒng),另一個(gè)為每個(gè)物體提供抓取配置的離線抓取分析器。模塊運(yùn)算結(jié)果決定對(duì)特定對(duì)象的抓取效果[3],本文對(duì)機(jī)器人抓取系統(tǒng)進(jìn)行深入研究。在整體研究的過程中,對(duì)象和手模型的使用允許快速開發(fā)和測(cè)試多種交互操作技能。本文涉及的開發(fā)能夠處理未建模和未知對(duì)象的抓取和操縱策略。
抓取算法是抓取未知物體的典型方法,抓取算法由兩個(gè)階段組成:在第一階段,物體外表面的幾何形狀完全由獲取的圖像重建。在第二階段中,首先計(jì)算在所選全局標(biāo)準(zhǔn)下最優(yōu)的對(duì)象上的抓取點(diǎn),然后計(jì)劃并執(zhí)行機(jī)器人手的相應(yīng)軌跡。這種方法會(huì)產(chǎn)生較高的抓取質(zhì)量,因?yàn)樽罴寻盐盏脑u(píng)估是以全局方式進(jìn)行的。重建對(duì)象幾何模型所需的時(shí)間,以及執(zhí)行抓取所需的時(shí)間之和可能是相當(dāng)大的[4]。顯然,這與離線應(yīng)用程序無關(guān),但它可能是在線抓取計(jì)劃的嚴(yán)重缺陷。本文所提出的方法是并行視覺抓取算法,可以代表實(shí)時(shí)應(yīng)用的有效候選,因?yàn)榭傆?jì)算時(shí)間由重建和規(guī)劃階段的時(shí)間總和,而抓取執(zhí)行可以與之前的過程并行(見圖1)。事實(shí)上,對(duì)象模型重建和抓取計(jì)劃是獨(dú)立的過程,也可以分配給不同的計(jì)算資源,但存在的缺點(diǎn)是所實(shí)現(xiàn)的最終結(jié)果僅在局部有意義。
圖1 經(jīng)典串行算法與提出的并行視覺抓取算法
由于機(jī)器人主要是在人類設(shè)計(jì)的環(huán)境中工作,整個(gè)項(xiàng)目的方法是建立一個(gè)擬人的手臂/手指系統(tǒng),允許機(jī)器人模仿人類執(zhí)行活動(dòng)。系統(tǒng)設(shè)計(jì)的機(jī)器人擁有23個(gè)機(jī)械自由度。 從運(yùn)動(dòng)學(xué)控制的角度來看,機(jī)器人由五個(gè)子系統(tǒng)組成:頭部、左臂、右臂、軀干和移動(dòng)平臺(tái)。頭部有2個(gè)自由度,平移和傾斜,每個(gè)自由度都會(huì)配備攝像系統(tǒng)和立體聲麥克風(fēng)系統(tǒng)。每個(gè)臂都有7個(gè)DOF,手腕上配有6個(gè)DOF力傳感器。每只手都有五個(gè)手指和11個(gè)DOF(拇指3個(gè),其他4個(gè)手指2個(gè))由流體執(zhí)行器驅(qū)動(dòng)[5]。
圖2 人形機(jī)器人和手指構(gòu)型
本文描述的把握計(jì)劃系統(tǒng)的功能描述如圖2所示,人形機(jī)器人和手指構(gòu)型包括:
1. 全局模型數(shù)據(jù)庫(kù)。這是本方法的核心。它不僅包含所有對(duì)象的CAD模型,還為每個(gè)對(duì)象存儲(chǔ)一組可行的抓取模型數(shù)據(jù)庫(kù)。并且該數(shù)據(jù)庫(kù)是系統(tǒng)的不同模塊之間的接口。
2. 離線抓取分析器,它是確保對(duì)象和手的模型在模擬環(huán)境中穩(wěn)定的抓取、計(jì)算。此分析器計(jì)算的結(jié)果存儲(chǔ)在抓取數(shù)據(jù)庫(kù)中,以供其他模塊使用。
3. 通過對(duì)圖像特征及3D預(yù)建模型的識(shí)別與匹配,建立在線視覺過程。在識(shí)別目標(biāo)對(duì)象后,確定其位置和姿勢(shì)。
4. 模擬對(duì)象先明確工作場(chǎng)景中的定位,主要預(yù)先計(jì)算穩(wěn)定抓取數(shù)據(jù),然后集中選擇對(duì)該對(duì)象的抓取[6]。此種方式適用于特定的手臂/手部配置,需要充分考慮位置和方向與對(duì)象的特定姿勢(shì)和可達(dá)性條件。
圖3 描述抓取的原理圖
在大多數(shù)專門用于抓取合成的工作中,抓取被描述為物體表面上施加力/扭矩的接觸點(diǎn)組。 然而,當(dāng)考慮它們?cè)谝匀藶橹行牡沫h(huán)境中執(zhí)行時(shí),這種抓取方式存在若干缺點(diǎn)。主要缺點(diǎn)是對(duì)象信息的不準(zhǔn)確性和不確定性。由于有物體形狀的模型,這種不確定性主要來自物體的位置和移動(dòng)機(jī)器人位置的不準(zhǔn)確性[7]?;谧ト∠到y(tǒng)接觸描述,一般則要求系統(tǒng)能夠精確地到達(dá)接觸點(diǎn)并施加精確的力。由于機(jī)器人在運(yùn)行中存在力/扭矩模型的不準(zhǔn)確性,本文擬從不同的方向解決這個(gè)問題。 在本文提到的方法中,抓取是通過定性和知識(shí)的方式進(jìn)行描述,給定一個(gè)對(duì)象,將通過以下特征來描述該對(duì)象的抓取(參見圖3)。
圖4 手指成形為五種類型
1. 抓取類型:手指執(zhí)行抓取的五種類型(參見圖4)。抓取的類型具有實(shí)際后果,因?yàn)樗_定抓取執(zhí)行控制,即:手形預(yù)成形姿勢(shì),手的控制策略,手指在抓取中使用,手接近物體的方式以及接觸信息如何觸覺傳感器的解釋。
2.抓住起點(diǎn):為了接近物體,將手放在靠近它的遠(yuǎn)點(diǎn)。
3.接近方向:一旦手定位,它就會(huì)沿著這個(gè)方向接近物體,接近線由接近方向定義。
4.手部方向:可圍繞接近方向旋轉(zhuǎn)。旋轉(zhuǎn)角度由抓取配置的參數(shù)來設(shè)置。要注意所有方向都給出相對(duì)于以物體為中心的坐標(biāo)系。真實(shí)的接近方向是由描述與機(jī)器人工作空間中的局部對(duì)象姿勢(shì)匹配而產(chǎn)生的。該抓取的主要優(yōu)點(diǎn)是可以選擇描述信息簡(jiǎn)單的執(zhí)行抓取,并且更適合與諸如手臂路徑規(guī)劃的執(zhí)行模塊一起使用。
本文收集了16種不同的人手抓取手勢(shì), 描述的分類法非常完整,并且提供了很多抓取,這些抓取很難通過我們的擬人五指手來解決它的機(jī)械限制。因此,選擇了執(zhí)行的最具代表性的抓取:鉤抓、圓柱形抓取、球形抓取、捏抓和三腳架抓取。
1.鉤抓:在此抓取中,手抵抗重力。所有的手指,除拇指,形成一個(gè)鉤子,將包圍一個(gè)圓柱形物體。 手掌可能會(huì)施加與手指相反的力量。 拇指在任何情況下都不參與。
2.圓柱形抓?。核惺种竾@圓柱形物體閉合。拇指完全與其他四個(gè)手指相對(duì)。
3.球形抓取:所有手指圍繞球形物體閉合。 拇指以最大化手指覆蓋區(qū)域的方式設(shè)置。
4.捏抓:抓取的特點(diǎn)是拇指和食指尖的對(duì)立。 其余的手指不參加。 這適合于抓取薄物體。
5.三腳架抓?。涸谶@種情況下,通過拇指指尖與食指和中指尖的相對(duì)來確定抓取。這種把握對(duì)于抓取小物體很有用。
精確抓取僅意味著指尖上的觸點(diǎn),而電源抓取使用整個(gè)手表面,指尖,指骨和手掌上的觸點(diǎn)。這種差異與執(zhí)行控制器的設(shè)計(jì)有關(guān)。粗略地說,為了執(zhí)行動(dòng)力抓取,手接近物體直到與它接觸,然后閉合手指[8]。然而,在精確抓取的情況下,手指必須以一定距離閉合,僅指尖與物體接觸??紤]擬人手時(shí)的一個(gè)重要方面是如何將手與抓取起點(diǎn)和接近方向聯(lián)系起來。為此,需要為手定義抓取中心點(diǎn),定義一個(gè)必須為每只手定義的虛擬點(diǎn),并且給定抓取的參考。然后根據(jù)抓取的描述對(duì)手進(jìn)行定向和預(yù)成形,最后,它沿著接近線移動(dòng)。
抓取系統(tǒng)的一個(gè)重要特征是,工作空間中出現(xiàn)的每個(gè)對(duì)象都存在3D CAD模型。對(duì)抓取對(duì)象的不同可能性進(jìn)行廣泛的離線分析,而不是關(guān)注快速在線方法。為了實(shí)現(xiàn)這一目標(biāo),需要構(gòu)建一個(gè)手的計(jì)算機(jī)3D模型。對(duì)每個(gè)對(duì)象進(jìn)行了廣泛的分析,包括測(cè)試各種手形預(yù)成形和逼近方向。該分析在模擬環(huán)境中進(jìn)行,其中根據(jù)質(zhì)量標(biāo)準(zhǔn)評(píng)估每個(gè)測(cè)試的準(zhǔn)確度。存儲(chǔ)每個(gè)對(duì)象的最佳抓取,以便在機(jī)器人在線執(zhí)行期間使用。作為抓取模擬環(huán)境它具有一些非常方便的屬性,例如包含接觸模型、碰撞檢測(cè)算法以及導(dǎo)入,使用和定義對(duì)象和機(jī)器人模型的能力。計(jì)算3D物體穩(wěn)定抓取的方法受到前工作的啟發(fā)。離線分析遵循以下四個(gè)步驟來查找給定對(duì)象的抓?。?/p>
1.物體模型的形狀由一組基本形狀基元(盒子,圓柱體,球體和錐體)組成。有許多方法可以獲得這些原始數(shù)據(jù),但沒有設(shè)置任何生成它們的程序。
2.為對(duì)象描述原始形狀自動(dòng)生成一組候選抓取。抓取候選者包括手型,抓取起始點(diǎn),接近方向和手部方向。對(duì)于每個(gè)對(duì)象,都存在一組預(yù)定義的抓取類型和接近方向。
3.在模擬環(huán)境中測(cè)試每個(gè)抓取候選者。將手放在抓取起始點(diǎn)并根據(jù)接近方向和手的方向定向,然后,根據(jù)抓取類型對(duì)手進(jìn)行預(yù)成形。對(duì)于功率和精度要求的抓取,接近階段是不同的。對(duì)于有動(dòng)力要求的抓取,手沿著接近方向移動(dòng)直到它接觸物體,然后將其關(guān)閉并評(píng)估抓取的質(zhì)量。如果質(zhì)量低于特定閾值,則手打開,退回一步并再次關(guān)閉。重復(fù)該順序,直到達(dá)到最大穩(wěn)定性測(cè)量。在精確抓取的情況下,設(shè)計(jì)了不同的測(cè)試:1)手在抓取起始點(diǎn)預(yù)成形;2)保持關(guān)閉如果存在與物體的接觸則評(píng)估抓??;3)再次打開并移動(dòng)向前邁出一步;4)重復(fù)步驟2和3,直到達(dá)到最大穩(wěn)定性或達(dá)到最大步數(shù)。按照此程序,確保指尖是第一次接觸完成的。存儲(chǔ)手的最終位置和獲得的質(zhì)量。
4.最后,對(duì)超過最小閾值的所有最終抓取進(jìn)行排序和存儲(chǔ)。
圖5 通過抓取計(jì)劃產(chǎn)生兩個(gè)抓取的例子
重新設(shè)計(jì)了適應(yīng)模型。作為評(píng)估抓取質(zhì)量的指標(biāo),使用合適的力度擾動(dòng)扳手的大小,可以通過抓取單位強(qiáng)度來抵抗。以抓取啤酒瓶和雞蛋兩個(gè)例子來完成設(shè)計(jì)示于圖5中。抓住數(shù)據(jù)庫(kù):存儲(chǔ)著為每個(gè)對(duì)象計(jì)算的所有穩(wěn)定抓取數(shù)據(jù)在數(shù)據(jù)庫(kù)中,以供執(zhí)行模塊使用。存儲(chǔ)的每個(gè)把柄包括抓取類型,抓取開始點(diǎn),手的方向,接近的方向和質(zhì)量從模擬中獲得的測(cè)量值。該值用于其他模塊為給定對(duì)象選擇最佳抓取。
現(xiàn)實(shí)場(chǎng)景中應(yīng)用的人形機(jī)器人視覺系統(tǒng)的所有組件必須滿足最少數(shù)量的要求[9]。在本文提出的抓取系統(tǒng)的特定環(huán)境下,主要約束條件如下:1)當(dāng)以任意方式接近場(chǎng)景時(shí),機(jī)器人必須能夠識(shí)別和定位任意場(chǎng)景中的對(duì)象;2)對(duì)象的識(shí)別需要保證對(duì)3D旋轉(zhuǎn)和平移無任何影響,對(duì)象放置在場(chǎng)景中旋轉(zhuǎn)與平移不影響任何操作;3)對(duì)象必須相對(duì)于世界坐標(biāo)系中的3D剛性模型在6D(位置+方向)中定位,計(jì)算出的3D姿勢(shì)是至關(guān)重要的;4)計(jì)算必須實(shí)時(shí)進(jìn)行。
圖6 由導(dǎo)線模型建模的對(duì)象的例證
基于模型的對(duì)象跟蹤算法是以基于對(duì)象的相對(duì)簡(jiǎn)單的CAD線模型為背景,如圖6中所示。使用此類模型,開始和結(jié)束線點(diǎn)可以非常有效地投射到圖像平面中,允許以相對(duì)較低的計(jì)算量實(shí)時(shí)跟蹤對(duì)象。然而,這些系統(tǒng)的限制顯然是他們可以處理的形狀。大多數(shù)真實(shí)的被抓取對(duì)象,例如杯子、盤子和瓶子,都不能以這種方式表示。當(dāng)看到具有復(fù)雜形狀的物體時(shí),被描述模型變得清晰,如水杯三維模型(見圖7)。
圖7 一個(gè)水杯的三維模型的圖解
將這樣的對(duì)象表示為3D模型的唯一實(shí)用方法是通過相對(duì)大量的多邊形來近似其形狀。為了計(jì)算這種模型在圖像平面中的投影,必須執(zhí)行渲染引擎所做的相同的計(jì)算。但是更高的計(jì)算成本使得基于模型的通用方法無法實(shí)施,從概念的角度來看,算法也無法擴(kuò)展到復(fù)雜的形狀??梢杂弥本€和偶數(shù)平面表示的對(duì)象具有每個(gè)屬性的特性。對(duì)象的邊緣由模型中的直線表示用于匹配。一旦物體具有彎曲表面,情況就不再相同。多邊形的邊緣不對(duì)應(yīng)于可能的可見邊緣。對(duì)于任意3D對(duì)象模型的純粹基于模型的方法將花費(fèi)超過5分鐘來分析一個(gè)潛在區(qū)域,具有三個(gè)對(duì)象的數(shù)據(jù)庫(kù)。
本方法結(jié)合了基于模型和全局外觀基礎(chǔ)方法的優(yōu)點(diǎn),用于對(duì)象識(shí)別和本地化。使用紋理特征的基于外觀的局部方法變得非常流行[10]。然而,這些方法僅適用于充分紋理化的物體,對(duì)于整體系統(tǒng)的預(yù)期應(yīng)用而言,這通常不適用于感興趣的物體[11]。 本文提出了一個(gè)系統(tǒng),該系統(tǒng)可以在給定對(duì)象的3D模型的情況下自動(dòng)構(gòu)建基于外觀的識(shí)別和定位的對(duì)象表示。通過立體視覺確定對(duì)象位置的初始估計(jì),而通過檢索生成識(shí)別視圖的旋轉(zhuǎn)來確定方向的初始估計(jì)。進(jìn)行多次校正計(jì)算以進(jìn)行精確定位,通過以下步驟給出整體算法的概要。
圖8 紅色和綠色的顏色分割結(jié)果的例證
1)在兩個(gè)圖像中執(zhí)行顏色分割;2)使用連通分量算法確定顏色斑點(diǎn);3)匹配左右圖像中基于其屬性和極線幾何的斑點(diǎn);4)計(jì)算每個(gè)匹配的blob;5)對(duì)立體三角測(cè)量計(jì)算位置的初始估計(jì);6)計(jì)算PCA固有空間的近鄰來確定最佳匹配視圖;7)檢索所識(shí)別的匹配存儲(chǔ)旋轉(zhuǎn)來確定方向的初始估計(jì);8)應(yīng)用中提出的姿勢(shì)校正公式;9)通過比較blob的大小和預(yù)期大小來驗(yàn)證有效性,該大小是根據(jù)計(jì)算出的姿勢(shì)和對(duì)象模型確定的。
正如圖8中所展示的那樣,系統(tǒng)非常強(qiáng)大,能夠準(zhǔn)確、可靠、實(shí)時(shí)識(shí)別和定位測(cè)試環(huán)境中的對(duì)象。在3 GHz CPU上識(shí)別和定位一個(gè)潛在區(qū)域大約需要5 ms,其中包含五個(gè)對(duì)象的數(shù)據(jù)庫(kù):杯子,帶手柄的杯子,量杯,盤子和小碗。
圖9 對(duì)示例性場(chǎng)景的識(shí)別和定位結(jié)果
如圖9所示,對(duì)示例性場(chǎng)景的識(shí)別和定位結(jié)果。左:左輸入圖像。右圖:結(jié)果的三維可視化。視覺部分,主要目的是能夠處理任何復(fù)雜形狀的物體,而大多數(shù)方法只能處理平面物體。方法的另一個(gè)目的是自動(dòng)和離線計(jì)算抓取,不需要人工操作員。在現(xiàn)實(shí)環(huán)境中添加這些功能,自動(dòng)抓取確保方法更加完整和自主。
本文提出了一種綜合方法,包括具有視覺對(duì)象識(shí)別系統(tǒng)的離線抓取計(jì)劃系統(tǒng)。這兩個(gè)集成的模塊抓取被數(shù)據(jù)庫(kù)描述的對(duì)象提供支撐[12]。本文介紹的內(nèi)容只是大操縱系統(tǒng)的一部分,還需要構(gòu)建一些模塊,以便執(zhí)行任何計(jì)算的抓取。保證在任何情況下都可以使用幾個(gè)抓取候選者。選擇任務(wù)和執(zhí)行條件的模塊是必要的。一旦選擇了抓取,就需要手臂運(yùn)動(dòng)規(guī)劃器來移動(dòng)手根據(jù)抓取描述和對(duì)象姿勢(shì)到預(yù)備位置[13]。 另外,還需要開發(fā)一個(gè)利用觸覺和視覺反饋執(zhí)行抓取的模塊。
本文提出了利用多指機(jī)器人快速視覺抓取未知物體的方法。方法是基于對(duì)象模型數(shù)據(jù)庫(kù)的使用,該數(shù)據(jù)庫(kù)包含可以出現(xiàn)在機(jī)器人工作空間中的所有對(duì)象的描述。包含兩個(gè)使用此對(duì)象表示的模塊,一個(gè)是詳盡的離線抓取分析系統(tǒng)和一個(gè)實(shí)時(shí)立體視覺系統(tǒng)。離線抓取分析系統(tǒng)通過采用仿真系統(tǒng)以及對(duì)象的CAD模型和五指手來確定對(duì)象的最佳抓取。使用適合于執(zhí)行模塊的要求的描述將該分析的結(jié)果添加到對(duì)象數(shù)據(jù)庫(kù)中。立體攝像系統(tǒng)用于使用基于外觀和基于模型的方法的組合的實(shí)時(shí)對(duì)象定位。
該算法由物體表面重建算法和局部抓取規(guī)劃器組成,重建算法利用由機(jī)器人手臂攜帶的相機(jī)拍攝的圖像。所提出的方法由迭代對(duì)象的表面重建算法和局部最優(yōu)抓取規(guī)劃器組成,以同步并行方式演化。該方法被稱為并行視覺抓取,顯示了所提方法的有效性??傆?jì)算時(shí)間由重建和計(jì)劃階段之間的較慢給出,而抓取執(zhí)行可以與這些過程并行開始。不同的組件集成在控制器架構(gòu)中,以實(shí)現(xiàn)人形機(jī)器人的操作任務(wù)目標(biāo)。