王憲倫,姜鵬鵬,馮現(xiàn)東,崔玉霞(青島科技大學 機電工程學院,山東 青島 266042)
在工作任務復雜或環(huán)境多變時,雙臂機器人與單臂機器人相比具有以下技術(shù)優(yōu)勢[1]:適用范圍廣、協(xié)作能力強、可靠性高,所以雙臂機器人應用領(lǐng)域非常廣泛。如在工業(yè)領(lǐng)域中,完成復雜的裝配作業(yè)、搬運較重的貨物、維修構(gòu)型復雜的工件等,在一些危險而惡劣的放射環(huán)境中代替人類完成不能現(xiàn)場完成的任務,如核電站維護。在服務領(lǐng)域,雙臂機器人可以較好地模擬人類行為,如醫(yī)療看護機器人可以代替護士來看護病人,養(yǎng)老機器人可以解決老年人生活中的各種不便。近幾年國內(nèi)外雙臂機器人產(chǎn)業(yè)迅速發(fā)展,例如,美國Rethink公司的Baxter[2],該機器人已在美國的一些企業(yè)進行了測試,代替人完成大量作業(yè);瑞士ABB公司的FRIDA[3-4],該項目聯(lián)合了多個世界范圍內(nèi)技術(shù)力量雄厚的高校和研究所,對機器人操作的安全性、精密性,機器人控制的柔順性等方面進行了系統(tǒng)性研究;法國Aldebaran機器人公司的NAO機器人[5-6],已經(jīng)被全球50個國家的550間頂尖高校和實驗室購買作為研究工具;北京理工大學研制的“匯童”5代機器人[7],實現(xiàn)了與人的乒乓球?qū)Υ颉?/p>
雙臂機器人技術(shù)是機器人領(lǐng)域中的研究熱點,而協(xié)調(diào)運動更是機器人領(lǐng)域中關(guān)鍵技術(shù)之一。丁希侖等將機器人協(xié)調(diào)運動分為松協(xié)調(diào)和緊協(xié)調(diào)兩種,松協(xié)調(diào)是指在同一工作空間中分別執(zhí)行各自無關(guān)的作業(yè)任務,緊協(xié)調(diào)是指在同一工作空間中執(zhí)行同一或多項作業(yè)任務。松協(xié)調(diào)過程中機械臂所需定位精度與實際應用中所要求的最小精度有關(guān),如在倒水或擰松螺絲時,協(xié)作要求的精度遠小于機器人本體定位精度,使用基于圖像的視覺伺服對機器人各構(gòu)件的加工與裝配精度要求降低,受構(gòu)件磨損的影響較小,故只需保證機器人構(gòu)件的剛性,進而大大降低了相應制造維護成本。
本研究采用基于圖像視覺伺服來實現(xiàn)NAO機器人雙臂協(xié)調(diào)運動中的松協(xié)調(diào)任務。
機械臂、工具和目標上具有一些圖像特征點,但這些特征點不通用、不易控制和識別,因此一般在關(guān)鍵的地方設置Mark點。NAO機器人能識別NAO-Mark點,但該Mark點的識別算法要求Mark點在圖像上有較大面積才能識別。而在機器人協(xié)調(diào)運動中采用的Mark點圖像面積較小,較大的圖像面積會極大的限制協(xié)調(diào)過程的運動空間。故本研究提出了一種形如NAO-Mark的標記并對該標記的編碼解碼和定位提取識別過程進行了分析與實現(xiàn)。設最外圓半徑為R,該標記的外邊采用寬度為0.2×R的環(huán)形,在環(huán)形內(nèi)將一個圓分割為n等分,并涂為黑色或白色,8等分的標記稱為Mark-8,如圖1所示。
圖1 Mark-8
Mark-8標記的編碼過程為:以任意白色與黑色的交界線開始,將一圓環(huán)逆時針等分為8份。按照逆時針順序依次編碼,若該等份為白色則置為1,反之則置為0,從左到右依次排開,再將編碼按位取反。以圖1為例,從水平的分界線開始按逆時針依次編碼得10100100,再按位取反得01011011,換算成十進制則為91。
從編碼中獲得標記旋轉(zhuǎn)不變的唯一編碼即識別碼,并將從任意編碼獲得唯一性識別碼的過程稱為解碼過程。以圖1定義輪換操作,將編碼進行左移操作得101001000,再將最前一位放到最后一位得輪換編碼01001001。可知任意8位編碼共有7個輪換編碼,取該編碼及其7個輪換編碼中最小值作為識別碼。
在含編碼標記的圖像中提取出編碼域是實現(xiàn)進一步提取的前提,而Mark-8標記其外部分割線為圓,其投影到圖像中應表現(xiàn)為圓或橢圓,故通過識別橢圓狀輪廓即可實現(xiàn)編碼域在圖像中的分割提取。本研究采用基于Canny算子的邊緣檢測法,然后對檢測到的邊緣進行初步篩選,去除長度過小的邊緣,本研究中將長度小于10的邊緣視為過小,對剩下的邊緣利用最小二乘法進行橢圓擬合。
對任意位置的橢圓,其一般方程為:
f(x,y)=x2+Axy+By2+Cx+Dy+E=0
(1)
設定構(gòu)成輪廓的點個數(shù)為N(N>5),則對輪廓點作為最小化目標進行求解與擬合即可得橢圓,如下式所示:
(2)
FITZGIBBON[8]用最小二乘法對式(1)在多種情形下的求解進行了詳細分析。由最小二乘法所求得式(1)中參數(shù)可進一步獲得擬合橢圓5個基本參數(shù):
(3)
(4)
(5)
(6)
(7)
所得橢圓中心像坐標(xc,yc)即為目標Mark點的像坐標。評估輪廓扁圓的程度,用所得橢圓短軸b的長度比上其長軸a的長度,得到的比值即b/a作為評判值。通過設定評判閾值即可將過扁的輪廓去除。
為了便于從圖像提取編碼,本研究將Mark目標區(qū)域通過透視變換變換到一個方形圖像中。利用擬合輪廓得橢圓中心(xc,yc)、長軸a、短軸b、轉(zhuǎn)角θ,同時為截取過程中不破壞橢圓輪廓,在計算中將長短軸擴大一定倍數(shù),按照如下算法即可求解出將橢圓包裹的旋轉(zhuǎn)矩形各角點坐標:
anew=a×scalar,bnew=b×scalar,xp1=xc-sin(θ)×anew-cos(θ)×bnew,
yp1=yc+cos(θ)×anew-sin(θ)×bnew,
xp2=xc+sin(θ)×anew-cos(θ)×bnew,
yp2=yc-cos(θ)×anew-sin(θ)×bnew,
xp3=2xc-xp1,
yp3=2yc-yp1,
xp4=2xc-xp2,
yp4=2yc-yp2。
因識別標記的圖像大小為100×100,旋轉(zhuǎn)矩形四角點與該圖像上4點分別對應,對應關(guān)系為:(xp1,yp1)?(0,0)、(xp2,yp2)?(100,0)、(xp3,yp3)?(100,100)、(xp4,yp4)?(0,100)。由上述4個對應點對即可求得相應的透視變換矩陣,應用該透視變換將目標區(qū)域映射到標記識別圖像中,提取的結(jié)果如圖2(a)所示。對提取圖像進行直方圖均衡化,并閾值化處理,得到結(jié)果如圖2(b)所示。
圖2 Mark-8圖像的提取結(jié)果
經(jīng)過透視變換后Mark標記的中心即橢圓的中心位于識別圖像的中心,故標記圖像中的環(huán)形部分在對數(shù)極坐標圖像中將表現(xiàn)為一條直線,而用來編碼的扇形域就會在對數(shù)極坐標圖像中形成間隔的條文。本研究對二維圖像進行變換得對數(shù)極坐標圖像。取縮放比M=20,則得到的條紋圖如圖3所示。
圖3 條文圖像
在NAO機器人松協(xié)調(diào)過程中起主要作用的是兩個機械臂的末端連桿,其上有手爪等執(zhí)行器,為了固定工件或工具還需特定夾具。在基于圖像視覺伺服過程中,并不需要正逆運動學等計算來獲取兩末端坐標系的確切描述,僅需在工件或工具上放置適當數(shù)量標記點,便可通過視覺系統(tǒng)求解得工件(或工具)坐標系。但該過程不僅對放置標記的數(shù)目有要求,且需已知各標記在工件坐標系中的三維位置。本研究提出一種解決方案:首先設計夾具來夾取工件或工具,再設計特定夾具裝到機械臂的末端,使得用該夾具夾取帶夾具的工件或工具時能保證工件或工具在末端連桿系中處于固定位姿,然后向工件或工具上添加適當數(shù)量Mark點標記,并用已標定的含視覺機械臂系統(tǒng)識別出各Mark點標記在末端坐標系中位置。同類型臂下Mark點標記位置在末端系中位置不變,即工件或工具被未視覺標定同類臂夾取時可以通過Mark點標記識別出其位姿。
本研究實現(xiàn)松協(xié)調(diào)策略的情形和方法如下:加持工件的為工件臂,加持工具的為工具臂,設工件臂上有4個標記點則在內(nèi)參已知的相機下可通過PnP問題求解在相機坐標系下工件坐標系位姿[9]。設工具臂上有一標記點稱為工具點,則機械臂的松協(xié)調(diào)過程變?yōu)槭构ぞ唿c在工件坐標系下按給定規(guī)律運動。此時工件臂位姿由規(guī)劃器獲得,使工件按指定軌跡運動。為使所求工具點為唯一空間點,至少需兩個內(nèi)參已知的相機來組成視覺系統(tǒng)。
控制流程圖如圖4所示。
(1)從各相機圖像中得到所有標記點描述及其像坐標,并用標記點識別碼從知識庫獲得該標記點的分類來判斷其屬于工件標記點還是工具標記點;(2)在各相機坐標系中用工件標記點坐標和知識庫中該點在工件坐標系下的位置來重建工件坐標系,再由工具點在工件坐標系下運動規(guī)律計算得工具點的目標位置并用相機成像模型得到工具點的目標像坐標;(3)將工具點當前像坐標和目標像坐標的差值帶入視覺伺服控制算法,求得工具臂關(guān)節(jié)角向量來控制工具臂的運動。
圖4 松協(xié)調(diào)控制圖
該實驗用NAO機器人的左右兩臂構(gòu)成雙臂機器人系統(tǒng),利用NAO機器人的下攝像機和一個固定在世界坐標系下的相機來構(gòu)成視覺系統(tǒng)。令NAO機器人的左臂為工件臂、右臂為工具臂。在工件臂末端放置四個Mark-8標記,作為工件標記。在工具臂末端放置一個Mark-8標記,作為工具點。
初始狀態(tài)下其外觀配置如圖5所示。
圖5 機器人松協(xié)調(diào)實驗環(huán)境
此時機器人頭部運動鏈的關(guān)節(jié)角向量為:[-0.006 18,-0.227 074]T;
左臂運動鏈的關(guān)節(jié)角向量為:
[0.495 4,-0.150 7,-1.023 2,-0.751 6,1.813 1]T;
右臂運動鏈的關(guān)節(jié)角向量為:
[0.638 2,0.015 3,1.060 0,0.906 6,-1.811 7]T。
兩機械臂的初始狀態(tài)在機器人下相機{BCam}和外部相機{CamPP}的圖像如圖6所示。
圖6 兩機械臂的初始狀態(tài)
初始狀態(tài)下,由Mark標記識別法可得各標記點在相機中的像坐標,如表1所示。
表1 初始狀態(tài)時各標記點在各相機中的圖像坐標
讓NAO機器人左右臂各隨機運動5次,每次運動后各機械臂的關(guān)節(jié)角如表2所示。
表2 五次隨機運動的關(guān)節(jié)角
同時從機器人下相機圖像所得各標記點的圖像坐標如表3所示。
表3 各標記點在NAO機器人下相機中的圖像坐標
求得4個工件標記點在左臂末端坐標系下的位置和工具標記點在右臂末端坐標系下的位置如表4所示。
表4 各標記點在其所屬機械臂末端坐標系中的坐標
使工具臂隨機運動10次,求得初始狀態(tài)工具臂的圖像雅克比矩陣:
由于NAO的機械臂僅有5個自由度,不能保證任意空間位姿可達,故令工件臂運動鏈關(guān)節(jié)角從[0.495 4,-0.150 3,-1.023 2,-0.751 6,1.813 1]T運動到[0.445 4,-0.070 3,-1.023 2,-0.851 6,1.713 1]T,工具點在工件坐標系下從[10.032 4,-86.666 1,75.174 5]T運動到[5.032 4,-76.666 1,75.174 5]T,則在兩個相機下理想的運動軌跡如圖7所示。
采用本研究的控制方法所得運動軌跡則如圖8所示。
圖7 理想運動軌跡
圖8 仿真運動軌跡
從圖中可以看出:該運動方案具有較高可行性,存在運動精度稍低、抖動的問題。這主要是由于仿真控制的細分數(shù)量較低,實驗中所用細分數(shù)為10,即將整個協(xié)調(diào)運動過程分成了10步來求解,導致其結(jié)果的穩(wěn)定性下降;其次所求初始狀態(tài)下圖像雅克比矩陣有一定誤差,導致在起始幾個運動過程中的誤差相對較大。提高仿真的細分數(shù)顯然能夠提高運動穩(wěn)定性,但計算次數(shù)會增加,這對應于控制過程中控制周期的縮短,進而對整個系統(tǒng)的要求都會提高。初始狀態(tài)下的雅克比矩陣的精度與采集次數(shù)及識別精度有關(guān),可以通過增加采集次數(shù)或大量學習的方法來提高。
本研究提出了一種Mark標記點的視覺識別及相對定位方法,在NAO機器人左臂末端附有4個Mark點,在右臂末端附有一個Mark點,用NAO機器人左臂模擬加持工件的機械臂,右臂模擬加持工具的機械臂,利用NAO的下相機和一個外部相機構(gòu)成視覺系統(tǒng),構(gòu)成基于圖像的協(xié)調(diào)運動環(huán)境。對基于圖像的松協(xié)調(diào)運動進行了仿真實驗,驗證該方法的可行性。該方法對精度要求較低的松協(xié)調(diào)運動任務有很大研究價值。
由于NAO機器人本身精度較低,因此在下一步研究中,需要進一步改進松協(xié)調(diào)控制方法,提高NAO機器人的定位精度,更好地完成松協(xié)調(diào)運動。
[1] 丁希侖.擬人雙臂機器人技術(shù)[M].北京:科學出版社,2011.
[2] JU Zhang-feng, YANG Chen-guang, MA Hong-bin. Kinematics modeling and experimental verification of baxter robot[C]. Proceeding of the 33rd Chinese Control Conference,Nanjing:IEEE,2014.
[3] KOCK S, VITTOR T, MATTHIAS B, et al. Robot concept for scalable, flexible assembly automation: a technology study on a harmless dual-armed robot[C].2011 IEEE International Symposium on Assembly and Manufacturing,Tampere:IEEE,2011.
[4] STOLT A, LINDEROTH M, ROBERTSSON A, et al. Force controlled robotic assembly without a force sensor[J].IEEEInternationalConferenceonRoboticsandAutomation,2012,44(8):1538-1543.
[5] SHAMSUDDIN S, ISMAIL L I, YUSSOF H, et al. Humanoid robot NAO: review of control and motion exploration[C].2011 IEEE International Conference on Control System, Computing and Engineering, Penang:IEEE, 2011.
[6] SHAMSUDDIN S, YUSSOF H, ISMAIlL L, et al. Initial response of autistic children in human-robot interaction therapy with humanoid robot NAO[J].IEEEInternationalColloquiumonSignalProcessingandItsApplications,2012,79(4):188-193.
[7] 艷 濤.匯童機器人第4、5代集體亮相[J].機器人技術(shù)與應用,2012(4):44.
[8] FITZGIBBON A, PILU M , FISHER R B. Direct least square fitting of ellipses[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,1999,21(5):476-480.
[9] 徐 德,譚 民,李 原.機器人視覺測量與控制[M].北京:國防工業(yè)出版社,2011.